From Alpine Linux

Xfce screenshot.

Basic installation

Start by setting up a basic Alpine system (see Installation instructions on how to do that)

Graphical base environment

Set up the base environment as explained at Alpine_setup_scripts#setup-xorg-base.

Install packages

Ensure the "community" repository is enabled in /etc/apk/repositories. Edit the file using vi, and uncomment the line with community at the end.

# vi /etc/apk/repositories

Update the local package lists of the repositories.

# apk update

Basic packages

Packages to install:

# apk add xfce4 xfce4-terminal lightdm-gtk-greeter xfce4-screensaver dbus-x11 sudo

This might take a few minutes to finish depending on your network speed.

Create user accounts

Create a normal user account.

# adduser -g 'Natanael Copa' ncopa

Optionally, give that user sudo permissions in /etc/sudoers. When doing so, it is important to use the command:


This ensures that only one user is changing the file at any given time. Visudo has two modes: Command mode and Insert mode. To edit the file, use the arrows to navigate to the appropriate line and enter Insert mode by pressing the 'i' key. To save and exit, enter Command mode by pressing the 'Esc' key, then ':w' + 'enter' to save, and finally ':q' + 'enter' to quit.

You may want to add the home directories to the lbu captures:

#lbu include /home

Start and enable dbus

Depending on your setup procedure dbus probably isn't running at this point, which will lead to issues like missing icons and keyboard shortcuts.

Start dbus first.

# rc-service dbus start

You will likely also want dbus to start on boot.

# rc-update add dbus

Start your desktop

Start lightdm and log in with your new user.

# rc-service lightdm start

Once you have verified that it actually works you can make lightdm start up at boot:

# rc-update add lightdm

If you're missing icons on menus and bars install a theme:

# apk add faenza-icon-theme

Allowing shut down and reboot

In order to allow the user to shut down the machine or reboot either elogind and polkit-elogind, or polkit and consolekit2 needs to be installed:

# apk add elogind polkit-elogind


# apk add polkit consolekit2

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

Also, make sure that mounting is enabled in

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

Packages below optional depending on what USB media you intend to mount:

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


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 your mouse / keyboard is not responding, try to install xf86-input-evdev (that will appeared in lightdm.log if you lack it). Or you can try to disable hotplug.

  Section "ServerFlags"
    Option "AutoAddDevices" "False"

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

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 boot into 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


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.