Wayland'da Kendi Kodum İle Ekran Görüntüsü Alamama Sorunu

Merhabalar. Öncelikle ben bir Arch ve Wayland kullanıcısıyım. Python ile basit bir kod yazdım ve ekran görüntüsü almaya çalışıyorum. Kodum’u aşağıya bırakıyorum.

import pyautogui
import cv2
import numpy as np

frame = np.array(pyautogui.screenshot())
cv2.imwrite("Çıktı.png",frame)

Kod benim için “Çıktı.png” dosyasını oluşturuyor fakat tamamen siyah bir şekilde.

Biraz araştırdım ve bunun waylandin bir çeşit güvenlik önlemi olduğunu öğrendim. Bu kod parçası gündelik hayatta kullanmayı planladığım daha büyük bir kodun gerekli bir parçası. Yani sistemimi x11 e döndüremem. Bunu nasıl çözebilirim? Şimdiden teşekkürler.

Kullandığın masaüstü ortamı/pencere yöneticisinin gerekli aracı sağlaması lazım. Kendi içlerindeki aracı kullanmalısın. KDE kullanıyorsan spectacle kullanabilirsin veya GNOME’un aracı otomatik gömülü geliyordu. Pencere yöneticileri kullanıyorsan Grimblast kullanılabilir. Örneğin benim şu şekilde kullanıyorum:

grimblast --notify copysave area /home/yusuf/Pictures/Screenshots/$(date +"%d-%m-%H-%M-%S").png

Yukarıda da yazdığım gibi bu daha büyük bir kodun küçük ama gerekli bir parçası. O yüzden bunu bir python scripti ile çözmek istiyorum.

Tamam az önce bahsettiğim bütün araçları terminal üzerinden de kullanabilirsin. Oraya kendi ekran görüntüsü alma aracını değil de grimblast veya spectacle gibi bir yazılımı dahil et. GUI ile kullanmak zorunda değilsin.

2 Likes

Aklıma gelmemişti. Çok teşekkür ederim.

1 Like