Il y a quelque temps, j'ai demandé comment arrêter un lecteur de musique alors que l'écran était verrouillé. La réponse a été d'utiliser actkbd qui fonctionne comme un charme. Maintenant, je voulais ajouter actkbd en tant que service à systemd afin de le démarrer automatiquement au démarrage. Donc, comme vous pouvez le voir, le service est démarré correctement et il apparaît également dans htop. Quelques sorties ci-dessous:
[root@hostname init.d]# systemctl start actkbd.service
[root@hostname init.d]# systemctl status actkbd.service
actkbd.service - Actkbd: Daemon for X-independent shortcuts
Loaded: loaded (/etc/systemd/system/multi-user.target.wants/actkbd.service)
Active: active (running) since Tue, 10 Apr 2012 17:50:36 +0200; 2s ago
Process: 23526 ExecStart=/usr/local/sbin/actkbd -d /dev/input/event3 -D (code=exited, status=0/SUCCESS)
Main PID: 23527 (actkbd)
CGroup: name=systemd:/system/actkbd.service
└ 23527 /usr/local/sbin/actkbd -d /dev/input/event3 -D
[root@hostname init.d]# systemctl stop actkbd.service
[root@hostname init.d]# ps -C actkbd
PID TTY TIME CMD
J'ai le actkbd.service
fichier suivant dans/etc/systemd/system/multi-user.target.wants/
[Unit]
Description=Actkbd: Daemon for X-independent shortcuts
[Service]
Type=forking
ExecStart=/usr/local/sbin/actkbd -d /dev/input/event3 -D
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -15 $MAINPID
Restart=always
User=root
Le problème est donc qu'après le démarrage du service avec systemctl, rien ne se passe si j'appuie sur mon raccourci habituel pour suspendre Rhythmbox. Si au lieu de cela, j'exécute simplement la commande /usr/local/sbin/actkbd -d /dev/input/event3 -D
via le terminal racine, tout fonctionne bien. Pourquoi ça?
Désolé si c'est quelque chose d'évident, je suis nouveau dans le monde du système mais je n'ai rien trouvé qui m'a aidé.
À votre santé.
EDIT: Cela ne fonctionne toujours pas. Si quelqu'un a un peu de temps, j'apprécierais que l'on puisse essayer de le reproduire. Si cela est possible, je déposerai un rapport de bogue.
actkbd
avecsystemd
, en raison du manque de temps, mais je pense que votre question a quelque chose à voir avecactkbd
être démarré avant que le système d'entrée est complètement initialisé -actkbd
fonctionne très bien quand a commencé comme un bit de poids faible sur mon ordinateur portable de service de développement. Vous devez vous assurer qu'il est démarré après leevdev
lancement du module et que votre clavier a toujours le mêmeeventX
nœud de périphérique.