Нещодавно я запитав, як зупинити музичний плеєр, коли екран заблокований. Відповідь полягала у використанні 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через кореневий термінал, все працює добре. Чому це?
Вибачте, якщо це щось очевидне, я новачок у системному бізнесі, але не зміг знайти нічого, що допомогло б мені.
Ура.
EDIT: Це все ще не працює. Якщо у когось є якийсь час, я би вдячний, якщо можна спробувати його відтворити. Якщо це можливо, я подаю звіт про помилку.
actkbdзsystemd, з - за браку часу, але я підозрюю , що ваша проблема має що - то робити зactkbdтим початку , перш ніж система введення повністю инициализирована -actkbdпрацює відмінно при запуску як LSB служби на моєму ноутбуці розвитку. Ви повинні переконатися, що він запускається після запускуevdevмодуля, і що клавіатура завжди має однаковийeventXвузол пристрою.