LXQt: Difference between revisions

From Alpine Linux
m (→‎External Resources: added to DE category)
(fixed typo. no need to seperate external links)
 
(36 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[file:Lxqt_logo_and_name.svg | thumb | LXQt Logo]]
{{TOC right}}


[[file:LXQt_Dark_1.2.0.png | thumb | LXQt 1.2.0 Dark Theme Official Screenshot]]
[[File:LXQt Minimal Installation.png | thumb | LXQt 1.3.0 Basic Install with Papirus icons]]


'''[https://lxqt-project.org/ 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 [https://en.wikipedia.org/wiki/Razor-qt Razor-qt] projects merged creating LXQt.
'''[https://lxqt-project.org/ LXQt]''' is a lightweight QT based desktop environment.


= Prerequisites =
== Prerequisites ==
 
{{:Include:Desktop prerequisites}}
* [[Installation|Install]] Alpine Linux
* [[Setting_up_a_new_user#Creating_a_new_user|Create a user account]] (optional but recommended)
* [[Repositories#Enabling_the_community_repository|Enable the Community repository]]
* [[Alpine_setup_scripts#setup-xorg-base|Install Xorg]]
* [[Alpine_setup_scripts#setup-xorg-base|Install Xorg]]


= Basic LXQt Desktop Installation =
== Installation using setup-desktop ==
{{:Include:Setup-desktop}}
When lxqt is chosen, the {{ic|Setup-desktop}} script installs [[SDDM]] as display manager and completes all the steps listed below in the [[#Manual installation|Manual installation]] and [[#Basic Configuration|Basic Configuration]] sections.


{{Note|Although LXQt is available in the stable branch, certain parts of this guide do require using the Edge (and Testing) branch(es).<br>
== Manual installation ==
If you wish to use the latest version available, you will likely need to activate the Edge branch}}


{{Cmd|# apk add lxqt-desktop lxqt-core lxqt-panel lxqt-admin lxqt-config lxqt-notificationd lxqt-powermanagement lxqt-themes lximage-qt openbox obconf-qt arandr dbus sddm sddm-openrc}}
Add the following basic packages for LXQt installation:{{Cmd|# apk add {{Pkg|lxqt-desktop}} {{Pkg|lximage-qt}} {{Pkg|pavucontrol-qt}} {{Pkg|font-dejavu}}}}


{{Note|By default LXQt usually uses [[Openbox]] as its window manager, but LXQt supports many different window managers, See: [https://github.com/lxqt/lxqt/wiki/ConfigWindowManagers ConfigWindowManagers - LXQt Github wiki]}}
If using Xorg, the following packages are also suggested: {{Cmd|# apk add {{Pkg|arandr}} {{Pkg|obconf-qt}} {{Pkg|screengrab}} {{Pkg|sddm}}}}
{{Note|By default LXQt on Xorg uses [[Openbox]] as its window manager (it is a dependency of the {{Pkg|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: [https://github.com/lxqt/lxqt/wiki/ConfigWindowManagers Window Managers Configuration on the LXQt GitHub wiki]}}


Starting dbus (desktop bus) service:
If using wayland, the following packages are suggested: {{cmd|# apk add {{Pkg|lxqt-wayland-session}} {{Pkg|swayidle}} {{Pkg|swaybg}} {{Pkg|wlopm}} {{Pkg|labwc}}}}  
{{Cmd|# rc-service dbus start}}


Enabling dbus to start on boot:
{{Note|labwc is used for the initial configuration (e.g. picking compositor and screen locker) on wayland, but can safely be uninstalled afterwards if a different compositor is installed and selected. For additional compositor options see: [https://github.com/lxqt/lxqt/wiki/ConfigWaylandSettings LXQt Wayland Session on the LXQt GitHub wiki]}}
{{Cmd|# rc-update add dbus}}
 
If dbus is not running it leads to issues like missing icons and keyboard shortcuts.
 
Enabling udev service:
{{Cmd|# setup-devd udev}}


== Starting LXQt ==
== Starting LXQt ==


=== With a display manager (DM) ===
=== With a display manager (DM) ===


If the package {{Pkg|sddm}} has been installed, SDDM may be started to log in graphically with your new user.
If the package {{Pkg|sddm}} has been installed, SDDM may be started to log in graphically with your new user.
Line 44: Line 37:
=== From the command line ===
=== From the command line ===


LXQt may be started with:
LXQt for X11 may be started with:
{{cmd|# startlxqt}}
{{cmd|$ startlxqt}}
 
LXQt for Wayland may be started with:
{{cmd|$ startlxqtwayland}}


== Localized keyboard layout ==
== Localized keyboard layout ==
Line 51: Line 47:
Preferences → LXQt Settings → Keyboard and Mouse → Keyboard Layout
Preferences → LXQt Settings → Keyboard and Mouse → Keyboard Layout


== Allowing shut down and reboot ==
== Configuration ==
 
=== Allowing shut down and reboot ===


To enable users to shut down the machine or reboot, the packages {{Pkg|elogind}} and {{Pkg|polkit-elogind}} need to be installed.
To enable users to shut down the machine or reboot, the packages {{Pkg|elogind}} and {{Pkg|polkit-elogind}} need to be installed.
Line 58: Line 56:
A reboot is required to let it take effect.
A reboot is required to let it take effect.


== Auto-mounting USB drives ==
=== Auto-mounting USB drives ===


To enable automatic mounting of USB drives, install these packages:
To enable automatic mounting of USB drives, install these packages:
{{Cmd|# apk add gvfs udisks2}}
{{Cmd|# apk add {{pkg|gvfs|arch=}} {{pkg|udisks2|arch=}}}}
   
   
Depending on what devices you intend to mount, some additional packages may be needed:
Depending on what devices you intend to mount, some additional packages may be needed:
{{Cmd|ntfs-3g        Stable, full-featured, read-write NTFS (driver)
{{Cmd|{{pkg|ntfs-3g|arch=}}       Stable, full-featured, read-write NTFS (driver)
gvfs-cdda      CDDA support for gvfs
{{pkg|gvfs-cdda|arch=}}     CDDA support for gvfs
gvfs-afp      AFP support for gvfs
{{pkg|gvfs-afp|arch=}}       AFP support for gvfs
gvfs-goa      GNOME Online Accounts support for gvfs
{{pkg|gvfs-goa|arch=}}       GNOME Online Accounts support for gvfs
gvfs-mtp      MTP support for gvfs
{{pkg|gvfs-mtp|arch=}}       MTP support for gvfs
gvfs-smb      Windows fileshare support for gvfs
{{pkg|gvfs-smb|arch=}}       Windows fileshare support for gvfs
gvfs-lang      Languages for package gvfs
{{pkg|gvfs-lang|arch=}}     Languages for package gvfs
gvfs-afc      Apple mobile devices support for gvfs
{{pkg|gvfs-afc|arch=}}       Apple mobile devices support for gvfs
gvfs-nfs      NFS support for gvfs
{{pkg|gvfs-nfs|arch=}}       NFS support for gvfs
gvfs-dev      Backends for the gio framework in GLib (development files)
{{pkg|gvfs-dev|arch=}}       Backends for the gio framework in GLib (development files)
gvfs-archive  Archiving support for gvfs
{{pkg|gvfs-archive|arch=}}   Archiving support for gvfs
gvfs-dav      WebDAV support for gvfs
{{pkg|gvfs-dav|arch=}}       WebDAV support for gvfs
gvfs-fuse      FUSE support for gvfs
{{pkg|gvfs-fuse|arch=}}     FUSE support for gvfs
gvfs-gphoto2  gphoto2 support for gvfs
{{pkg|gvfs-gphoto2|arch=}}   gphoto2 support for gvfs
gvfs-avahi    DNS-SD support for gvfs}}
{{pkg|gvfs-avahi|arch=}}     DNS-SD support for gvfs}}


To list descriptions of all gvfs- packages:
To list descriptions of all gvfs- packages:
{{cmd|# apk info -d gvfs-*}}
{{cmd|# apk info -d {{pkg|gvfs-*|arch=x86_64}}}}
 
=== Enabling privilege escalation GUI ===


== Network browsing ==
To enable the privilege escalation GUI for a doas/sudo user, you need to install {{Pkg|elogind}}, {{Pkg|polkit-elogind}}, and {{Pkg|sddm}}.
 
To have elogind run, either make them start automatically at system start:
{{Cmd|# rc-update add elogind}}
 
or start them manually for this time only:
{{Cmd|# rc-service elogind start }}
 
=== 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 browsing of network shares within LXQt that works with file associations, you can install the gvfs packages for the network protocols you use.
Line 91: Line 99:


(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:)
(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:)
{{Cmd|# apk add gvfs-fuse}}
{{Cmd|# apk add gvfs-fuse}}


The OpenRC script for fuse is in a separate package.
The OpenRC script for fuse is in a separate package.
{{Cmd|# apk add fuse-openrc}}
{{Cmd|# apk add {{pkg|fuse-openrc|arch=}}}}


Then the fuse service can be started manually.
Then the fuse service can be started manually.
Line 103: Line 110:
{{Cmd|# rc-update add fuse}}
{{Cmd|# rc-update add fuse}}


== Enabling privilege escalation GUI ==
=== Screen Compositor ===


To enable the privilege escalation GUI for a doas/sudo user, you need to install {{Pkg|elogind}}, {{Pkg|polkit-elogind}}, and {{Pkg|sddm}}.
To enable different effects (transparency, for example) {{Pkg|picom}} can be used.
 
After installation, add it to the ''Autostart'' section of the '''LXQt Session Settings'''.
 
The default configuration is available in {{Path|/etc/xdg/picom.conf.example}}. For modifications, it can be copied to {{Path|~/.config/picom/picom.conf}} or {{Path|~/.config/picom.conf}}.


To have elogind run, either make them start automatically at system start:
Either modify the config file to your taste, or change the Autostart command line options. For example, <code>picom --vsync -r 12 --no-fading-openclose -b</code>.


{{Cmd|# rc-update add elogind}}
=== Panel Widgets ===


or start them manually for this time only:
If you cannot add the CPU and System Statistics widgets to the panel, make sure {{Pkg|libstatgrab}} and {{Pkg|libsysstat}} are installed.


{{Cmd|# rc-service elogind start }}
=== Appearance Tweaking ===


== Panel Widgets ==
==== Location of appearance-related configuration files ====


If you cannot add the CPU and System Statistics widgets to the panel, make sure {{Pkg|libstatgrab}} and {{Pkg|libsysstat}} are installed.
User-specific configuration is stored in {{Path|~/.config/lxqt/}}.


= Troubleshooting =
LXQt themes are [https://doc.qt.io/qt-6/stylesheet.html qss stylesheets]. They are located in {{Path|/usr/share/lxqt/themes/}} or {{Path|~/.local/share/lxqt/themes}}.


== Missing Icons and Fonts ==
Qt Palette colors can be modified in lxqt-config-appearence > Widget Style > Qt Palette. Custom palettes are saved in {{Path|~/.local/share/lxqt/palettes/}}.


By default a Desktop Environments needs icons. {{Pkg|adwaita-icon-theme}} is a good start.
==== Additional QT Styles ====
{{Cmd|# apk add adwaita-icon-theme}}


See [[Fonts]] for more information on fonts.
Several packages provide additional QT Styles:
{{Cmd|# apk add {{Pkg|adwaita-qt}} {{Pkg|breeze}} {{Pkg|oxygen}}}}


= Optional packages =
They also provide additional cursors.


== Appearance Tweaking ==
==== Consistant Theming ====


Adding the KEY=VAL <code>QT_QPA_PLATFORMTHEME=lxqt</code> to the Environment section of the Session Settings [https://github.com/lxqt/lxqt-qtplugin#configuration-usage is suggested by the LXQt developers]. Then every Qt5 program can load the theme plugin.
Adding the KEY=VAL <code>QT_QPA_PLATFORMTHEME=lxqt</code> to the Environment section of the Session Settings [https://github.com/lxqt/lxqt-qtplugin#configuration-usage is suggested by the LXQt developers]. Then every Qt5 program can load the theme plugin.
Line 136: Line 147:
Another option, however, is to to install the package {{Pkg|qt5ct}} (from [[Repositories | Testing]]) and appending the line <code>QT_QPA_PLATFORMTHEME=qt5ct</code> 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 <code>qt5ct-style</code>.
Another option, however, is to to install the package {{Pkg|qt5ct}} (from [[Repositories | Testing]]) and appending the line <code>QT_QPA_PLATFORMTHEME=qt5ct</code> 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 <code>qt5ct-style</code>.


== Documentation ==
==== Additional Packages ====
 
When using themes found around the web, it is possible that they are dependant on different packages. Consider using {{Pkg|qt5-qtgraphicaleffects}}, {{Pkg|qt5-qtquickcontrols}}, and {{Pkg|qt5-qtquickcontrols2}}.
 
== Documentation packages ==


* {{Pkg|lxqt-config-doc}}  
* {{Pkg|lxqt-config-doc}}  
Line 145: Line 160:
* {{Pkg|lxqt-session-doc}}
* {{Pkg|lxqt-session-doc}}
* {{Pkg|lxqt-sudo-doc}}
* {{Pkg|lxqt-sudo-doc}}
* {{Pkg|lxqt-wayland-session-doc}}


== Development files ==
== Development files ==


* {{Pkg|libdbusmenu-lxqt-dev}}
* {{Pkg|liblxqt-dev}}
* {{Pkg|lxqt-globalkeys-dev}}  
* {{Pkg|lxqt-globalkeys-dev}}  
* {{Pkg|lxqt-panel-dev}}
* {{Pkg|lxqt-panel-dev}}
* {{Pkg|lxqt-build-tools}}


== Misc ==
== Help wanted ==


* {{Pkg|lxqt-build-tools}}
The following LXQt components are not yet packaged in Alpine Linux:
* lxqt_wallet
 
The following LXQt components are out-of-date:
* obconf-qt (need an X11+openbox user to build the latest version and test it)
 
== Troubleshooting ==


= See Also =
=== Missing Icons and Fonts ===


* [[Installation#Post-Install|Post Install]]
By default a Desktop Environment needs icons. {{Pkg|adwaita-icon-theme}} is a good start.
* [[Desktop environments and Window managers]]
{{Cmd|# apk add adwaita-icon-theme}}
 
See [[Fonts]] for more information on fonts.


= External Resources =
== See also ==


* [[Installation#Post-Installation|Post Install]]
* [[Desktop environments and Window managers]]
* [https://lxqt.github.io/ LXQt Homepage]
* [https://lxqt.github.io/ LXQt Homepage]
* [https://github.com/lxqt/lxqt LXQt on GitHub]
* [https://github.com/lxqt/lxqt LXQt on GitHub]

Latest revision as of 10:01, 17 March 2025

LXQt 1.3.0 Basic Install with Papirus icons

LXQt is a lightweight QT based desktop environment.

Prerequisites

Installation using setup-desktop

The Alpine Linux script for quickly setting up a desktop is:

# setup-desktop

On running the above command, you will be prompted to select a desktop environment.

Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none') [none]

Once you have chosen a desktop environment, this script installs the chosen desktop along with necessary packages, firefox browser and adds necessary services to run on startup. You can reboot when complete, and the system will boot into a graphical login screen with the chosen desktop environment. To view the packages installed by the script: $ cat /usr/sbin/setup-desktop When lxqt is chosen, the Setup-desktop script installs SDDM as display manager and completes all the steps listed below in the Manual installation and Basic Configuration sections.

Manual installation

Add the following basic packages for LXQt installation:

# apk add lxqt-desktop lximage-qt pavucontrol-qt font-dejavu

If using Xorg, the following packages are also suggested:

# apk add arandr obconf-qt 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

If using wayland, the following packages are suggested:

# apk add lxqt-wayland-session swayidle swaybg wlopm labwc

Note: labwc is used for the initial configuration (e.g. picking compositor and screen locker) on wayland, but can safely be uninstalled afterwards if a different compositor is installed and selected. For additional compositor options see: LXQt Wayland Session on the LXQt GitHub wiki

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

LXQt for Wayland may be started with:

$ startlxqtwayland

Localized keyboard layout

Preferences → LXQt Settings → Keyboard and Mouse → Keyboard Layout

Configuration

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-*

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

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

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.

Panel Widgets

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

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 packages

Development files

Help wanted

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

  • lxqt_wallet

The following LXQt components are out-of-date:

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

Troubleshooting

Missing Icons and Fonts

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

# apk add adwaita-icon-theme

See Fonts for more information on fonts.

See also