ajout d'infos suite à un souci rencontré
This commit is contained in:
parent
64f17bda2c
commit
f342a8b345
|
@ -419,3 +419,47 @@ systemd prend en compte les scripts dans `/etc/init.d/` :
|
|||
|
||||
* les scripts « classiques » sont pris en compte si il n'existe pas d'unité systemd avec le même nom (sa description commence alors par **LSB:**)
|
||||
* certains scripts sont juste là par compatibilité afin de pouvoir faire `/etc/init.d/foo start/stop/restart/status` mais c'est en fait l'unité systemd qui est prise en compte
|
||||
|
||||
|
||||
### Failed to get D-Bus connection: No such file or directory
|
||||
|
||||
Si en tant qu'utilisateur, on obtient l'erreur :
|
||||
|
||||
~~~
|
||||
$ systemctl --user status
|
||||
Failed to get D-Bus connection: No such file or directory
|
||||
~~~
|
||||
|
||||
S'assurer que l'on a bien une variable d'environnement du type :
|
||||
|
||||
~~~
|
||||
XDG_RUNTIME_DIR=/run/user/1042
|
||||
~~~
|
||||
|
||||
Avec un _strace_ on devrait voir quelque chose comme :
|
||||
|
||||
~~~
|
||||
$ strace systemctl --user status
|
||||
connect(3, {sa_family=AF_LOCAL, sun_path="/run/user/1042/systemd/private"}, 32) = -1 ECONNREFUSED (Connection refused)
|
||||
connect(3, {sa_family=AF_LOCAL, sun_path="/run/user/1042/bus"}, 20) = -1 ENOENT (No such file or directory)
|
||||
~~~
|
||||
|
||||
C'est surtout le premier élément qui est intéressant. _systemd_ doit maintenir des sockets Unix fonctionnelles quand un utilisateur est logué :
|
||||
|
||||
~~~
|
||||
$ lsof | grep /run/user/1042
|
||||
systemd 844 foo 11u unix 0xffff88082dbb9480 0t0 69531078 /run/user/1042/systemd/notify
|
||||
systemd 844 foo 12u unix 0xffff88082dbb9c00 0t0 69531080 /run/user/1042/systemd/private
|
||||
~~~
|
||||
|
||||
Pour le forcer à les récréer on pourra tester dans l'ordre :
|
||||
|
||||
* la commande `loginctl enable-linger foo` pour les rendre persistantes et voir l'effet (qui à désactiver après)
|
||||
* mv /var/lib/systemd/linger/foo /tmp puis `loginctl enable-linger foo`
|
||||
* mv /run/user/1042 puis `loginctl enable-linger foo`
|
||||
* redémarrer dbus : systemctl restart dbus
|
||||
* redémarrer systemd-logind : systemctl restart systemd-logind
|
||||
* stopper tous les process de l'utilisateur (voir avec lsof) puis se loguer "proprement" avec ssh ou login (et non pas sudo ou su)
|
||||
|
||||
* se loguer
|
||||
|
||||
|
|
Loading…
Reference in a new issue