Por que o gvfs com systemd dbus timeout?

4

Estou executando o systemd-231 no Arch Linux.

Quando eu entro, o systemd inicia um dbus, mas parece que há algum problema com o gvfs interagindo com esse dbus. Se eu iniciar um dbus em um terminal, o novo dbus parece funcionar bem.

» 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

chamadas para gvfs parecem ser afetadas pelo tempo limite do daemon gvfs.

por exemplo,

» 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

O endereço do D-Bus parece estar configurado corretamente:

» echo $DBUS_SESSION_BUS_ADDRESS
unix:path=/run/user/1034/bus

Se eu iniciar um dbus no terminal, esse dbus parece ser capaz de ativar os vários serviços gvfs e não recebo timeouts:

» 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

Por que o dbus não ativa corretamente com o systemd dbus?

    
por sw1nn 05.09.2016 / 22:46

1 resposta

0

Isso foi causado pela presença de um arquivo 'drop-in' /etc/systemd/system/[email protected]/dbus.conf que anulou a definição 'padrão' do [email protected] de /usr/lib/systemd/system e, em particular, alterou o DBUS_SESSION_BUS_ADDRESS

Como esse arquivo drop-in chegou lá ainda é um mistério. De acordo com pacman -Qo , não pertence a nenhum pacote. Presumo que algum pacote o tenha adicionado e, em seguida, não tenha sido removido corretamente em uma atualização subsequente. Não tenho certeza.

Depois de remover o arquivo /etc/systemd/system/[email protected]/dbus.conf , tudo parece funcionar bem.

    
por 16.11.2016 / 09:30