From Alpine Linux
Revision as of 12:27, 12 May 2021 by Sb1 (talk | contribs)

Xfce screenshot.


Basic Xfce desktop installation

Packages to install:

# apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter

Note: If Xfce should only be started from the command line, without a graphical login, the installation of the display manager can be omitted.

For this, leave out the package lightdm-gtk-greeter, but instead add adwaita-gtk2-theme adwaita-icon-theme.

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.

Starting Xfce

With a display manager (graphical login)

If the package lightdm-gtk-greeter has been installed above, the lightdm display manager may be started to log in graphically with your new user.

# rc-service lightdm start

Once you have verified that it actually works, lightdm can be enabled to start up during boot:

# rc-update add lightdm

= From the command line

From a console, Xfce may be started with:


But when it should get started via another script or mechanism like xinit, then use startxfce4. For example, calling it with "exec startxfce4" at the end of the ~/.xinitrc configuration file.

Allowing shut down and reboot

In order to allow the users to shut down the machine or reboot, the packages elogind and polkit-elogind need to be installed.

# apk add elogind polkit-elogind

And the display manager needs to be restarted.

# rc-service lightdm restart

Installing fuse

For browsing of network shares within XFCE that works seamlessly with file associations, you can install gvfs-fuse and the gvfs packages for the network protocols you use. For instance, for SMB:

# apk add gvfs-fuse gvfs-smb

Presently (3.11), the OpenRC script for fuse is in a separate package. However, it may be sufficient for GVfs to initiate the fuse kernel module:

# apk add fuse-openrc

Then you can manually start the fuse service (you'll need to restart any XFCE sessions already in progress -- you can log them out and log in again):

# rc-service fuse start

You can set the fuse service to start up automatically at boot:

# rc-update add fuse

Auto-mounting USB drives

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

# apk add thunar-volman udisks2

Depending on what USB devices you intend to mount, some additional packages may be have to be added to the above:

ntfs-3g: NTFS support gvfs-mtp: media players and mobile devices that use MTP gvfs-gphoto2: digital cameras and mobile devices that use PTP gvfs-afc: Apple mobile devices

Also, make sure that mounting is enabled in

Thunar>Edit>Preferences>Advanced>Volume Management>Configure>Storage>Removable Storage



If the Xorg server segfaults in kvm/qemu then add nomodeset as a boot option when booting up.

If the mouse / keyboard is not responding, you can try to disable hotplug.

  Section "ServerFlags"
    Option "AutoAddDevices" "False"

If the mouse / keyboard is not responding, you can try to disable hotplug.

  Section "ServerFlags"
    Option "AutoAddDevices" "False"


If you are unable to login, check /var/log/lightdm/lightdm.log, there may be output there from X to indicate failed modules, etc.

If you are unable to login, or you see an error "Failed to execute login command", you should check ~/.xinitrc (if you're using .xinitrc) with your preferred text editor (vi, nano, etc) and ensure that it is set to load xfce. To do this, the 'exec' line (usually the last line in the file) should read "exec startxfce4". If ~/.xinitrc does not exist, create it and add the exec line. this command will do it:

$ echo "exec startxfce4" >> ~/.xinitrc


= Compositor

If you login to xfce once, logout, and then login again, and your panel and windows disappear or start flickering, this is because xfce is writing a default config file with the compositor enabled, but does not enable it during your first login. Clear out the ~/.config/xfce directory, and login as "first time" again, as the default vblank setting for the compositor is likely incorrect. Open the windows manager tweaks and dconf editor (or use dconf-query) before you log out. Tick the compositor to off in the window manager tweaks ui. If you have a recent enough xfce (4.14) there is a ui in window manager tweaks to set syncing mode, and you can try different values, such as vblank, xpresent, and glx, while turning the compositor on and off, until you find one that works. Or, from dconf editor, you can set xfwm4 /general/vblank_mode, which you will find is set to "auto" by default, and then turn the compositor on again. This can also be accomplished from the command line using using:

xfconf-query -c xfwm4 -p /general/vblank_mode -s mode

where mode is vblank, glx or xpresent.

You have to use xfconf-query from within the xfce terminal session, or at least with the xfce settings daemon started.