You are not logged in.

#1 2014-07-29 20:41:16

GeneMarston
Member
Registered: 2014-07-29
Posts: 8

Systemd daemon ignores target

Write your own daemon they said. Systemd is easy they said... big_smile

There is a small AUR package razer-blackwidow-macro-scripts 2-1 with python script that needs to be run as root (it enables extra keys on my keyboard)
Up until now I've had it in my .xinitrc

.........
sudo blackwidow-enable &  #enable extra keys
xbindkeys &  #macro keys mapping
........

Of course I've had that command allowed to be run with no password through visudo. It worked well. But I was a little bit uneasy with this solution and ppl on IRC recommended me to write a daemon for systemd instead.

Thats what I ended up with:

[Unit]
Description=RazerBlackWidow
Requires=basic.target
After=basic.target

[Service]
Type=forking
ExecStart=/usr/bin/blackwidow-enable

[Install]

But systemd blatantly ignores everything as you can see in journctl:

Jul 30 00:18:42 arch kernel: hub 4-6:1.0: 4 ports detected
Jul 30 00:18:42 arch blackwidow-enable[289]: BlackWidow not found.
Jul 30 00:18:42 arch systemd[1]: blackwidow.service: control process exited, code=exited status=1
Jul 30 00:18:42 arch systemd[1]: Failed to start RazerBlackWidow.
Jul 30 00:18:42 arch systemd[1]: Unit blackwidow.service entered failed state.

Jul 30 00:18:42 arch kernel: Switched to clocksource tsc
Jul 30 00:18:42 arch kernel: usb 3-9.3: new full-speed USB device number 5 using xhci_hcd
Jul 30 00:18:42 arch kernel: input: Razer Razer BlackWidow 2013 as /devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.3/3-9.
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:011B.0002: input,hidraw1: USB HID v1.11 Keyboard [Razer Razer BlackW
Jul 30 00:18:42 arch kernel: input: Razer Razer BlackWidow 2013 as /devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.3/3-9.
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:011B.0003: input,hidraw2: USB HID v1.11 Keyboard [Razer Razer BlackW
Jul 30 00:18:42 arch kernel: input: Razer Razer BlackWidow 2013 as /devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.3/3-9.
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:011B.0004: input,hidraw3: USB HID v1.11 Mouse [Razer Razer BlackWido
Jul 30 00:18:42 arch kernel: usb 3-10.3: new full-speed USB device number 6 using xhci_hcd
Jul 30 00:18:42 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.0/
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:0034.0005: input,hidraw4: USB HID v1.11 Mouse [Razer Razer Taipan] o
Jul 30 00:18:42 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.1/
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:0034.0006: input,hidraw5: USB HID v1.11 Keyboard [Razer Razer Taipan
Jul 30 00:18:42 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.2/
Jul 30 00:18:42 arch kernel: hid-generic 0003:1532:0034.0007: input,hidraw6: USB HID v1.11 Keyboard [Razer Razer Taipan
Jul 30 00:18:44 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.0/
Jul 30 00:18:44 arch kernel: hid-generic 0003:1532:0034.0008: input,hidraw4: USB HID v1.11 Mouse [Razer Razer Taipan] o
Jul 30 00:18:44 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.0/
Jul 30 00:18:44 arch kernel: hid-generic 0003:1532:0034.0009: input,hidraw4: USB HID v1.11 Mouse [Razer Razer Taipan] o
Jul 30 00:18:44 arch kernel: input: Razer Razer Taipan as /devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10.3/3-10.3:1.0/
Jul 30 00:18:44 arch kernel: hid-generic 0003:1532:0034.000A: input,hidraw4: USB HID v1.11 Mouse [Razer Razer Taipan] o
Jul 30 00:18:44 arch kernel: mousedev: PS/2 mouse device common for all mice
Jul 30 00:18:44 arch login[316]: pam_unix(login:session): session opened for user gene by LOGIN(uid=0)
Jul 30 00:18:44 arch systemd-logind[294]: New session c1 of user gene.
Jul 30 00:18:44 arch systemd[349]: pam_unix(systemd-user:session): session opened for user gene by (uid=0)
Jul 30 00:18:44 arch systemd[349]: Starting Paths.
Jul 30 00:18:44 arch systemd[349]: Reached target Paths.
Jul 30 00:18:44 arch systemd[349]: Starting Timers.
Jul 30 00:18:44 arch systemd[349]: Reached target Timers.
Jul 30 00:18:44 arch systemd[349]: Starting Sockets.
Jul 30 00:18:44 arch systemd[349]: Reached target Sockets.
Jul 30 00:18:44 arch systemd[349]: Starting Basic System.
Jul 30 00:18:44 arch systemd[349]: Reached target Basic System.

Jul 30 00:18:44 arch systemd[349]: Starting Default.
Jul 30 00:18:44 arch systemd[349]: Reached target Default.
Jul 30 00:18:44 arch systemd[349]: Startup finished in 3ms.

As you can see journal reports reaching target Basic System two seconds after my daemon started and failed (for obvious reason that kernel discovers said keyboard like two entries later).

What am I doing wrong?
Thank you all in advance for your time!


P.S. If I set

Requires=graphical.target
After=graphical.target

it fails completely rather early in boot with the following:

Jul 30 00:59:27 arch systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
Jul 30 00:59:27 arch systemd[1]: Found ordering cycle on graphical.target/start
Jul 30 00:59:27 arch systemd[1]: Breaking ordering cycle by deleting job blackwidow.service/start
Jul 30 00:59:27 arch systemd[1]: Job blackwidow.service/start deleted to break ordering cycle starting with graphical.target/start

my default.target if graphical, so not sure what this is about. I use startx if that helps.

Last edited by GeneMarston (2014-07-29 21:02:50)

Offline

Board footer

Powered by FluxBB