I would like to run a web browser or a simple GUI without running the whole desktop. I want to use my Raspberry Pi as a simple web server, but still have a very simple GUI for controlling my 3-D printer with a few buttons and graphs. I don't want to run the whole desktop, because this will slow down the Pi. How might I accomplish this?
The basic issue is to circumvent any window manager, etc., that runs by default after you start X. If you use a display manager (this provides a graphical login screen) you should be able to do keep using it.
In any case, create a file in your home directory called
.Xclients (with the leading dot) that looks like this:
lxterminal as an example, and because it ships with raspbian. Now make this file executable:
chmod 750 .Xclients
Then, without X running:1
You should end up with just a plain terminal on the screen, no titlebar, no borders, and the X mouse cursor. You can start other applications and move around with the cursor but there are no menus, etc.
If you substitute the name of the lone application you want to run for
lxterminal, you'll start with that instead.
1. You can kill X from the inside with
ctrl-alt-backspace, but if you are using a display manager, you'll go back to the GUI login. That's okay.
One possible option is to use X-forwarding from another computer. This will load the GUI application and run it as it would on the RaspPi but the "display" will be on the remote computer.
For example from another Linux desktop that is running X you would enter the following in the terminal "ssh -X firstname.lastname@example.org" (where xx's are the IP address). Once you are logged in you can run the GUI application from the RaspPi command line such as the web-browser "midori". In this case Midori would run as if it was on the RaspPi but the GUI would show up on the remote computer, sort of like a mini remote desktop that only shows one window.
This can also be setup on a Windows computer using Putty. Google putty x-forwarding and you will find many options to configure this.