Tags: #Artix Linux #systemd #OpenRC #Xorg #XFCE4 #lightdm #xdm
Artix Linux: Installation of XFCE4
Considering that the system has been cured from systemd by using art, it may come in handy to install some fancy graphical user interface to interact with…
Introduction
Unlike heavier free and open-source desktop environments, XFCE4 uses far fewer system resources. Additionally, it offers greater modularity and fewer dependencies (i.e. it takes up less disk space, consumes less bandwidth and takes less time to install).
XFCE packages can be installed separately or as “meta” packages:
$ pacman -S xfce4 xfce4-goodies xorg-server libsystemd-dummy ttf-dejavu
LightDM is a cross-desktop display manager, aim of which is to be the standard display manager for the X server. It can be installed and activated (using XDM) as follows:
$ pacman -S lightdm lightdm-gtk-greeter displaymanager-openrc
$ sed -i "s/\"xdm\"/\"lightdm\"/g" /etc/conf.d/xdm
$ rc-update add xdm default
Optionally (useful for desktops, not much for laptops), in order to have numlock automatically set on when LightDM starts, the following needs to be done:
$ vi /etc/lightdm/lightdm.conf
...
[Seat:*]
...
greeter-setup-script=/usr/bin/numlockx on
...
If PulseAudio is not the desired solution, the ALSA sound system can be installed and activated as follows:
$ pacman -S alsa-utils-openrc alsa-utils alsa-plugins
$ rc-update add alsasound default
XFCE4 volume icon can be provided using volumeicon (or for PulseAudio, using yaourt -S pulseaudio-alsa pulseaudio-jack pavucontrol
):
$ yaourt -S volumeicon
The volumeicon
command can be added in the “Application Autostart” section of the “Session and Startup” settings.
True type fonts (TTF) can be installed as follows:
$ yaourt -S noto-fonts noto-fonts-extra ttf-bitstream-vera ttf-croscore ttf-dejavu ttf-droid ttf-liberation ttf-freefont ttf-ubuntu-font-family
Filesystem in Userspace (FUSE) can be installed and activated as follows:
$ yaourt -S fuse-openrc ifuse fuseiso sshfs
$ rc-update add fuse default
Unprivileged user can be added to groups as follows:
$ usermod -a -G disk,lp,wheel,games,video,audio,optical,storage,scanner,input,power,users,vboxusers,wireshark USERNAME
Open-source or proprietary drivers of graphic cards (GPU) can be installed depending on the manufacturer:
- Intel Graphics use VA-API,
- NVIDIA cards use VDPAU,
- AMD cards can use both with mesa.
Anyway, it is recommended to install and configure both VA-API and VDPAU to achieve support in different scenarios:
### NVIDIA
$ yaourt -S libva-vdpau-driver xf86-video-nouveau nvidia-340xx-dkms opencl-nvidia-340xx nvidia-340xx-utils
### INTEL
$ yaourt -S libva-intel-driver xf86-video-intel
Resolution issues of some applications on HiDPI displays can be resolved by tweaking the following variables:
$ vi /etc/profile.d/qt-hidpi.sh
export QT_SCREEN_SCALE_FACTORS=1
export QT_SCALE_FACTOR=1
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export GDK_SCALE=1.3
export GDK_DPI_SCALE=1.3
$ chmod +x /etc/profile.d/qt-hidpi.sh
In order to lock screen in XFCE4 securely, light-locker can be installed as follows:
$ yaourt -S light-locker
In XFCE, xflock4
is a bash script used to lock screen. Being part of the xfce4-session
package version 4.12, it is integrated with xscreensaver
and gnome-screensaver
only. This will be updated in version 4.13. However, the following workaround can be currently used:
$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command --lock" --create -t string
The setup can be changed in Power Manager settings in XFCE as usual. In order to make the lock buttons work, the xflock4
script needs to be updated using the following workaround:
$ cp /usr/bin/xflock4 /usr/bin/xflock4.backup
$ sed -i "s/Lock by/Lock by light-locker,/" /usr/bin/xflock4
$ sed -i '/xscreensaver-command/i \
"light-locker-command -l" \\' /usr/bin/xflock4
And finally, the computer can be restarted.
$ reboot
Additional Software
Some more software (useful for myself):
$ yaourt -S waterfox-bin chromium thunderbird doublecmd-gtk2
$ yaourt -S hunspell hunspell-en_AU hunspell-en_US hunspell-cs
$ yaourt -S geany geany-plugins geeqie atril calibre mpv vlc
$ yaourt -S audacious audacious-plugins audacity
$ yaourt -S gvfs gvfs-afc gvfs-smb
$ yaourt -S live-media libdvdcss libmms libcue
$ yaourt -S gparted gpart ntfs-3g exfat-utils udftools
$ yaourt -S wireshark-gtk geoip-database-extra
$ yaourt -S gimp gimp-nufraw libopenraw inkscape sane xsane xsane-gimp
$ yaourt -S gajim gnome-keyring python-crypto python-gnupg python-axolotl
$ yaourt -S libreoffice-fresh libreoffice-extension-texmaths
$ yaourt -S texlive-most texlive-langextra ghostscript pstoedit
$ yaourt -S linux-headers virtualbox virtualbox-guest-iso virtualbox-host-dkms virtualbox-ext-oracle
$ yaourt -S tigervnc tree
$ yaourt -S megasync dropbox
Troubleshooting
A blinking cursor issue, in suspend mode with installed NVIDIA drivers, can be resolved by manually creating the /etc/X11/xorg.conf
file:
$ nvidia-xconfig
If sound does not work (e.g. laptop with HDMI), but the following test (when run as root) works properly:
$ aplay -l
Then the solution to the problem is in default output being HDMI which can be changed as follows:
$ echo "options snd-hda-intel index=1,0" > /etc/modprobe.d/50-alsa.conf
To resolve the following error messages in ~/.xsession-errors
file:
WARNING **: Couldn't register with accessibility bus: Did not receive a
reply. Possible causes include: the remote application did not send a
reply, the message bus security policy blocked the reply, the reply
timeout expired, or the network connection was broken.
The following solution can be used:
$ echo "export NO_AT_BRIDGE=1" >> /etc/environment # or ~/.profile