You are not logged in.
Good evening all,
I'm trying to move programs out of my .xinitrc file and my window manager's startup hooks into systemd user unit files for ease of management, and hopefully more resilient. I have followed the setup on the wiki page for SystemD/User session (https://wiki.archlinux.org/index.php/Sy … asic_setup) and already have some services already running:
╭─vendion@tyre ~
╰─➤ systemctl --user status
● tyre
State: degraded
Jobs: 0 queued
Failed: 4 units
Since: Fri 2014-08-08 20:23:47 EDT; 4 days ago
CGroup: /user.slice/user-1000.slice/user@1000.service
├─3200 /usr/lib/systemd/systemd --user
├─3202 (sd-pam)
├─dbus.service
│ ├─ 3623 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
│ ├─ 3711 /usr/lib/at-spi2-core/at-spi-bus-launcher
│ ├─ 3728 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
│ ├─ 3996 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
│ ├─ 4184 /usr/lib/GConf/gconfd-2
│ └─29638 /usr/bin/dunst
├─udiskie.service
│ └─3389 /usr/bin/python /usr/bin/udiskie
├─spideroak.service
│ ├─3394 /opt/SpiderOak/lib/SpiderOak
│ └─3993 /opt/SpiderOak/lib/SpiderOak --spider
├─skype.service
│ └─3396 /usr/lib32/skype/skype
├─mpd.service
│ ├─3386 /usr/bin/mpd --no-daemon
│ ├─3959 /usr/bin/pulseaudio --start --log-target=syslog
│ └─4178 /usr/lib/pulse/gconf-helper
├─mpdscribble.service
│ └─3544 /usr/bin/mpdscribble
└─google-musicmanager.service
└─3638 /usr/bin/google-musicmanagerSome of them are using unit files provided by the package, others I wrote the unit file for. The services that are failing that are causing the state to be degraded are:
╭─vendion@tyre ~
╰─➤ systemctl --user --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
●clipit.service loaded failed failed Clipboard manager
●pasystray.service loaded failed failed Pulseaudio system tray icon
●pidgin.service loaded failed failed Pidgin IM client
●redshift.service loaded failed failed Redshift display colour temperature adjustment
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
4 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.I had to write the unit files for each of these.
clipit.service unit file: http://sprunge.us/Qjfd
When I check the status for this here is what I get:
● clipit.service - Clipboard manager
Loaded: loaded (/home/vendion/.config/systemd/user/clipit.service; enabled)
Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
Main PID: 3619 (code=exited, status=1/FAILURE)
Aug 08 20:24:04 tyre systemd[3200]: clipit.service: main process exited, code=exited, status=1/FAILURE
Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.
Aug 08 20:24:04 tyre systemd[3200]: clipit.service holdoff time over, scheduling restart.
Aug 08 20:24:04 tyre systemd[3200]: Stopping Clipboard manager...
Aug 08 20:24:04 tyre systemd[3200]: Starting Clipboard manager...
Aug 08 20:24:04 tyre systemd[3200]: clipit.service start request repeated too quickly, refusing to start.
Aug 08 20:24:04 tyre systemd[3200]: Failed to start Clipboard manager.
Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.pasystray.service unit file: http://sprunge.us/BWWR
Status output
● pasystray.service - Pulseaudio system tray icon
Loaded: loaded (/home/vendion/.config/systemd/user/pasystray.service; enabled)
Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:12 EDT; 4 days ago
Main PID: 3769 (code=killed, signal=TRAP)
Aug 08 20:24:12 tyre systemd[3200]: pasystray.service: main process exited, code=killed, status=5/TRAP
Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.
Aug 08 20:24:12 tyre systemd[3200]: pasystray.service holdoff time over, scheduling restart.
Aug 08 20:24:12 tyre systemd[3200]: Stopping Pulseaudio system tray icon...
Aug 08 20:24:12 tyre systemd[3200]: Starting Pulseaudio system tray icon...
Aug 08 20:24:12 tyre systemd[3200]: pasystray.service start request repeated too quickly, refusing to start.
Aug 08 20:24:12 tyre systemd[3200]: Failed to start Pulseaudio system tray icon.
Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.pidgen.service unit file: http://sprunge.us/KgKV
Status output
● pidgin.service - Pidgin IM client
Loaded: loaded (/home/vendion/.config/systemd/user/pidgin.service; enabled)
Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
Main PID: 3620 (code=exited, status=1/FAILURE)Redshift.service unit file: http://sprunge.us/IDCC
Status output:
● redshift.service - Redshift display colour temperature adjustment
Loaded: loaded (/home/vendion/.config/systemd/user/redshift.service; enabled)
Active: failed (Result: start-limit) since Fri 2014-08-08 20:23:58 EDT; 4 days ago
Docs: http://jonls.dk/redshift/
Main PID: 3517 (code=exited, status=1/FAILURE)
Aug 08 20:23:57 tyre systemd[3200]: redshift.service: main process exited, code=exited, status=1/FAILURE
Aug 08 20:23:57 tyre systemd[3200]: Unit redshift.service entered failed state.
Aug 08 20:23:58 tyre systemd[3200]: redshift.service holdoff time over, scheduling restart.
Aug 08 20:23:58 tyre systemd[3200]: Stopping Redshift display colour temperature adjustment...
Aug 08 20:23:58 tyre systemd[3200]: Starting Redshift display colour temperature adjustment...
Aug 08 20:23:58 tyre systemd[3200]: redshift.service start request repeated too quickly, refusing to start.
Aug 08 20:23:58 tyre systemd[3200]: Failed to start Redshift display colour temperature adjustment.
Aug 08 20:23:58 tyre systemd[3200]: Unit redshift.service entered failed state.I know that my unit files for these services work because if I manually start them with "systemctl --user start <service>" then they work just fine, but when systemD is trying to start them when I login they fail. I have dbus setup like the wiki says to, and "DBUS_SESSION_BUS_ADDRESS" is defined. I also have the DISPLAY environment variable set in /etc/systemd/system/user@.service.d/display.conf like the wiki suggests as well. I know that SystemD user sessions still may not be ready for prime time but I could use a better way to manage these startup programs than the .xinitrc file.
Thanks in advance for any help
Offline