Masaüstü kilitleme bir süre sonra neden çalışmıyor?


14

xautolockaçıkça çalışıyor :

$ ps wafux | grep [x]autolock
user   21410  0.0  0.0  20124  2628 ?        S    Nov05   0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock

Ancak, kilitlemeye çalıştığımda :

$ xautolock -locknow
Could not locate a running xautolock.

Ben başka bir spin eğer xautolockçalışır:

$ xautolock -time 10 -notify 30 -notifier "notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds'" -locker slock&
[2] 18828
$ ps wafux | grep [x]autolock
user   21410  0.0  0.0  20124  2628 ?        S    Nov05   0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
user   18828  0.0  0.0  20124  2708 pts/1    S    08:30   0:00      \_ xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
$ xautolock -locknow # Runs fine and locks the desktop

Ne oluyor?

Şimdiye kadar bunu hem masaüstümde hem de dizüstü bilgisayarımda gördüm. En azından önyükleme kilitlemesinden sonra ilk kez düzgün çalıştığını lütfen unutmayın. Sadece bilinmeyen bir zaman ya da olaydan sonra başarısız olmaya başlar.


Ben var değil güvenilir bu çoğaltmak mümkün. Yani, dizüstü bilgisayarımda aşağıdaki yaklaşımları denedim ve her iki durumda da ekran koruyucu kısayolu / komutu aslında masaüstünü daha sonra kilitler:

  1. Kapağı kapat
  2. Bilgisayarın hazırda bekletme moduna geçmesini bekleyin
  3. Kapağı aç
  4. güç tuşuna baş
  5. Oturum açma şifresini ve ardından Enter

ve

  1. Masaüstünü kilitle
  2. Yukarıdaki ile aynı adımlar

Kodu izleme:

  1. Hata mesajını yazdıran satır :error1 ("Could not locate a running %s.\n", progName);
  2. Yani olur eğer messageToSendtruthy olduğunu vetype != XA_INTEGER
  3. Aşağıdaki ifadede typeayarlanmış gibi görünüyor :

    (void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False,
                               AnyPropertyType, &type, &format,
                               &nofItems, &after,
                               (unsigned char**) &contents);
    

Bu, çalışmanın xautolockalgılanıp algılanmayacağının odaklanan pencereye bağlı olabileceği anlamına mı geliyor ? Ayrıca bu çağrının bilinen bu hata ile ilgili olup olmadığını merak ediyorum :

  1. -Disable, -enable, -toggle, -exit, -locknow, -unlocknow ve -restart seçenekleri işlerini yapmak için X sunucusuna erişime bağlıdır. Bu, başka bir uygulamanın sunucuyu kendisi için yakalaması durumunda askıya alınacakları anlamına gelir.

Her ikisinin de kullandığı xautolockçatışmalar mümkün mü ? Yukarıdaki satıra ek olarak .xprofile dosyasında da şu satır var :xss-lockslockxautolock

xss-lock slock &

Her iki yana xautolockve xss-lockçağırabilir slock, ben sorun şöyle gider şüphelenen ediyorum:

Yana xss-locklaptop uyku algılayabilir ben yerine bunu kullanmak istiyorum xautolockama yapmak gibi olamaz xss-lockile çalışmak notify-send.


Hangi unix'i kullanıyorsunuz?
kasperd

Ben de aynı sorunu yaşıyorum. Çok derinlemesine bakmadım ama bir cevap da bilmek isterim.
HalosGhost

Nasıl başlıyorsunuz? Son zamanlarda başlarken aynı şeyi buldum .xinitrc: Bir --userservis dosyasına geçtim ve artık bir sorun değil ...
jasonwryan

1
Mpv ile bir video oynatmak (ancak mplayer değil) benim için sorunu tetikliyor. Her iki oyuncunun da boş yapılandırmaları var.
jrm

1
Bu tetikleyici için bir az daha optimum bir çözüm eklemektir stop-screensaver=noiçin ~/.mpv/config. Tabii ki, bu mpv ile video oynatırken kilidi manuel olarak devre dışı bırakmanız gerektiği anlamına gelir.
jrm

Yanıtlar:


5

Benim için, xautolock işlemi hala arka planda yürütülüyordu, ancak herhangi bir xautolock -locknowkomutu dinlemiyordu . @Jrm tarafından belirtildiği gibi, bir uygulama "ekran koruyucu" bastırıyor olmalıdır . İkimiz için bu, ekran koruyucuyu devre dışı bırakan mpv (video oynatıcı) nedeniyle oldu.

Mpv için, düzeltme aşağıdakilere ~/.config/mpv/configveya eklemektir ~/.mpv/config:

stop-screensaver=no

Mpv kullanmazsanız, ekran koruyucuyu devre dışı bırakan başka bir uygulama olabilir. Hangisinin olduğunu görmek için yaygın olarak kullanılan bazılarını deneyin.


Video oynatımı sırasında otomatik ekran kilidini önlemek istiyorsanız , yaygın bir yöntem xautolock'un "köşe" özelliğini kullanmaktır:

xautolock -corners 000- -cornersize 30

Yukarıdaki komutla, fare imlecinizi ekranın sağ alt köşesine (30 piksel yarıçap içinde) koyarsanız, otomatik kilitleme geçici olarak devre dışı bırakılır.


Denenecek bir şey daha var -resetsaver:

xautolock -resetsaver

Veya -detectsleepseçenek:

xautolock -detectsleep

İyi ipuçları, teşekkürler! Video oynatıcımın (VLC) ekran kilidini yıllarca devre dışı bıraktığının farkındaydım, ancak dürüst olmak gerekirse bu sorun şu ana kadar geri döndü ki aklım bu gerçeği boşaltıp boşaltıldığını hatırlayamıyorum. Her neyse kullanmayı bıraktım xautolock, bu yüzden soru şimdi biraz tartışmalı. Şimdiye kadar en yararlı cevap olarak kabul edildi olarak işaretleme. Herkes aynı sorunu varsa, yinelenen önlemek için bu soruyu silebilirim.
l0b0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.