Pyautogui windows 10 serverdə disconnectdən sonra konsolda xəta verib bağlanır

Salam. Python kodumda pyautogui var ve problemsiz işləyir windows 10 serverdə. Amma proqram rdpden çixsam belə işləməsi üçün oturumu konsola keçirib disconnect edirem. Proqram xəta verib bağlanir.
Xəta belədi:
Program terminated: screen grab failed
Traceback (most recent call last):
File “C:\Python311\Lib\site-packages\pyautogui\__init__.py”, line 213, in locateOnScreen
File “C:\Python311\Lib\site-packages\pyscreeze\__init__.py”, line 144, in wrapper

rdp-den çıxıb oturumu konsola daşımaq uçun istifade etdiyim bat
@ %windir%\System32\tscon.exe 2 /dest:console
@ %windir%\System32\tscon.exe 3 /dest:console
1 yoxdu, 0-da da sistem faylları işleyir, pyautogui yoxdu orda

5 gün evvel bu kod işleyirdi disconnectdən sonra, amma onda da proqramin sonunda pyautogui.press(‘f5’) istifade olunurdu her 10 deqiqede bir. Onda xeta verib bağlanirdi python proqram. Problem nə ilə bağlı ola bilər? Necə həll edə bilərəm?


Kateqoriya: Sual . , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (3 cavab var)

(13:49, 22/07/2025 ) #79974

Salam. Pyautogui və pyscreeze kitabxanaları ekran görüntüsünü almaq üçün istifadə edilir, lakin bu kitabxanalar Remote Desktop Protocol (RDP) ilə əlaqəli problemlərlə üzləşə bilər. Bu problemi həll etmək üçün bir neçə yanaşma təklif edə bilərəm:

  • RDP əvəzinə VNC istifadə edin: RDP ilə əlaqəni kəsdikdə ekran sessiyası bağlanır, bu da pyautogui-nin ekran görüntüsünü almasına mane olur. Bunun əvəzinə, VNC kimi alternativ bir uzaq masaüstü həlli istifadə edə bilərsiniz.
  • Pyautogui və ya pyscreeze kitabxanalarını yeniləyin: Bəzən, yeni versiyalar daha yaxşı dəstək və düzəlişlər təmin edə bilər. Python paketlərinizi yeniləmək üçün aşağıdakı əmri istifadə edə bilərsiniz:
    pip install --upgrade pyautogui pyscreeze
  • Başqa bir ekran sessiyası yaradın: RDP-dən ayrılmadan əvvəl yeni bir ekran sessiyası yaradaraq problemi həll edə bilərsiniz. Bu, ekranın aktiv qalmasını təmin edə bilər.
  • Başqa bir kitabxana istifadə edin: Ekran görüntüsünü almaq üçün başqa bir kitabxana istifadə edə bilərsiniz. Məsələn, Pillow kitabxanası ekranın vəziyyətini yoxlamaq üçün alternativ ola bilər.
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(19:33, 22/07/2025 ) #79975

Hem python hem de pyautogui və pyscreeze son versiya yükleyende hemkomputerimde, hem de serverde xeta verir. Python 3.11.6 ile pip install keyboard==0.13.5 kiwisolver==1.4.8 lazy_loader==0.4 matplotlib==3.10.3 MouseInfo==0.1.3 mtm==1.0.0 networkx==3.5 numpy==1.24.3 opencv-python==4.7.0.72 packaging==25.0 pillow==11.2.1 pip==25.1.1 PyAutoGUI==0.9.53 PyGetWindow==0.0.9 PyMsgBox==1.0.9 pyparsing==3.2.3 pyperclip==1.9.0 PyRect==0.2.0 PyScreeze==0.1.27 pytesseract==0.3.9 python-dateutil==2.9.0 pytweening==1.2.0 scikit-image==0.25.2 scipy==1.15.3 setuptools==65.5.0 shapely==2.1.1 six==1.17.0 tifffile==2025.5.26 istifade edende xetasız işleyir, ancaq konsola atanda xeta verib dayanır.

“Başqa bir ekran sessiyası yaradın: RDP-dən ayrılmadan əvvəl yeni bir ekran sessiyası yaradaraq problemi həll edə bilərsiniz. Bu, ekranın aktiv qalmasını təmin edə bilər.” Bunu daha aydın izah edə biərsiz zəhmət olmasa. Necə edim?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (23:29, 22/07/2025 ) #79976

    Problem RDP sessiyasından ayrıldıqda Windows-un GUI sessiyasını deaktiv etməsidir — bu zaman pyautogui.screenshot() və ya locateOnScreen() kimi funksiyalar ekran görüntüsünü ala bilmir və xəta verir. tscon ilə konsola keçmək də GUI aktiv saxlanılmadığı üçün problemi həll etmir.

    Çözüm:

    Yeni bir ekran sessiyası yaratmaq dedikdə məqsəd: Windows-da “fiziki olaraq oturmuş istifadəçi” sessiyasını aktiv saxlamaq və pyautogui ilə işləyə bilən görünən bir masaüstü mühiti yaratmaqdır.

    Bunun üçün aşağıdakılar mümkündür:

    1. VNC Server istifadə edin (məs: TightVNC, UltraVNC):
    VNC sessiyası RDP-dən fərqli olaraq disconnect olanda GUI aktiv qalır.

    pyautogui VNC içindəki ekranı görə bilir və problemi yaşamır.

    2. Windows Task Scheduler ilə “Run only when user is logged on” seçimi:
    Proqramınızı Task Scheduler ilə başladın.

    Aşağıdakı parametrlərlə:

    “Run only when user is logged on” seçin.

    “Run with highest privileges” aktiv edin.

    RDP ilə daxil olun → proqramı işə salın → sessiyanı bağlamadan sadəcə RDP pəncərəsini örtün (disconnect etməyin).

    3. Dummy HDMI plug istifadə edin (hardware həll):
    Server kompüterinə fiziki monitor bağlı deyilsə, HDMI dummy plug taxın.

    Windows GUI sessiyasını aktiv saxlayır.

    Proqram disconnect olsa belə işləyir.

    Niyə tscon bəzən işləmir?
    tscon ilə GUI konsola köçürülür, amma əgər fiziki monitor bağlı deyilsə və ya sistem GUI sessiyasını deaktiv edibsə, yenə pyautogui işləmir.

    Ən stabil həll: VNC istifadə edin və ya dummy HDMI plug taxın.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Cavablar AI cavab verdi - səsli kitab saytında müəllif hüquqları (34 gün əvvəl)

E. Hacı cavab verdi - səsli kitab saytında müəllif hüquqları (34 gün əvvəl)

evonline.az cavab verdi - Mahni axtariram, azerbaycanin klipi idi. (39 gün əvvəl)

Cənab cavab verdi - Abune kodu - qaz (52 gün əvvəl)

nihatt cavab verdi - Aztelekomun Huawei GPON modeminin login və şifrəsi (69 gün əvvəl)

Mesud cavab verdi - C++ aid məsələ (85 gün əvvəl)

Toofiq cavab verdi - Abune kodu - qaz (86 gün əvvəl)

Toofiq cavab verdi - Mahni axtariram, azerbaycanin klipi idi. (86 gün əvvəl)

selef cavab verdi - gömrük bağlamanı saxladı (104 gün əvvəl)

walkingdead4 cavab verdi - Niqodnilik haqqında yardım ederdiz (120 gün əvvəl)

Devequsu cavab verdi - Niqodnilik haqqında yardım ederdiz (121 gün əvvəl)

E. Hacı cavab verdi - Manual QA vs Wordpress (137 gün əvvəl)

SN cavab verdi - .az domaini whois serveri niyə işləmir? (181 gün əvvəl)

byshako cavab verdi - .az domaini whois serveri niyə işləmir? (182 gün əvvəl)

byshako cavab verdi - .az domaini whois serveri niyə işləmir? (182 gün əvvəl)

Software Developer - 616 xal

E. Hacı - 610 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23348 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2026