Extended Brain Storage

Artix Linux: Installation of XFCE4

Posted on September 21, 2017

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:

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

Tags: #Artix Linux #systemd #OpenRC #Xorg #XFCE4 #lightdm #xdm

⏴ Previous Post Next Post ⏵