Debian – How to change the window manager on a Raspberry Pi

debianlxde

I want to try out X11 on a Raspberry Pi (running as a server without display connected, OS Raspbian) and access it through VNC.

I don't like LXDE very much, so I want to change to another window manager. I tried many things, but LXDE is always starting.

Following packages are installed:

sudo aptitude install x-window-system xfce4 xfce4-themes x11vnc icewm fluxbox gnome tightvncserver

I am running the server with following command:

vncserver -geometry 800x600 :0

When I connect to the Raspberry Pi using RealVNC, I come to the LXDE desktop.

What I have tried so far:

I ran sudo update-alternatives --config x-window-manager and changed it from openbox to xfwm4

$ update-alternatives --config x-window-manager
Es gibt 5 Auswahlm¦glichkeiten f¦r die Alternative x-window-manager (welche /usr/bin/x-window-manager bereitstellen).

  Auswahl      Pfad                   Priorit¦t  Status
------------------------------------------------------------
  0            /usr/bin/openbox        90        Auto-Modus
  1            /usr/bin/icewm          50        manueller Modus
  2            /usr/bin/metacity       60        manueller Modus
  3            /usr/bin/openbox        90        manueller Modus
  4            /usr/bin/startfluxbox   50        manueller Modus
* 5            /usr/bin/xfwm4          60        manueller Modus

I have edited /etc/X11/default-display-manager and changed it from /usr/sbin/lightdm to /usr/bin/icewm.

After a system reboot, I ran the vncserver again, and again I come to LXDE.

I am seeing openbox and lxsession in the process list:

$ ps aux | grep lx
daniel    3604  0.0  0.3  12904  1516 pts/0    Sl   01:39   0:00 /usr/bin/lxsession -s LXDE -e LXDE
daniel    3614  0.1  1.3  15268  6160 pts/0    S    01:39   0:00 openbox --config-file /rasdata/profiles/daniel/.config/openbox/lxde-rc.xml
daniel    3616  0.6  2.2 113392 10060 pts/0    S    01:39   0:02 lxpanel --profile LXDE
daniel    3632  0.0  1.0  26352  4680 pts/0    Sl   01:39   0:00 /usr/lib/arm-linux-gnueabihf/lxpolkit
daniel    3684  0.0  0.1   3836   816 pts/0    S+   01:46   0:00 grep lx

I am currently not sure which window manager I want to have. I will try all and find out the one which I like most. At the moment I am trying to find a way to change it somehow away from LXDE.

I liked KDE very much, but it does not seem to be included in Raspbian. The package could not be found in aptitude.

Best Answer

X11 is already on your computer

X11 should already be installed on your system. Basically all Linux distros use it. LXDE runs on top of Xorg. Wayland is becoming the popular alternative to X Windows, but is still buggy. I'd wait to switch to it. So, what I'm saying is that you are already using X11. If not, I'd be extremely confused.

What you want to do is install a new windows manager, which is what LXDE is. Enlightenment and Openbox are good alternatives that are lightweight. KDE is my favourite, but it is a little heavier. With the Rasp pi I would stick lightweight though. If you are not going to hook it up to a monitor, then I suggest a headless system and just using the -X option with ssh.

Installing a new Windows Manager

Install the new windows manager then edit .xinitrc so that it starts the correct manager.

For example if you wanted to use KDE then install KDE (#apt-get install kde or #apt-get install kdebase, which is better for a pi but will require a little more set up) and then change your .xinitrc file. You'll see exec startlxde which needs to be changed to exec startkde

The exec command will change for your preference of windows manager.

SSHing into your pi

Now if you are sshing into your pi and want to run a program graphically then you need to do

ssh -X user@raspberry-pi-address:portnumber; gtk-program

This will still work if you are using a headless system without a windows manager. This will also be much faster than using vnc. Basically, if you aren't connecting your pi to a monitor then do this.

Related Question