LXQt

From Alpine Linux
Revision as of 07:01, 10 November 2024 by Zcrayfish (talk | contribs) (→‎Help wanted: obconf-qt)
LXQt 1.3.0 Basic Install with Papirus icons

LXQt is a lightweight QT based desktop environment. LXQt was originally a port of LXDE to QT (called LXDE-Qt), it was created due to LXDE maintainer Hong Jen Yee being dissatisfied with GTK 3. On 21 July 2013 the LXDE(-Qt) and Razor-qt projects merged creating LXQt.

Prerequisites

Basic LXQt Desktop Installation

Begin the installation by adding basic packages:

# apk add lxqt-desktop lximage-qt obconf-qt pavucontrol-qt

If using Xorg, the following packages are also suggested:

# apk add arandr screengrab sddm

Note: By default LXQt on Xorg uses Openbox as its window manager (it is a dependency of the lxqt-desktop package). LXQt supports many different window managers and wayland compositors. Openbox has not been maintained for 9 years. Similar window managers are JWM and PeKWM. For additional Window Manager options See: Window Managers Configuration on the LXQt GitHub wiki

Starting dbus (desktop bus) service:

# rc-service dbus start

Enabling dbus to start on boot:

# rc-update add dbus

If dbus is not running it leads to issues like missing icons and keyboard shortcuts.

Setting up eudev on a desktop system is recommended:

# setup-devd udev

For more details and advanced instructions see Device Manager.

Starting LXQt

With a display manager (DM)

If the package sddm has been installed, SDDM may be started to log in graphically with your new user.

# rc-service sddm start

After correct operation is verified, sddm can be enabled to start up during boot:

# rc-update add sddm

From the command line

LXQt for X11 may be started with:

# startlxqt

Localized keyboard layout

Preferences → LXQt Settings → Keyboard and Mouse → Keyboard Layout

Allowing shut down and reboot

To enable users to shut down the machine or reboot, the packages elogind and polkit-elogind need to be installed.

# apk add elogind polkit-elogind

A reboot is required to let it take effect.

Auto-mounting USB drives

To enable automatic mounting of USB drives, install these packages:

# apk add gvfs udisks2

Depending on what devices you intend to mount, some additional packages may be needed:

ntfs-3g Stable, full-featured, read-write NTFS (driver) gvfs-cdda CDDA support for gvfs gvfs-afp AFP support for gvfs gvfs-goa GNOME Online Accounts support for gvfs gvfs-mtp MTP support for gvfs gvfs-smb Windows fileshare support for gvfs gvfs-lang Languages for package gvfs gvfs-afc Apple mobile devices support for gvfs gvfs-nfs NFS support for gvfs gvfs-dev Backends for the gio framework in GLib (development files) gvfs-archive Archiving support for gvfs gvfs-dav WebDAV support for gvfs gvfs-fuse FUSE support for gvfs gvfs-gphoto2 gphoto2 support for gvfs gvfs-avahi DNS-SD support for gvfs

To list descriptions of all gvfs- packages:

# apk info -d gvfs-*

Network browsing

For browsing of network shares within LXQt that works with file associations, you can install the gvfs packages for the network protocols you use.

For example, to browse in a SMB/cifs windows network:

# apk add gvfs-smb

(Check: If the above may already be sufficient for gvfs to initiate the fuse kernel module. Else, try to identify if there are necessary steps in:)

# apk add gvfs-fuse

The OpenRC script for fuse is in a separate package.

# apk add fuse-openrc

Then the fuse service can be started manually.

# rc-service fuse start

If it works, the fuse service can be added to start up automatically at boot time:

# rc-update add fuse

Enabling privilege escalation GUI

To enable the privilege escalation GUI for a doas/sudo user, you need to install elogind, polkit-elogind, and sddm.

To have elogind run, either make them start automatically at system start:

# rc-update add elogind

or start them manually for this time only:

# rc-service elogind start

Panel Widgets

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

Troubleshooting

Missing Icons and Fonts

By default a Desktop Environments needs icons. adwaita-icon-theme is a good start.

# apk add adwaita-icon-theme

See Fonts for more information on fonts.

Optional Configuration

Screen Compositor

To enable different effects (transparency, for example) picom can be used.

After installation, add it to the Autostart section of the LXQt Session Settings.

The default configuration is available in /etc/xdg/picom.conf.example. For modifications, it can be copied to ~/.config/picom/picom.conf or ~/.config/picom.conf.

Either modify the config file to your taste, or change the Autostart command line options. For example, picom --vsync -r 12 --no-fading-openclose -b.


Appearance Tweaking

Location of appearance-related configuration files

User-specific configuration is stored in ~/.config/lxqt/.

LXQt themes are qss stylesheets. They are located in /usr/share/lxqt/themes/ or ~/.local/share/lxqt/themes.

Qt Palette colors can be modified in lxqt-config-appearence > Widget Style > Qt Palette. Custom palettes are saved in ~/.local/share/lxqt/palettes/.


Additional QT Styles

Several packages provide additional QT Styles:

# apk add adwaita-qt breeze oxygen

They also provide additional cursors.


Consistant Theming

Adding the KEY=VAL QT_QPA_PLATFORMTHEME=lxqt to the Environment section of the Session Settings is suggested by the LXQt developers. Then every Qt5 program can load the theme plugin.

Another option, however, is to to install the package qt5ct (from Testing) and appending the line QT_QPA_PLATFORMTHEME=qt5ct to the environmental settings in the Environment section of the Session Settings will allow you to achieve a unified appearance between apps. Then, in the LXQt Appearance Configuration, under Widget Style, set Qt Style to qt5ct-style.


Additional Packages

When using themes found around the web, it is possible that they are dependant on different packages. Consider using qt5-qtgraphicaleffects, qt5-qtquickcontrols, and qt5-qtquickcontrols2.

Documentation

Development files

Misc

Help wanted

The following LXQt components are not yet packaged in Alpine Linux:

  • lxqt_wallet
  • lxqt-wayland-session (will be added to testing repo after LXQt 2.1 is packaged)

The following LXQt components are out-of-date:

  • obconf-qt (need an X11+openbox user to build the latest version and test it)

See Also

External Resources