얼마 전 화면이 잠겨있는 동안 음악 플레이어를 중지하는 방법을 물었습니다. 대답은 매력처럼 작동하는 actkbd를 사용하는 것이 었습니다. 이제 부팅 할 때 자동으로 시작하기 위해 actkbd를 systemd에 서비스로 추가하고 싶었습니다. 보시다시피 서비스가 올바르게 시작되고 중단으로 표시됩니다. 아래 일부 출력 :
[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
장치 노드 가 항상 같은지 확인해야 합니다.