Bir script yazdım. Script uzaktan ekran görüntüsü alıyor. Bi sunucu bi de client tarafı var. Normal olarak çalıştırınca program fıstık gibi çalışıyor.
Lakin linux systemd ile çalışınca ekran görüntüsü karşıya gelmiyor. Systemd service de şöyle. Root olarak makineye giriş yapınca ekran görüntüsü geliyor. Ama başka kullanıcı olarak girince görüntü gerektiren hiç bişi çalışmıyor. Tkinter bile açılmıyor.
Programda pyscreenshot kullanıyorum.
Yardım ederseniz sevinirim. Gerekli bilgileri isterseniz verebilecek olduğum bilgileri verebilirim
Service dosyasında da belirttiğin gibi, bu servisin sadece root kullanıcısı için çalıştırılmasını sen seçmişsin. Yani sorun kullanıcı ve grup seçiminde
Ayrıca bilgisayara başka bi kullanıcı ile girip python3 client.py olarak girince de çalışıyor sadece root dışında bir kullanıcı ile girince bilgisyar açılınca, o zaman ekran paylaşılmıyoe
Oncelikle, 8 tane problemi ayni anda debug etmeye gerek yok. Goruntu mu alinmiyor, baglanti mi kurulmuyor, baglantidan data mi gitmiyor, emin olman lazim. Goruntunun alinmadigi varsayimiyla yola cikmissin, belki de cok daha basit bir hata var.
Aksiyon: Programi, ekran goruntusu alip kaydedecek minimum parcaya indir. Hakkinda konusmasi (kodu paylasmasi) da kolay olur.
Ilk olarak bakilmasi gereken seyler effective UID, effective GID ve environment.
Bunlar o isi hallediyor gibi gozukuyor ama environment’ta sadece 2 tane variable var, onlar da X ile alakali. Sistemin X kullandigindan bile emin miyiz?
Aksiyon: Programin elle calistirilmasi ile systemd tarafindan calistirilmasindaki environment farklarina bakila, ikincisi ayarlana.
Bu graphical’dan sonra calismasini garantilemiyor, farkinda misin? Program X’ten once calistiginda dogru calisiyor mu?
Tkinter kutuphane degil miydi, acilmamasi ne demek?
@aib varken bana söz düşmez ama, ben servis hiç çalıştırılmıyor diye düşündüm. Pencere oluşmuyorsa, o zaman @aib nin de dediği gibi environment ayarlamasında sıkıntı var.
Servis çalışıyor. Nerden anladın dersen. İstemci bilgiayar açılınca bağlantı sağlanıyor.hatta konut gönderme, kullanıcı ekleme, paket yükleme gibi işlemler de yapılıyor. Lakin ekran görüntüsü yok, gitmiyor. He bi de gitmiyor derken eğer root olarak giriş yaparsam ekran görüntüsü sunucuya geliyor. Ama başka kullanıcı ile girince ekran görünütüsü gelmiyor
@aib gerekli şeyleri söyle ben sana atayım eğer atabilirsem.
Hah okey
Aklinda bulunsun, ful unit dosyasini paylas bir dahaki sefere.
Kodun basitlestirilmis bir hali de yok; sorunun sebebini debug edemeyecegiz ama environment’i duzeltmek cozecektir muhtemelen. DISPLAY veya benzeri X/Wayland degiskenlerinden biridir.
Not:Gene aynı sorun çıktı root olarak girince ekran görüntüsü geliyor.Ama başka kullanıcı ile girince ekran görüntüsü gelmiyor.
Scriptimi bu kadar küçültebildim. Lütfen server kısmını linuxda kullanıcı girişi yaptıktan sonra çalıştırın.
Normalde programım bu işi hallediyor ama daha fazla kodu uzatmaya gerek yok.
Not2:linux sistemlerde PIL : imagegrab kabul etmiyor o yüzden pyscreenshot kullandım
NOT:Lütfen ip adreslerini vs. kendinize göre düzenleyin. @aib bu yeter mi zaten bunlar üzerinde çalıştığımda da aynı şey oluyor root olarak girince ekran görüntüsü socket aracılığı ile geliyor lakin başka kullanıcı ile girince ekran görüntüsü gelmiyor