10ne1 edited this page Dec 31, 2016 · 3 revisions

Launching LXQt sessions

LXQt sessions are launched by a script startlxqt which belongs to lxqt-common, and handled by a binary ("session manager") lxqt-session which belongs to lxqt-session.

Launching from virtual terminals

In order to launch LXQt sessions from virtual terminals you have to write a line

exec startlxqt

in file ~/.xinitrc (and make sure no other "exec" entry like this exists). The session can be launched by simply running startx in a virtual terminal's shell that way.

Launching by display managers

Display managers like SDDM, the one recommended for LXQt, or LightDM are looking for available sessions in files $XDG_DATA_DIRS/xsessions/*.desktop where $XDG_DATA_DIRS is set to /usr/share/ most of the times.
LXQt is providing a file lxqt.desktop so its session should normally be detected and made available by display managers automatically, restarting the latter may be needed upon installing LXQt.

Note if LXQt was installed in /usr/local file lxqt.desktop is stored in /usr/local/share/xsessions which is not considered by most display managers. So you'll either have to copy the file to /usr/share/xsessions/ or create a symbolic link.

Fixing crashes for apps using dbus-daemon (common when using lxqt-config-monitor)

Important: This applies only to systems running systemd which have this problem.

On some systems (like the default ArchLinux install), dbus-daemon is started as a systemd service before the xserver thus it has no $DISPLAY variable set in it's environment, leding to crashes. Systemd by default includes a script to fix this by fetching the variables in /etc/X11/xinit/xinitrc.d/ If you encounter this kind of crash add the following lines to your .xinitrc before exec startlxqt

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 unset f