Risposte:
Ho avuto lo stesso problema quando ho effettuato l'accesso remoto alla mia casella di Gentoo tramite SSH. Nel mio caso ciò è dovuto alla mancanza delle variabili di ambiente XDG_RUNTIME_DIR
e DBUS_SESSION_BUS_ADDRESS
. Esegui i seguenti comandi e riprova:
export XDG_RUNTIME_DIR="/run/user/$UID"
export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
Se questo aiuta, puoi inserire questi comandi nel tuo .bashrc. Immagino che ci debba essere una soluzione più elegante di .bashrc, ma dipende dalla tua distribuzione.
Qui è dove ho trovato quella soluzione.
Modificare:
loggato come root, sono riuscito a funzionare correttamente systemctl --user
come un altro utente usando su
come segue:
su -c 'XDG_RUNTIME_DIR="/run/user/$UID" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status' username
o usando sudo
(nota, ho dovuto aggiungere esplicitamente l'UID (1000) dei rispettivi utenti al percorso '/ run / user /', ma se lo stai eseguendo da uno script bash puoi usare invece $ SUDO_UID):
sudo -u username XDG_RUNTIME_DIR="/run/user/1000" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status
/etc/profile.d/dbus.sh
. Immagino abbiasudo
bisogno di quelli autorizzati, perché cancella l'ambiente per impostazione predefinita. Non sono sicuro, tuttavia, se trasferirà solo la dir runtime dell'utente corrente.