xautolock
est clairement en marche :
$ 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
Cependant, lorsque j'essaie de le verrouiller :
$ xautolock -locknow
Could not locate a running xautolock.
Si j'en tourne un autre, xautolock
ça marche:
$ 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
Ce qui donne?
À ce jour, je l'ai vu sur mon ordinateur de bureau et mon ordinateur portable. Veuillez noter qu'au moins la première fois après le verrouillage du démarrage fonctionne correctement. Ce n'est qu'après un moment ou un événement inconnu qu'il commence à échouer.
Je n'ai pas pu reproduire cela de manière fiable. C'est-à-dire que j'ai essayé les approches suivantes sur mon ordinateur portable et dans les deux cas, le raccourci / la commande d'économiseur d'écran verrouille le bureau par la suite:
- Ferme la couverture
- Attendez que l'ordinateur hiberne
- Ouvrez le couvercle
- appuyez sur le bouton d'allumage
- Fournissez le mot de passe de connexion suivi de Enter
et
- Verrouillez le bureau
- Mêmes étapes que ci-dessus
Traçage du code:
- La ligne qui imprime le message d'erreur :
error1 ("Could not locate a running %s.\n", progName);
- Cela se produit si
messageToSend
est véridique ettype != XA_INTEGER
Il semble être
type
défini dans l'instruction suivante:(void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False, AnyPropertyType, &type, &format, &nofItems, &after, (unsigned char**) &contents);
Est-ce à dire que la xautolock
détection de l'exécution peut dépendre de la fenêtre ciblée? Je me demande également si cet appel pourrait être lié à ce bug connu :
- Les options -disable, -enable, -toggle, -exit, -locknow, -unlocknow et -restart dépendent de l'accès au serveur X pour faire leur travail. Cela implique qu'ils seront suspendus au cas où une autre application aurait saisi le serveur pour lui-même.
Est-il possible que des xautolock
conflits avec les xss-lock
deux utilisent slock
? En plus de la xautolock
ligne ci-dessus, j'ai également cette ligne en .xprofile :
xss-lock slock &
Puisque les deux xautolock
et xss-lock
peuvent appeler slock
, je soupçonne que le problème va quelque chose comme ceci:
xautolock
s'exécuteslock
après 10 minutes d'inactivité.xss-lock
essaie également de s'exécuterslock
après 10 minutes :$ xset q | grep --after-context=2 --line-regexp --fixed-strings 'Screen Saver:' Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600
- Un seul
slock
client est réellement généré. xss-lock
tue le malslock
, ce qui provoque unxautolock
crash ou un abandon.
Comme xss-lock
je peux détecter le sommeil d'un ordinateur portable, j'aimerais l'utiliser à la place xautolock
, mais je n'arrive pas à xss-lock
travailler avec notify-send
.
.xinitrc
: je suis passé à un --user
fichier de service et ce n'est plus un problème ...
stop-screensaver=no
à ~/.mpv/config
. Bien sûr, cela signifie que vous devez désactiver manuellement le verrouillage lors de la lecture de vidéos avec mpv.