Linux - DesktopThis forum is for the discussion of all Linux Software used in a desktop context.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I got this distro called ArcoLinux, it is okay. I added e16 to it, Now I get this random dbus issue, when I logout then in again. I am seeing it when I logout then back in a few times that sometimes needs to be done. then on a second or third attempt it hangs.
using the ctrl+alt+backspace logs out the session as well, hitting this repeatedly to try and get it to reset, because I do (sometimes), I also found out when it logs in and just sits there not completing the login starting of the e16 or session of another desktop, eventually if left alone it will go completely into the session.
It was giving me a message a while ago which I posted on their forum that they gave me no solution. Which lead me to thinking can the session bus address to the user be killed and reestablished upon another login?
IN googling on this finding out i am not the only other one with what thought. Still I have not found a how to on it.
but after having to logout and in again a few times without waiting like for over 5 minutes it stuck again and when I let it sit until it completed its logging into the session completely. (e16) then everything did not start, so when I tried starting on the command line to see what I'd see I got this as I do believe as direct result of this dbus issue. If you look at the very bottom you'll see this dbus connection refused message.
Code:
[userx@arcomeo ~]$ wmix
wmix: mixer-alsa.c:301: mixer_alsa_set_channel: Assertion `(element >= 0) && (element < n_elements)' failed.
Aborted (core dumped)
[userx@arcomeo ~]$ variety
Traceback (most recent call last):
File "/usr/bin/variety", line 39, in <module>
variety.main()
File "/usr/lib/python3.7/site-packages/variety/__init__.py", line 154, in main
bus = dbus.SessionBus()
File "/usr/lib/python3.7/site-packages/dbus/_dbus.py", line 211, in __new__
mainloop=mainloop)
File "/usr/lib/python3.7/site-packages/dbus/_dbus.py", line 100, in __new__
bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
File "/usr/lib/python3.7/site-packages/dbus/bus.py", line 122, in __new__
bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /run/user/1000/bus: Connection refused
yes, I'd say you need to start a new session (and kill the old one).
what's being eval'd in your script?
"--exit-with-session" sounds like the correct switch. man page says what about it and possible other switches?
maybe you need to explicitly "dbus-launch --kill" or some such, on logout?
yes, I'd say you need to start a new session (and kill the old one).
what's being eval'd in your script?
"--exit-with-session" sounds like the correct switch. man page says what about it and possible other switches?
maybe you need to explicitly "dbus-launch --kill" or some such, on logout?
Is Arcolinux a systemd distro?
e16 uses a session.sh script
Code:
# - "stop" when e16 exits without restarting
#in a case statement it uses I have this
stop)
RunApps Stop
pkill -u $USER
;;
that I do suppose is suppose to kill everything the logged in user is running. because if I ran that in a terminal it logs me out. but dbus is still active. I do not know if maybe , now that I think about it, the login manager may have something to do with this process as well.
well have you tried adding a command to that that does what you want?
I have no explicit dbus starting commands in my startup file (~/.xinitrc in my case), but this instead:
Code:
if [ -d /etc/X11/xinit/xinitrc.d ]
then
for f in /etc/X11/xinit/xinitrc.d/*
do
[ -x "$f" ] && . "$f"
done
unset f
fi
which ultimately leads me to /etc/X11/xinit/xinitrc.d/50-systemd-user.sh:
Code:
#!/bin/sh
systemctl --user import-environment DISPLAY XAUTHORITY
if command -v dbus-update-activation-environment >/dev/null 2>&1; then
dbus-update-activation-environment DISPLAY XAUTHORITY
fi
that's different from what you're using.
systemd is version 242.
this is using a login manager, LightDM.
that line is in my system too, if I remove that dbus I use for e16 then i lose automount and such.
LigntDM and dbus
Code:
FILE /etc/conf.d/xdm
DISPLAYMANAGER="lightdm"
To start LightDM on boot, add dbus and xdm to the default runlevel. dbus is necessary because LightDM depends on it to pass messages:
root #rc-update add dbus default
root #rc-update add xdm default
To start LightDM now:
root #/etc/init.d/dbus start
root #/etc/init.d/xdm start
systemd
To start LightDM on boot:
root #systemctl enable lightdm
To start LightDM now:
root #systemctl start lightdm
which I assume it already setup.
I also assume that if a user logs out and another logs in dbus should be taken care of on a user by user case basis, and which desktop if switched and is same user dbus should adjust itself accordingly. upon logging out and back in again to preform the desktop change. Which seems to not be the case here.
#!/bin/sh
# Start DBUS session bus:
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
{
eval `dbus-launch --sh-syntax --exit-with-session`
echo "setting: $DBUS_SESSION_BUS_ADDRESS"
export DBUS_SESSION_BUS_ADDRESS
}
else
echo "alldone $DBUS_SESSION_BUS_ADDRESS"
fi
/usr/bin/starte16
This is mostly correct for my situation. However, --exit-with-session is designed to be used with an argument executable such as a session or window manager.
to launch a window manager from my .xinitrc to fix a problem where the user dbus-daemon was still running after logout but applications couldn't connect to it after the next login. Terminals and such would take several seconds to timeout waiting for dbus, then start -- very annoying. dbus-daemon needs to die and restart with each session and this is the way when your display manager or other session management doesn't do it. I use SlIm configured to load .xinitrc after login, so I must handle each session myself. Very similar to the problem as outlined above.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.