[systemd-devel] mate desktop user service file

arnaud gaboury arnaud.gaboury at gmail.com
Tue Dec 9 02:46:21 PST 2014


On Thu, Dec 4, 2014 at 7:06 PM, arnaud gaboury <arnaud.gaboury at gmail.com> wrote:
> On Thu, Dec 4, 2014 at 4:20 PM, arnaud gaboury <arnaud.gaboury at gmail.com> wrote:
>>>
>>> You seem to be using some mechanism for starting 'systemd --user' that
>>> gives it a DBUS_SESSION_BUS_ADDRESS that assumes dbus-daemon is being
>>> started via a specific third-party implementation of a dbus.service for
>>> the user bus, possibly from "user-session-units". If you use the part of
>>> user-session-units that assumes a dbus-daemon will be launched, but not
>>> the part that actually launches the dbus-daemon, then I'm afraid you get
>>> to keep both pieces.
>>>
>>> Neither dbus nor systemd currently ships that dbus.service. When I
>>> suggested adding one to dbus, Lennart asked me to use a different path
>>> for the socket, then said he had no plans to support a non-kdbus user
>>> bus at all ... so that feature request is on hold.
>>> (https://bugs.freedesktop.org/show_bug.cgi?id=61301 if you're interested.)
>>>
>>> Find what is setting DBUS_SESSION_BUS_ADDRESS, and make it not do that.
> ----------------------------------------------
>     └─session-c2.scope
>       ├─2908 login -- gabx
>       ├─2911 -zsh
>       ├─2929 /bin/sh /usr/bin/startx
>       ├─2951 xinit /home/gabx/.xinitrc -- /etc/X11/xinit/xserverrc :0
> vt1 -auth /tmp/serverauth.7yJtuNYzPM
>       ├─2952 /usr/bin/Xorg.bin -nolisten tcp :0 vt1 -auth
> /tmp/serverauth.7yJtuNYzPM vt1
>       ├─2956 i3
>       ├─2979 firefox-aurora
>       ├─2980 i3bar --bar_id=bar-0 --socket=/run/user/1000/i3/ipc-socket.2956
>       ├─2982 urxvt
>       ├─2985 caja --no-desktop
>       ├─2987 urxvt
>       ├─2996 i3status --config=~/.config/i3/i3status.conf
>       ├─3011 dbus-launch --autolaunch=77f348a2b3fb429b85a5de751ea9175a
> --binary-syntax --close-stderr
>
> -------------------------------
>

It took me numerous tests and lots of reading the dbus literature, but
I finally managed what I wanted.

First, I parsed
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/dbus/user_bus_socket
in my X environment (adding in ~/.xprofile). This way X11 services
have a given dbus adress.
Then I started my dbus user session this way :
ExecStart=/usr/bin/dbus-daemon --config-file=/etc/dbus-1/session.conf
(removed the --nofork --nopidfile --systemd-activation options).

This leaves me with only one dbus session:
157:gabx       961   913  0 11:41 ?        00:00:00
/usr/bin/dbus-daemon --config-file=/etc/dbus-1/session.conf

and this output from systemd-cgls:

-------------------------------------
└─user.slice
  └─user-1000.slice
    ├─user at 1000.service
    │ ├─913 /usr/lib/systemd/systemd --user
    │ ├─927 (sd-pam)
    │ ├─dbus.service
    │ │ ├─ 961 /usr/bin/dbus-daemon --config-file=/etc/dbus-1/session.conf
    │ │ ├─1419 /usr/lib/gvfs/gvfsd
    │ │ ├─1427 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
    │ │ ├─1453 /usr/lib/gvfs/gvfs-udisks2-volume-monitor
    │ │ ├─1477 /usr/lib/at-spi2-core/at-spi-bus-launcher
    │ │ ├─1486 /usr/lib/gvfs/gvfs-afc-volume-monitor
    │ │ ├─1491 /usr/lib/gvfs/gvfsd-trash --spawner :1.1
/org/gtk/gvfs/exec_spaw/0
    │ │ ├─1529 /usr/lib/GConf/gconfd-2
    │ │ └─1534 /usr/lib/dconf/dconf-service
    │ ├─xinit.service
    │ │ ├─1346 /usr/bin/xinit
    │ │ ├─1347 /usr/bin/Xorg.bin -nolisten tcp vt1
    │ │ ├─1354 i3
    │ │ ├─1393 firefox-aurora
    │ │ ├─1394 i3bar --bar_id=bar-0 --socket=/run/user/1000/i3/ipc-socket.1354
    │ │ ├─1396 caja --no-desktop
    │ │ ├─1398 urxvt
    │ │ ├─1400 urxvt
    │ │ ├─1403 i3status --config=~/.config/i3/i3status.conf
    │ │ ├─1405 zsh
    │ │ ├─1406 zsh
    │ │ ├─1546 adb -P 5037 fork-server server
    │ │ ├─1734 systemd-cgls
    │ │ └─1735 less
    │ ├─tmux.service
    │ │ ├─963 /usr/bin/tmux new-session -d -n irc irssi && hangups
    │ │ ├─964 zsh -c irssi && hangups
    │ │ └─968 irssi
    │ ├─urxvtd.service
    │ │ └─1276 /usr/bin/urxvtd -o -q -f
    │ ├─gpg-agent.service
    │ │ └─966 /usr/bin/gpg-agent --daemon --homedir=/home/gabx/.config/gnupg
    │ ├─ssh-agent.service
    │ │ └─958 /usr/bin/ssh-agent -d -a /run/user/1000/ssh_auth_sock
    │ └─mate-settings-daemon.service
    │   ├─1605 /usr/lib/mate-settings-daemon/mate-settings-daemon
    │   └─1613 /usr/bin/pulseaudio --start --log-target=syslog
    └─session-c1.scope
      ├─1296 login -- gabx
      └─1326 -zsh


More information about the systemd-devel mailing list