Некоторое время назад я спросил, как остановить музыкальный проигрыватель, пока экран заблокирован. Ответ заключался в использовании actkbd, который работает как шарм. Теперь я хотел добавить actkbd в качестве службы в systemd, чтобы он автоматически запускался при загрузке. Так что, как вы видите, сервис запущен правильно, и он также отображается в htop. Некоторые результаты ниже:
[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
У меня есть следующий actkbd.service
файл в/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
Так что проблема в том, что после запуска сервиса с systemctl ничего не происходит, если я нажимаю на свой обычный ярлык для приостановки Rhythmbox. Если я вместо этого просто выполню команду /usr/local/sbin/actkbd -d /dev/input/event3 -D
через корневой терминал, все будет нормально. Почему так?
Извините, если это очевидно, я новичок в системном бизнесе, но не смог найти ничего, что могло бы мне помочь.
Приветствия.
РЕДАКТИРОВАТЬ: Это все еще не работает. Если бы у кого-то было время, я был бы признателен, если бы попытался воспроизвести его. Если это возможно, я подам отчет об ошибке.
actkbd
сsystemd
, из - за нехватки времени, но я подозреваю , что ваша проблема имеет что - то делать сactkbd
тем начала , прежде чем система ввода полностью инициализирована -actkbd
работает отлично при запуске как LSB службы на моем ноутбуке развития. Вы должны убедиться, что он запускается после запускаevdev
модуля, и что ваша клавиатура всегда имеет один и тот жеeventX
узел устройства.