A sudo
user named my-host
is getting the following error message when trying to reload systemctl
on an Amazon Linux 2 EC2 image.
[my-host@ip-12-3-4-56 ~]$ systemctl --user daemon-reload
Failed to get D-Bus connection: Connection refused
What specifically needs to be done to resolve and remove this error?
The other postings I have found on this error message are either related to Debian with an apt-get
solution that does not apply here, or are related to Docker images, which also do not apply here.
If the problem has to do with user privileges, what would need to be done to remediate the problem?
This machine has a requirement that some systemctl
commands like this must not run as sudo
.
TRY AGAIN WITH DIRECT LOGIN USER PER @Stewart's and @JdeBP's SUGGESTIONS:
We then tried using a sudo user that has direct ssh ability from the outside world, but still got the following results:
[ssh-login-user@ip-12-3-4-567 ~]$ systemctl --user daemon-reload
Failed to get D-Bus connection: No such file or directory
[ssh-login-user@ip-12-3-4-567 ~]$ echo $XDG_RUNTIME_DIR $UID
/run/user/1001 1001
[ssh-login-user@ip-12-3-4-567 ~]$ systemctl --user status
Failed to get D-Bus connection: No such file or directory
[ssh-login-user@ip-12-3-4-567 ~]$ sudo install -d -o ssh-login-user /run/user/`id -u ssh-login-user`
[sudo] password for ssh-login-user:
[ssh-login-user@ip-12-3-4-567 ~]$ sudo systemctl start user@`id -u ssh-login-user`
Failed to start user@1001.service: Unit not found.
[ssh-login-user@ip-12-3-4-567 ~]$ sudo -u ssh-login-user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/`id -u ssh-login-user`/bus systemctl --user
Failed to get D-Bus connection: No such file or directory
To confirm the state of systemctl
, we then also did the following, which reported one degraded service as follows:
● ip-12-3-4-567.aws-region-n.compute.internal
State: degraded
Jobs: 0 queued
Failed: 1 units
Since: Wed 2020-10-28 23:40:50 UTC; 7min ago
CGroup: /
├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
├─user.slice
│ └─user-1001.slice
│ └─session-2.scope
│ ├─18736 sshd: ssh-login-user [priv]
│ ├─18738 sshd: ssh-login-user@pts/0
│ ├─18739 -bash
│ ├─18792 sudo systemctl status
│ └─18793 systemctl status
└─system.slice
├─rngd.service
│ └─2692 /sbin/rngd -f
├─amazon-ssm-agent.service
│ ├─3810 /usr/bin/amazon-ssm-agent
│ └─4428 /usr/bin/ssm-agent-worker
├─libstoragemgmt.service
│ └─2694 /usr/bin/lsmd -d
├─systemd-udevd.service
│ └─1968 /usr/lib/systemd/systemd-udevd
├─system-serial\x2dgetty.slice
│ └─serial-getty@ttyS0.service
│ └─3273 /sbin/agetty --keep-baud 115200,38400,9600 ttyS0 vt220
├─chronyd.service
│ └─2685 /usr/sbin/chronyd
├─auditd.service
│ └─2646 /sbin/auditd
├─systemd-journald.service
│ └─1931 /usr/lib/systemd/systemd-journald
├─atd.service
│ └─3239 /usr/sbin/atd -f
├─sshd.service
│ └─3486 /usr/sbin/sshd -D
├─crond.service
│ └─3529 /usr/sbin/crond -n
├─gssproxy.service
│ └─2711 /usr/sbin/gssproxy -D
├─rsyslog.service
│ └─3229 /usr/sbin/rsyslogd -n
├─rpcbind.service
│ └─2683 /sbin/rpcbind -w
├─network.service
│ ├─2919 /sbin/dhclient -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid eth0
│ └─3034 /sbin/dhclient -6 -nw -lf /var/lib/dhclient/dhclient6--eth0.lease -pf /var/run/dhclient6-eth0.pid eth0
├─lvm2-lvmetad.service
│ └─1953 /usr/sbin/lvmetad -f
├─postfix.service
│ ├─3177 /usr/libexec/postfix/master -w
│ ├─3178 pickup -l -t unix -u
│ └─3179 qmgr -l -t unix -u
├─acpid.service
│ └─3456 /usr/sbin/acpid
├─dbus.service
│ └─2681 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
├─system-getty.slice
│ └─getty@tty1.service
│ └─3274 /sbin/agetty --noclear tty1 linux
└─systemd-logind.service
└─2686 /usr/lib/systemd/systemd-logind
What else can we do to resolve this problem?
ANSWER: We decided to continue running systemctl
as sudo
and instead to just specify the user in the .service
file so that the service will run as the specified user and not as root
or sudo
. We chose this approach because the answers below did not resolve the problem.
~/.config/systemd/user/
didn't exist, but that doesn't appear to the be the problem. It works fine with my primary user. – Stewart Oct 23 '20 at 06:50