Start by setting up a basic Alpine system (see Installation instructions on how to do that)
Ensure the "community" repository is enabled in /etc/apk/repositories. Edit the file using vi, and uncomment the line with community at the end.
Update the local copies of the repositories.
The setup-xorg-base script allows to install the xorg base packages and to replace mdev with udev.
It also allows us to specify additional packages to install:
So, this might take a few minutes to finish depending on your network speed.
You will most likely want to install driver packages with specific support for your video chipset. Otherwise, X will resort to the rather slow and cumbersome VESA standard driver.
To see available video driver packages run:
For example, if you have an Sis video chipset install 'xf86-video-sis', for Intel video chipset install 'xf86-video-intel'.
and / or
Use xf86-video-modesetting for Qemu/KVM guests.
Use xf86-video-vmware and xf86-video-vboxvideo for Virtualbox/VMware guests.
Use xf86-video-fbdev for Hyper-V guests.
Use xf86-video-geode for Alix1D.
To search for xf86-input driver packages run:
As good choice for the start is:
may help if the Numlock service is added but does not start, or if 'setleds not found' during the boot sequence:
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:
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 use a layout different than "us", you need to:
In order to make it persistent add this section to /etc/X11/xorg.conf:
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
Create user accounts
Create a normal user account.
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:
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.
You will likely also want dbus to start on boot.
Start your desktop
Start lightdm and log in with your new user.
Once you have verified that it actually works you can make lightdm start up at boot:
If you're missing icons on menus and bars install a theme:
Allowing shut down and reboot
In order to allow the user to shut down the machine or reboot eitherand , or and needs to be installed:
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:
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:
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):
You can set the fuse service to start up automatically at boot:
Auto-mounting USB drives
To enable automatic mounting of USB drives, install these packages:
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:
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" EndSection
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:
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:
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.
- Install X-Window in Alpine Linux Joachim Nilsson 2017