MOVED: Difference between revisions

From Alpine Linux
m (Thinman moved page XFCE Setup to Xfce Setup: Change Xfce case to match other Xfce pages to aid in search results)
(added warning about community/testing support)
Line 2: Line 2:

[[file:XFCEScreenshot.png |thumb |Xfce screenshot.]]
[[file:XFCEScreenshot.png |thumb |Xfce screenshot.]]
{{Warning| This wiki entry was tested on Alpine 3.6.2. It might not work on other versions as X-org support is not officially supported (only community/testing repositories).}}

= Initial setup =
= Initial setup =

Revision as of 23:35, 13 April 2020

Xfce screenshot.
Warning: This wiki entry was tested on Alpine 3.6.2. It might not work on other versions as X-org support is not officially supported (only community/testing repositories).

Initial setup

Start by booting up Alpine (see these instructions on how to do that)
When Alpine is up and running, do the initial setup.

# setup-alpine

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 copies of the repositories.

# apk update

Run the setup-xorg-base script to install the xorg base packages and to replace mdev with udev. We can also install xfce4 and the selected packages while here.

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

# setup-xorg-base xfce4 xfce4-terminal lightdm-gtk-greeter xfce4-screensaver dbus-x11 sudo

Video packages

You will most likely want to install a package suitable for your video chipset and input devices. Otherwise, X will resort to the rather slow and cumbersome VESA standard driver.

To see available video driver packages run:

$ apk search xf86-video

For example, if you have an Sis video chipset install 'xf86-video-sis', for Intel video chipset install 'xf86-video-intel'.

# apk add xf86-video-sis

and / or

# apk add xf86-input-synaptics

Use xf86-video-modesetting for Qemu/KVM guests.

Tip: Probably for KVM/Qemu guests you want to use qxl Video and Display Spice. For this purpose install xf86-video-qxl on guest and run a Spice client on the host

Use xf86-video-vmware and xf86-video-vboxvideo for Virtualbox/VMware guests.

Tip: If you want to run XFCE in an Oracle VM Virtual Box, you need to install the VirtualBox guest additions as well. They contain parts of the driver, without them, XFCE won't start.

Use xf86-video-fbdev for Hyper-V guests.

Tip: If you use Hyper-V, you should install the Hyper-V guest services as well.

Use xf86-video-geode for Alix1D.

Input packages

To search for xf86-input driver packages run:

$ apk search xf86-input

As good choice for the start is:

# apk add xf86-input-mouse xf86-input-keyboard

kbd may help if the Numlock service is added but does not start, or if 'setleds not found' during the boot sequence:

# apk add kbd

Configure xorg-server (optional)

On most systems, xorg should be able to autodetect all devices. However you can still configure xorg-server by hand by launching:

# Xorg -configure

This will result in `/root/`. You can modify this file to fit your needs.
(When finished modifying and testing the above configuration file, move it to `/etc/X11/xorg.conf` for normal usage.)

If you decided to use a qxl Video on KVM/Qemu guest, add this configuration to `/etc/X11/xorg.conf`

Section "Device" Identifier "qxl" Driver "qxl" Option "ENABLE_SURFACES" "False" EndSection

Keyboard Layout

If you use a layout different than "us", you need to:

# apk add setxkbmap setxkbmap <%a language layout from /usr/share/X11/xkb/rules/xorg.lst%>

In order to make it persistent add this section to /etc/X11/xorg.conf:

Section "InputClass" Identifier "Keyboard Default" MatchIsKeyboard "yes" Option "XkbLayout" "<%a language layout from /usr/share/X11/xkb/rules/xorg.lst%>" EndSection

Another way to change the keymap when logging into X is to use ~/.xinitrc. The following example loads a British keymap, simply add this line to the beginning of the file: setxkbmap gb &

Note that you will need the "setxkbmap" package for this to work! In addition you if you need to create the ~/.xinitrc file, add a second line like exec startxfce4

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

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/lxdm.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 lxdm.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.