Why Xfce?

In the past, I always liked modern looking feature-rich desktops and I never thought of using a "slim" desktop like Xfce.

I used KDE from KDE 3 to KDE 4, switching only to KDE 4 when it was getting more stable.

When KDE 5 (or Plasma 5) was available as "stable" in the Gentoo repository, I soon tried it, but I had lots of problems:

  • crashes of the lockscreen because of segfault in libqt5sql (lots of bug reports, no solution) and a text written over itself to use some systemd tool to unlock after the crash
  • crash of plasma workshell
  • window contents suddenly destroyed (with Compositing enabled)
  • the return of the problems with ALT-TAB (multi monitor)
  • sddm with less features than kdm regarding multiple sessions
  • no easy VNC solution

I should mention that I am using 2 local sessions, which are configured in kdm settings to be started immediately and I have 2 monitors with 2 separate X screens (:0.0, :0.1) configured in xorg.conf. Also, I am using the Nvidia binary driver because Nouveau is not running fast and stable for me.

So, I decided to downgrade again and stay with KDE 4 as long as possible and I was not the only one: https://forums.gentoo.org/viewtopic-t-1042980-postdays-0-postorder-asc-start-0.html

Some months later, it was not possible to keep KDE 4 any longer because the Gentoo maintainers where forced to remove the KDE 4 packages from the tree because of conflicts. From there on, it was too much hassle for me to keep KDE 4.

Since KDE 5 and Qt 5 got some updates in the meantime, I was hoping for more luck this time and upgraded once again.

But I still had these problems:

  • lock screen crashes and a text written over itself to use some systemd tool to unlock after the crash
  • kwin crashes
  • sddm with less features than kdm regarding multiple sessions
  • no easy VNC solution

It turns out, the crashes are because of my setup with 2 local sessions and Nvidia binary driver: https://bugs.kde.org/show_bug.cgi?id=377031. But then again, this setup was running stable for years with KDE 4.

Besides that, the new recommended display managers sddm and lightdm (kdm is not compatible with KDE 5) make it not comfortable to have 2 local sessions (lightdm lost that ability a while ago). Also, there is still no solution for VNC.

Then I decided to look for alternatives to KDE. Since I do not want systemd, I could not use (unpatched) Gnome 3. Also, some desktops need Pulse Audio, which I also don't like.

A while ago, I installed for fun Linux (Ubuntu) on my Chromebook via Crouton. From that, I already had some contact with Xfce and finally decided to try that as my new desktop.

Installation was easy (https://wiki.gentoo.org/wiki/Xfce/Guide) and at first, I stayed with lightdm because kdm was not emerging anymore (see workaround below).

Now I have less fancy stuff, but I have once again a desktop running stable and as I want to.

This was also an interesting read: http://mandrivausers.org/index.php?/topic/77934-how-and-why-i-learned-to-live-with-xfce/

BTW, I still have a minimal KDE 5 installation and I am still sometimes using some KDE applications (like kbiff). Maybe, I will try and go back to KDE in the future, but maybe not...

Installation

I followed the nice Gentoo guide at https://wiki.gentoo.org/wiki/Xfce/Guide and installed xfce4-meta.

Soon, I was able to choose Xfce from the login screen and configure the desktop to my liking (I prefer the classic panel at the bottom with application menu and quick starters on the left and system tray and clock on the right).

Additional software

I installed this additional software:

  • x11-terms/xfce4-terminal
  • xfce-extra/xfce4-clipman-plugin (does not work nice for me, so I switched to Parcellite)
  • xfce-extra/xfce4-mixer
  • xfce-extra/xfce4-cpugraph-plugin
  • xfce-extra/xfce4-systemload-plugin
  • xfce-extra/xfce4-taskmanager
  • xfce-extra/xfce4-indicator-plugin (don't use that at the moment)
  • xfce-extra/xfce4-places-plugin
  • xfce-extra/xfce4-datetime-plugin (much nicer than the standard panel clock)
  • xfce-extra/xfce4-whiskermenu-plugin (much nicer than the standard menu)
  • xfce-extra/xfce4-screenshooter
  • xfce-extra/thunar-archive-plugin
  • xfce-extra/thunar-volman
  • x11-misc/parcellite (better than Clipman for me, also enabled syncing of Clipboards)
  • app-arch/xarchiver (used by Thunar)

VNC

Xfce is running nicely inside VNC. I have tigervnc installed and changed ~/.vnc/xstartup like this:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
dbus-launch --exit-with-session startxfce4

Then I start the VNC server with:

vncserver :2 -geometry 1366x768 -depth 16

When I logoff the Xfce session inside VNC, I get a crash. But normally, I kill the VNC session with:

vncserver -kill :2

KDM

As I mentioned above, kdm seems to be the only display manager that can be configured to fire up 2 local X sessions during startup. The original ebuild was remove from the tree because of conflicts with KDE 5, so I downloaded and modified it and copied it to the local overlay at /usr/local/portage. It has libkworkspace as dependency, which also was removed. I also had to move them from kde-base to kde-plasma.

Update: It seems that KDM cannot be compiled anymore with the newest Gentoo updates of kdelibs:4.

LightDM

LightDM cannot start 2 local X sessions (anymore) during startup, but new sessions can be spawned easily from the lockscreen, if you install light-locker.
Install LightDM:

emerge lightdm
emerge light-locker
emerge --unmerge xscreensaver

Activate LightDM:

vi /etc/conf.d/xdm
DISPLAYMANAGER="lightdm"

Activate NumLock in X sessions:

emerge numlockx
vi /etc/lightdm/lightdm.conf
greeter-setup-script=/usr/bin/numlockx on

Auto-Login:

[Seat:*]
autologin-user=username
autologin-user-timeout=10

Fixing small problems

Missing icons in the system tray

Some auto-starting applications sometimes showed their icon in the system tray and sometimes not. It turned out, that this is a timing issue. The applications simply start to early. OK, this is something that Xfce should handle better, but I worked around that like this:

  • kbiff: Use this as start command: sh -c "sleep 10; exec kbiff -profile Inbox"
  • hplip: Create /usr/local/bin/hp-systray as executable script with this content:
#!/bin/bash
sleep 10
/usr/bin/hp-systray

Screen tearing

In the beginning, I had some screen tearing when moving windows or playing videos. I was able to fix that by modifying xorg.conf like this in section screen:

Option         "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"

Future Xfce versions should not need that, I think.

Dead menu entries

There were lots of dead menu entries under "misc". Those were orphaned .desktop files in ~/.local/share/applications and they disappeared immediately from the menu after deleting them.

Look of GTK3 applications

Xfce itself seems to still use GTK2 and does not allow to change the look of GTK3 applications in its settings at this time.

One can either do it like described here: https://trompetenkaefer.wordpress.com/2012/04/04/kurztipp-gtk3-anwendungen-einen-nativen-look-unter-xfce-4-x-verpassen/

Or use the KDE 5 systemsettings5 application.

Redshift

Redshift is not able to turn the screen to red, if ForceCompositionPipeline is enabled in xorg.conf. I can somehow fix that by switching to the 2nd local session and back.