私はArch Linuxでsystemd-231を実行しています。
ログインすると、systemdはdbusを起動しますが、gvfsはそのdbusと対話するのにいくつかの問題があるようです。ターミナルでdbusを起動すると、新しいdbusが正しく機能しているようです。
» systemctl --user status dbus.service
● dbus.service - D-Bus User Message Bus
Loaded: loaded (/usr/lib/systemd/user/dbus.service; static; vendor preset: enabled)
Active: active (running) since Mon 2016-09-05 20:51:05 BST; 40min ago
Docs: man:dbus-daemon(1)
Main PID: 3188 (dbus-daemon)
CGroup: /user.slice/user-1034.slice/[email protected]/dbus.service
├─3188 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
└─3288 /usr/lib/GConf/gconfd-2
Sep 05 21:17:50 a-host dbus-daemon[3188]: Failed to activate service 'org.gtk.vfs.Daemon': timed out
Sep 05 21:17:50 a-host dbus-daemon[3188]: Failed to activate service'org.freedesktop.systemd1': timed out
gvfsへの呼び出しはgvfs-daemonタイムアウトの影響を受けているようです。
例えば
» gvfs-ls /tmp # long wait before output
(gvfs-ls:12745): GVFS-WARNING **: Error creating proxy: Error calling StartServiceByName for org.gtk.vfs.Daemon: Timeout was reached (g-io-error-quark, 24)
systemd-private-0c85dfd7446c421ba74be6bfb562fc0e-systemd-timesyncd.service-8EY8dZ
D-Busアドレスが正しく設定されているようです。
» echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/1034/bus
ターミナルでdbusを起動すると、dbusはタイムアウトなしでさまざまなgvfsサービスを有効にできるようです。
» eval `dbus-launch --sh-syntax`
» echo $DBUS_SESSION_BUS_ADDRESS
unix:abstract=/tmp/dbus-iDDJAPUedN,guid=073a15321e1588b8db0a42f057cdd80d
» gvfs-ls /tmp # runs instantly
systemd-private-0c85dfd7446c421ba74be6bfb562fc0e-systemd-timesyncd.service-8EY8dZ
systemd dbusを使用してdbusを正しく有効にできないのはなぜですか?
答え1
これは、from、特に変更の「標準」定義をオーバーライドする「挿入」ファイルがあるために発生します。/etc/systemd/system/[email protected]/dbus.conf
[email protected]
/usr/lib/systemd/system
DBUS_SESSION_BUS_ADDRESS
インサートがどのようにそこに到達したかは謎のままです。報告によると、pacman -Qo
これはどのソフトウェアパッケージにも属しません。一部のパッケージがそれを追加し、その後の更新から正しく削除されなかったとします。わからない。
ファイルを削除した後、すべてが正しく機能しているようです。/etc/systemd/system/[email protected]/dbus.conf