Linux ajanı masaüstü oturumumdan ne istiyor?
X11 ile Wayland arasındaki fark, GNOME Shell eklentisinin ne işe yaradığı, ekran görüntüsünün hangi koşulda çalıştığı ve hiçbir oturumda kaydedilmeyenler.
- Linux
Linux'ta neyin kaydedilebildiği masaüstü oturumunuzun türüne bağlı. Aynı ajan, aynı kurum ayarlarıyla, X11 oturumunda ve Wayland oturumunda farklı şeyler okuyabiliyor. Bu yazı hangisinde neyin çalıştığını, neyin çalışmadığını ve hiçbir oturumda kaydedilmeyenleri anlatıyor.
Önce oturum türünüzü öğrenin
Bir uçbirim açıp şunu yazın.
echo $XDG_SESSION_TYPECevap wayland ya da x11 olacak. Ajan bu değeri açılışta bir kez okuyor, çünkü oturum türü oturumun ortasında değişmiyor: değiştirmek için oturumu kapatıp yeniden açmak gerekiyor, o da ajanı yeniden başlatıyor.
Komut boş dönerse ajan X11 varsaymıyor, uygulama takibini kapatıyor. Sebebi şu: Wayland oturumunda X11 çağrıları hata vermiyor, cevap veriyor. Ama yalnızca uyumluluk katmanı altında çalışan eski uygulamaları görüyorlar. Böyle bir tahmin hata üretmeden sessizce yanlış veri üretirdi, yani Firefox'u hiç açmamış gibi görünürdünüz. Ajan bunu yapmaktansa uygulama takibini kapatmayı ve size söylemeyi seçiyor.
X11 oturumunda ne çalışıyor
- Uygulama takibi masaüstünüzden bağımsız çalışıyor. GNOME, XFCE, Cinnamon, MATE ve KDE Plasma'nın X11 oturumu aynı yolu kullanıyor: öndeki pencere doğrudan pencere yöneticisinden okunuyor.
- Ekran görüntüsü doğrudan alınıyor. X11'de bunun için verilecek bir izin yok, dolayısıyla size bir şey sorulmuyor.
- Boşta kalma süresi X11'in kendi sayacından okunuyor. Aktivite düzeyi bu ölçümden çıkıyor.
Kısacası X11'de ek bir bileşen de, verilecek bir izin de gerekmiyor.
Wayland oturumunda ne değişiyor
Wayland, hangi pencerenin önde olduğunu uygulamalardan saklıyor. Bu bir eksiklik değil, kasıtlı bir güvenlik sınırı. Sonuç masaüstüne göre değişiyor.
GNOME
Uygulama takibi için Worktivity Window Tracker adlı GNOME Shell eklentisi gerekiyor. Eklenti çalışmıyorken süre, ziyaret edilen siteler ve aktivite düzeyi kaydedilmeye devam ediyor; yalnızca hangi uygulamada olduğunuz kaydedilmiyor. Ajan bunu Track sekmesinde Application tracking is off başlıklı bir kartla, gerekçesiyle birlikte söylüyor.
KDE Plasma
Bu sürüm KDE Plasma'nın Wayland oturumunda öndeki pencereyi okumuyor ve bunu ekranda yazıyor. Süre ve ziyaret edilen siteler kaydedilmeye devam ediyor, ekran görüntüsü de masaüstü portalı üzerinden çalışıyor. KDE'nin X11 oturumunda ise uygulama takibi çalışıyor.
Sway, Hyprland ve diğerleri
Tanınmayan bir Wayland masaüstünde uygulama takibi kapalı kalıyor. Süre ve site takibi çalışmaya devam ediyor.
GNOME Shell eklentisi ne işe yarıyor
GNOME Wayland oturumunda hiçbir uygulama öndeki pencerenin hangi uygulamaya ait olduğunu öğrenemiyor. GNOME'un bu bilgiyi veren arayüzü üçüncü uygulamalara kapalı ve istenebilecek bir izin, çıkacak bir onay penceresi yok. Eklenti gnome-shell'in kendi içinde çalıştığı için bilgiye erişebiliyor. Tek yol bu.
Eklenti .deb ve .rpm paketinin içinde geliyor, ayrıca indirmeniz gerekmiyor. Paket onu sistem dizinine koyuyor.
/usr/share/gnome-shell/extensions/worktivity@useworktivity.comNasıl açılıyor
Basmanız gereken bir düğme yok. Ajan eklentiyi kendisi açıyor, ama yalnızca iki koşul birden sağlanınca: izleme politikasını onaylamış olmanız ve kurumunuzun ayarlarının uygulama bilgisini gerçekten topluyor olması. Kurum yalnızca site topluyorsa ya da hiçbir şey toplamıyorsa eklenti açılmıyor, çünkü toplanmayacak bir veri için masaüstü ayarınızı değiştirmenin kimseye faydası olmazdı.
Açıldıktan sonra ajan birkaç saniye bekleyip yeniden yokluyor. Ölçüldüğü kadarıyla eklenti yaklaşık altı saniye içinde cevap vermeye başlıyor ve oturumu kapatıp açmanız gerekmiyor. Ajan bu yoklamayı otuz saniyede bir tekrarlıyor, yani eklenti ajan çalışırken açıldıysa yarım dakika içinde kendiliğinden fark ediliyor.
GNOME eklentiyi yine de yüklemediyse Track sekmesindeki kart oturumu kapatıp yeniden açmanızı söylüyor. Wayland'de GNOME Shell yerinde yeniden başlatılamıyor, o yüzden gerçek bir oturum yenilemesi gerekiyor.
Eklentiyi istediğiniz zaman GNOME'un kendi Extensions uygulamasından kapatabilirsiniz. Kapatıldığında uygulama takibi duruyor, geri kalan her şey çalışmaya devam ediyor.
Kilit ekranında
GNOME kilit ekranında eklentiyi kaldırıyor, siz döndüğünüzde geri yüklüyor. Bu istenen davranış: eklenti yalnızca sizin oturumunuzda çalışıyor, kilit ekranında değil. Ajan bu kesintiyi kendi başına toparlıyor.
Eklenti ne yayınlıyor
Yalnızca üç şey: öndeki pencerenin .desktop kimliği, pencere sınıfı ve süreç numarası. Pencere başlığı hiçbir zaman okunmuyor; eklentide başlığı okuyan çağrı hiç yok. Paneller, dock'lar, açılır menüler ve bildirim pencereleri de hiç raporlanmıyor, yalnızca normal pencereler ve iletişim kutuları.
Eklenti GNOME 45 ve üzerini destekliyor. Daha eski GNOME sürümleri X11 oturumu kullandığı için eklentiye zaten ihtiyaç duymuyor.
Ekran görüntüsü Linux'ta çalışıyor mu
Kurumunuz ekran görüntüsü topluyorsa evet, ama nasıl çalıştığı oturum türüne bağlı.
- X11'de görüntü doğrudan alınıyor, izin sorulmuyor.
- Wayland'de masaüstü portalı üzerinden alınıyor. Size mesaiyi başlattığınız anda bir kez soruluyor ve cevabınız hatırlanıyor. Soru tam o anda soruluyor çünkü portal iznini yalnızca önde olan uygulamaya soruyor; dakikada bir çalışan zamanlayıcı tetiklendiğinde siz başka bir uygulamada oluyorsunuz ve pencere hiç çıkmıyor.
- Hayır derseniz o çalıştırma boyunca bir daha sorulmuyor. Kayıtlar görüntüsüz gitmeye devam ediyor, süreniz ve aktivite düzeyiniz kaydedilmeye devam ediyor. Settings sekmesi neden görüntü alınmadığını yazıyor. Fikrinizi değiştirmek isterseniz masaüstünüzün kendi gizlilik ayarlarından değiştirebilirsiniz.
- Portal yoksa Wayland oturumunda görüntü hiç alınamıyor ve Settings bunu da yazıyor.
- Oturum türü okunamıyorsa ekran görüntüsü tamamen kapalı.
Portal xdg-desktop-portal paketiyle geliyor ve Worktivity paketi onu önerilen bağımlılık olarak istiyor; apt ve dnf önerilen paketleri varsayılan olarak kuruyor.
Gönderilen görüntü 820 piksel genişliğe küçültülüyor. Kurumunuz bulanıklaştırmayı açtıysa gönderilmeden önce bulanıklaştırılıyor. İzin verilmemişken alınan tamamen siyah kareler gönderilmiyor. Ajan penceresi görüntülerin içeriğini hiçbir yerde göstermiyor; Queue sekmesi yalnızca kaç kaydın beklediğini söylüyor.
Hangi uygulamada olduğunuz nasıl bulunuyor
X11'de öndeki pencere pencere yöneticisinden okunuyor, oradan süreç numarası ve pencere sınıfı çıkarılıyor. GNOME Wayland'de aynı üç bilgi eklentiden geliyor. İki yol da aynı kurala bağlanıyor, çünkü aynı kişi oturum türünü değiştirdiğinde raporlarda iki ayrı uygulama gibi görünmemesi gerekiyor.
Ekranda görünecek ad şu sırayla belirleniyor: uygulamanın .desktop dosyasındaki dile bağlı olmayan Name satırı, sonra pencere sınıfı, sonra çalıştırılabilir dosyanın adı. Dile göre değişen Name[tr] satırı bilerek okunmuyor: okunsaydı aynı uygulama Türkçe ve İngilizce makinelerde iki ayrı uygulama gibi raporlanırdı.
Ziyaret edilen site tarayıcının geçmiş dosyasından okunuyor ve yalnızca alan adı alınıyor. Bu yol oturum türünden bağımsız, yani X11'de de Wayland'de de aynı çalışıyor: GNOME Wayland'de eklenti olmasa bile site kaydı sürüyor. Alan adı yalnızca öndeki uygulama bir tarayıcıyken kaydınıza yazılıyor, yani bir metin düzenleyicide otururken en son ziyaret ettiğiniz site kaydınıza geçmiyor.
Kaydedilmeyenler
Bunlar teknik kısıt değil, ürün kararı. Ajan bir kısmını okuyabilecek durumda ve okumuyor.
- Pencere başlığı. Hiç okunmuyor, hiç gönderilmiyor. Sunucu modelinde bunun için bir alan bile yok.
- Tam adres. Tarayıcıdan yalnızca alan adı alınıyor. Yol, sorgu dizisi ve fragment okundukları anda atılıyor ve hiçbir yere, günlük dosyasına bile yazılmıyor.
- Tuş vuruşları ve yazdığınız metin. Sayılmıyor, kaydedilmiyor. Girdi aygıtları doğrudan okunmuyor. Aktivite düzeyi tek bir ölçümden çıkıyor: son klavye ya da fare girdisinin üzerinden ne kadar zaman geçtiği.
- Fare hareketinin mesafesi ya da tıklama sayısı. Böyle bir ölçüm yok.
- Dosyalarınız, kameranız, mikrofonunuz. Ajan bunların hiçbirine dokunmuyor.
- Panel, dock, açılır menü ve bildirim pencereleri. Eklenti bunları hiç raporlamıyor.
- Ekran görüntülerinin içeriği. Ajan penceresinde gösterilmiyor, çünkü ajan penceresi masaüstünde açık duruyor ve görüntüleri burada dizmek üçüncü kişilerin omuz üstünden görebileceği bir galeri açmak olurdu.
Bir kaydın gerçekte neler taşıdığının tam listesi Worktivity ne topluyor yazısında.
Bir şey çalışmıyorsa
Pencere kayboldu
Mesai açıkken pencereyi kapatmak ajanı kapatmıyor, gizliyor; mesai sürüyor. GNOME'da tepsi alanı olmadığı için tıklayacağınız bir simge de yok. Pencereyi geri getirmek için uygulamayı yeniden başlatın: ikinci çalıştırma ikinci bir ajan başlatmıyor, zaten çalışan pencereyi öne getiriyor. Mesai yokken pencereyi kapatmak ise ajanı gerçekten kapatıyor.
Günlük dosyası nerede
Destek isterse şu dizindeki dosyayı gönderin. Her gün için ayrı bir dosya yazılıyor ve son yedi gün saklanıyor.
~/.local/state/worktivity/Ayarlarınız ~/.config/worktivity altında. Henüz sunucuya gönderilememiş kayıtlar ~/.local/share/worktivity altında duruyor. Bu son dizini silmeyin: içinde sunucuya ulaşmamış çalışma dakikalarınız var. Kuyruğun nasıl çalıştığı çevrimdışı kalınca ne olur yazısında.
Kurulumda sık görülen hatalar
İndirdiğiniz dosyanın tam adını yazın; kabukta Tab tuşuyla tamamlayabilirsiniz. Sürüm numarası her yayında değişiyor, aşağıdaki komutlarda yer tutucu duruyor.
sudo apt install ./worktivity-<surum>-amd64.debsudo dnf install ./worktivity-<surum>-x86_64.rpm- Baştaki ./ zorunlu. İçinde eğik çizgi olmayan bir argümanı apt paket adı sanıp depolarda arıyor, bulamıyor ve dosya elinizin altındayken hata veriyor.
- Bağımlılık çözülemiyorsa önce
sudo apt updateçalıştırın. Bayat bir paket indeksi bağımlılıkların bulunamamasına yeter. - dpkg -i ve rpm -i kullanmayın. Bağımlılıkları çözmüyorlar. dpkg -i eksik bir bağımlılıkla karşılaşınca paketi yarı yapılandırılmış bırakıyor ve ayrıca
sudo apt --fix-broken installçalıştırmanız gerekiyor. - apt önerilen paketleri kuruyor, dpkg kurmuyor. apt tercih etmenin ikinci sebebi bu: libsecret-tools ve xdg-desktop-portal önerilen bağımlılıklar ve ikisi de gerçek işlere yarıyor.
- Mimariye dikkat. Intel ve AMD makineler için amd64 (.deb) ya da x86_64 (.rpm), ARM makineler için arm64 (.deb) ya da aarch64 (.rpm) dosyası.
- .NET kurmanıza gerek yok. Paket kendi çalışma zamanını taşıyor.
openSUSE kullanıyorsanız
Paket zypper ile kuruluyor ama otomatik güncelleme çalışmıyor. Paket, güncelleme deposunun tanımını yalnızca /etc/yum.repos.d/worktivity.repo dosyasına yazıyor ve zypper o dizini okumuyor. openSUSE'de güncellemeyi elle yapmanız gerekiyor; nasıl güncelleneceği güncelleme yazısında.
Settings anahtarlık uyarısı gösteriyor
Makinede bir anahtarlık bulunamazsa oturum jetonu yalnızca sizin okuyabileceğiniz izinlerle bir dosyada saklanıyor ve Settings bunun istenenden zayıf olduğunu açıkça yazıyor. Düzeltmek için libsecret-tools paketini kurun; paketi apt ile kurduysanız zaten kurulmuş olması gerekir.
Windows ve macOS ajanında olup burada olmayanlar
- Tepsi ya da menü çubuğu simgesi. Windows'ta görev çubuğunda, macOS'ta menü çubuğunda bir simge var. Linux ajanında yok, çünkü GNOME 3.26'dan beri tepsi alanı bulunmuyor. Gizlenen pencereyi geri getirmek uygulamayı yeniden başlatmakla oluyor.
- Genel kısayol tuşları. Windows ajanında mesaiyi başka bir uygulamanın içindeyken klavyeden açıp kapatabiliyorsunuz. Linux ajanında bu yok.
- KDE Plasma Wayland'de uygulama takibi. Windows ve macOS'ta böyle bir masaüstü ayrımı hiç yok; Linux'ta bu sürüm için var.
- Ek bileşen istemeyen uygulama takibi. GNOME Wayland'de eklenti gerekiyor, diğer iki platformda böyle bir şey yok. Buna karşılık macOS iki ayrı sistem izni istiyor, Linux'ta X11 oturumunda hiç izin istenmiyor.
Hangi bilgisayara hangi uygulamanın kurulacağı masaüstü uygulaması karşılaştırmasında.
Sorunuzun yanıtı bu muydu?
İlgili makaleler
Hangi masaüstü uygulamasını kurmalıyım?
Her platform için bir uygulama, kurulum istemeyen bir web uygulaması ve hangisinin gerçekte ne yaptığını gösteren bir tablo.
- Web
- Windows
- macOS
- Linux
Masaüstü uygulamasını nasıl güncellerim?
Windows kendini günceller, macOS App Store'dan gelir, Linux ise paket yöneticisinden. Her platformun yolu ve çalıştırdığınız sürümü nasıl göreceğiniz.
- Windows
- macOS
- Linux
Bilgisayarım çevrimdışı kalırsa ne olur?
Kayıt sürüyor. Dakikalar kendi makinenizde sıraya giriyor ve bağlantı gelince sırayla gönderiliyor.
- Windows
- macOS
- Linux
Hâlâ takıldınız mı?
Üç farklı soru, sorulacak üç farklı yer.