LXQt

From ArchWiki

In early 2013, Hong Jen Yee "PCMan" started porting LXDE components to Qt. The first preview of LXDE-Qt was released on July 3rd, 2013. On July 21st, it was announced that Razor-qt (a desktop similar in design to LXDE) and LXDE were merging.

The result is LXQt, a desktop built on Qt which partly uses Razor-qt and LXDE components. While development is mainly focused on LXQt, the GTK 2 version of LXDE will see continued development.

Installation

First, Install and configure xorg. Then, install the lxqt group and an icon theme (e.g. breeze-icons or oxygen-icons).

For additional functionality, you may wish to install the following:

  • LXQt Connman applet — LXQt system-tray applet for ConnMan.
https://github.com/lxqt/lxqt-connman-applet || lxqt-connman-appletAUR
  • nm-trayAUR or nm-tray-gitAUR A Qt based frontend for NetworkManager
  • SDDM — The recommended display manager for LXQt.
https://github.com/sddm/sddm || sddm
  • A screen locker, if needed. For example, slock or XScreenSaver. Both are confirmed to integrate with LXQt, others may too. If you want to disable screen locking upon suspend/sleep it is under LXQt > Preferences > LXQt Settings > Session Settings > Lock screen before suspending/hibernating checkbox.
    Tip: LXQt uses xdg-screensaver from xdg-utils for screen locking which only works with XScreenSaver and xautolock in LXQt session. You can use it or another screen locker by itself. For example, with slock you can follow Slock#Lock on suspend as well as install patched xdg-utils-slockAUR to obtain feelings expected by LXQt
  • You can now edit ~/.config/lxqt/lxqt.conf and add your screen-locker of choice, no need for xautolock anymore, for example to use i3lock add the following
[Screensaver]
lock_command=i3lock

Starting the desktop

Using xinit

Append the following line to Xinitrc:

~/.xinitrc
exec startlxqt

Graphical login

Choose LXQt Desktop from the menu in a display manager of choice.

Configuration

LXQt in general tries to provide GUI applications to change its settings. Configuration files are in ~/.config/lxqt. This directory is initialized automatically. The default configuration for new users is found in /etc/xdg/lxqt.

Screen Brightness

If you find that LXQt uses screen contrast control instead of screen brightness control for the screen brightness keyboard shortcuts, you can change the command to use xbacklight instead under the LXQt configuration center > shortcut keys

xbacklight -inc 10
xbacklight -dec 10

If you are using the Intel kernel modesetting driver xbacklight will not work, but you can use the following command instead

pkexec lxqt-backlight_backend --inc
pkexec lxqt-backlight_backend --dec

You may need to create two scripts for screen brightness up and down and point the keyboard shortcut to the path of the scripts for it to work.

Another way to change screen brightness is to use brightnessctl

brightnessctl -d intel_backlight set +5%
brightnessctl -d intel_backlight set 5%-

Panel widgets

If you cannot add the CPU and System Statistics widgets to the panel, make sure libstatgrab and libsysstat are installed.

Use a different window manager

While Openbox is the default window manager for LXQt, you can specify a different window manager to use with LXQt via Session Settings, lxqt-config-session; or by editing ~/.config/lxqt/session.conf. Change the following line:

window_manager=openbox

to a window manager of choice:

window_manager=your_window_manager

Autostart

To have X applications start on login, click the main menu from the LXQt > Preferences > LXQt Settings > Session Settings. Alternatively, this can be launched with:

$ lxqt-config-session

From this window, click on AutoStart on the left side. Here you can add a new application to either the global autostart (launched in all sessions implementing the XDG Autostart specification) or your local autostart (labelled LXQt Autostart) (See issue 746 for a bug related to this option). For each item you add, lxqt-config-session will create a Desktop entry (.desktop file) in the appropriate XDG Autostart directory.

The distinction between "Global Autostart" and "LXQt Autostart" does not depend on the directory in which the corresponding .desktop file is located, but rather on the OnlyShowIn setting. If it is OnlyShowIn=true, it is considered an "LXQt Autostart". Furthermore, if X-LXQt-Module=true, the item is not shown in lxqt-config-session.

Set-up environment variables

Environment variables for LXQt session can be defined in Session Settings.

Editing the Application Menu

It is possible to edit menu entries by editing their .desktop files stored in /usr/share/applications/lxqt-*.desktop files. See Desktop entries.

Tips and tricks

Screen Compositor

You can add a compositor like picom to autostart applications with a command like the following

picom --vsync -r 12 --no-fading-openclose -b

Customizing Leave

One can customize the options available under Leave simply by copying the respective package provide .desktop file to ~/.local/share/applications and modifying it to contain the NoDisplay=true directive. Reference: #876.

Complete list of files to consider masking include:

lxqt-hibernate.desktop
lxqt-leave.desktop
lxqt-lockscreen.desktop
lxqt-logout.desktop
lxqt-reboot.desktop
lxqt-shutdown.desktop
lxqt-suspend.desktop

Example: remove hibernate option.

$ mkdir -p ~/.local/share/applications
$ sed '/OnlyShowIn/aNoDisplay=true' </usr/share/applications/lxqt-hibernate.desktop >~/.local/share/applications/lxqt-hibernate.desktop

Troubleshooting

Desktop icons are grouped together

When moving icons on the desktop it is possible to place them a bit too close to each other making them connected. If unable to separate them Stop Desktop from Session Settings, remove ~/.config/pcmanfm-qt/lxqt/desktop-items-0.conf and Start Desktop again.

Run LXQt with xrdp

Running LXQt with xrdp for remote login has the benefit of being fast and convenient, while minimizing resource consumption on the server. Setting up xrdp is rather painless, and only requires a user to adjust the ~/.xinitrc. Since LXQt appears to rely on some D-Bus service functionality, that file should have the following line at the end [1]:

exec dbus-run-session -- startlxqt

See also