Xfce Setup

From Alpine Linux
Revision as of 17:11, 7 December 2018 by Astrawso (talk | contribs)
Jump to: navigation, search

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

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 alpine-desktop selected packages while here.

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

# setup-xorg-base

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

Install XFCE.

# apk add xfce4

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 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/xorg.conf.new`. 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.

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 lxdm and log in with your new user.

# rc-service lxdm start

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

# rc-update add lxdm

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

# apk add faenza-icon-theme


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


alt text