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.Réponses:
Pour moi, le processus xautolock était toujours en cours d'exécution en arrière-plan, mais il n'écoutait aucune
xautolock -locknow
commande. Comme mentionné par @jrm, une application doit supprimer "l'économiseur d'écran" . Pour nous deux, cela était dû au fait que mpv (lecteur vidéo) avait désactivé l'économiseur d'écran.Pour mpv, le correctif consiste à ajouter ce qui suit à
~/.config/mpv/config
ou~/.mpv/config
:Si vous n'utilisez pas mpv, il peut s'agir d'une autre application désactivant l'économiseur d'écran. Essayez quelques-uns couramment utilisés pour voir lequel il s'agit.
Si vous souhaitez empêcher le verrouillage automatique de l'écran pendant la lecture vidéo , une façon courante consiste à utiliser la fonction "coins" de xautolock:
Avec la commande ci-dessus, si vous placez le curseur de votre souris dans le coin inférieur droit de l'écran (dans un rayon de 30 pixels), le verrouillage automatique sera temporairement désactivé.
Une autre chose à essayer est l'
-resetsaver
option:Ou l'
-detectsleep
option:la source
xautolock
, donc la question est un peu théorique maintenant. Marquage comme accepté comme la réponse la plus utile à ce jour. Si quelqu'un a exactement le même problème, je peux supprimer cette question pour éviter un doublon.