Ошибка ‘Failed to connect to bus: No such file or directory’ встречается в операционных системах Linux довольно часто. Ошибка может появится при запуске службы через systemctl или при выключении компьютера
Systemctl: Failed to connect to bus: No such file or directory
При попытке запустить любую команду в формате systemctl –user, например:
systemctl --user status
systemctl --user
systemctl –--start|stop <servicename>
Появляется ошибка
Failed to connect to bus: No such file or directory В первую очередь проверьте что на вашем хосте запущена служба systemd-logind:
$ sudo service systemd-logind status
Если служба systemd-logind запущена, в этом случае вам должна помочь установка пакета dbus-user-session. $ sudo apt install dbus-user-session И перезагрузите хост. Также рекомендуется обновить пакет:
$ sudo apt install --reinstall libpam-systemd
Если вы переключаетесь в сессию пользователя из root или другого аккаунта, нужно отредактировать файл .bashrc пользователя и добавить в него две переменные окружения:
export XDG_RUNTIME_DIR=/run/user/$(id -u) export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
UsePAM yes
Ошибка команды shutdown: Failed to connect to bus: No such file or directory
В некоторых дистрибутивах Linux (в том числе в WSL/Windows Subsystem for Linux) при запуске команды shutdown вы можете получить ошибку: «Failed to connect to bus: No such file or directory«. В результате, вы не можете корректно выключить свой Linux хост.
$ sudo shutdown
[sudo] password for user: Failed to connect to bus: No such file or directory
Проверьте, что в Linux установлен компонент dbus (на примере Ubuntu/Debian):
$ sudo apt-get install dbus
Если dbus отсутствует, установите его:
$ sudo apt install dbus
Если dbus установлен (dbus is already the newest version), попробуйте переустановить его:
$ sudo apt-get install --reinstall dbus
Для исправления проблемы нужно запустить демон dbus через systemctl с помощью команды:
$ sudo systemctl start dbus
На старых версиях Linux с init (в моем случае это WSL Ubuntu 20.04 LTS), используйте команду:
$ sudo /etc/init.d/dbus start
После запуска dbus, команда shutdown должна выполняться без ошибок.