Jakiś czas temu zapytałem, jak zatrzymać odtwarzacz muzyki, gdy ekran jest zablokowany. Odpowiedzią było użycie actkbd, który działa jak urok. Teraz chciałem dodać actkbd jako usługę do systemd, aby uruchomić ją automatycznie podczas uruchamiania. Jak widać, usługa została uruchomiona poprawnie i pojawia się również w htopie. Niektóre dane wyjściowe poniżej:
[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
Mam następujący actkbd.service
plik/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
Problem polega na tym, że po uruchomieniu usługi z systemctl nic się nie dzieje po naciśnięciu mojego zwykłego skrótu do wstrzymania Rhythmbox. Jeśli zamiast tego po prostu wykonam polecenie /usr/local/sbin/actkbd -d /dev/input/event3 -D
za pomocą terminala głównego, wszystko działa dobrze. Dlaczego to?
Przepraszam, jeśli to coś oczywistego, jestem nowy w branży systemowej, ale nie mogłem znaleźć niczego, co mi pomogło.
Twoje zdrowie.
EDYCJA: To nadal nie działa. Jeśli ktoś ma trochę czasu, doceniłbym to, gdyby można było spróbować go odtworzyć. Jeśli to możliwe, wyślę raport o błędzie.
actkbd
zsystemd
powodu braku czasu, ale podejrzewam, że twój problem ma coś wspólnego zactkbd
uruchomieniem, zanim system wejściowy zostanie w pełni zainicjowany -actkbd
działa dobrze po uruchomieniu jako usługa LSB na moim laptopie programistycznym. Należy upewnić się, że jest uruchamiany po uruchomieniuevdev
modułu i że klawiatura ma zawsze ten sameventX
węzeł urządzenia.