ไม่นานมานี้ฉันถามวิธีหยุดเครื่องเล่นเพลงขณะที่หน้าจอล็อคอยู่ คำตอบคือการใช้ 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
ผ่านรูทเทอร์มินัลทุกอย่างก็ใช้ได้ดี ทำไมล่ะ
ขออภัยหากเป็นสิ่งที่ชัดเจนฉันยังใหม่กับธุรกิจ systemd แต่ฉันไม่พบสิ่งที่ช่วยฉัน
ไชโย
แก้ไข: นี่ยังไม่ทำงาน หากใครบางคนมีเวลาฉันจะขอบคุณถ้ามีคนลองและทำซ้ำ หากเป็นไปได้ฉันจะรายงานข้อผิดพลาด
actkbd
ด้วยsystemd
เนื่องจากไม่มีเวลา แต่ผมสงสัยว่าปัญหาของคุณมีสิ่งที่จะทำอย่างไรกับactkbd
การถูกเริ่มต้นก่อนที่ระบบการป้อนข้อมูลจะเริ่มต้นได้อย่างเต็มที่ -actkbd
ทำงานได้ดีเมื่อเริ่มต้นเป็น LSB ให้บริการบนแล็ปท็อปการพัฒนาของฉัน คุณควรตรวจสอบให้แน่ใจว่ามันเริ่มต้นหลังจากevdev
โมดูลเปิดตัวและแป้นพิมพ์ของคุณมีeventX
โหนดอุปกรณ์เดียวกันเสมอ