Deck of death cards
Introduction Goals Contribute Screen Shots Documentation Requirements Download News Project Page CVS

Valid XHTML 1.0 Strict Valid CSS!



This is the homepage of the GUIShell desktop environment. GUIShell is a lightweight desktop environment that uses the GTK+ 2.x toolkit. GUIShell tries to maintain low hardware requirements and low user experience requirements while still catering to advanced users, especially so given the power of gtkshell.

GUIShell is composed of three major components--gtkshell, gshterm, and ACE. gtkshell provides a means for defining application user interfaces at the command line. gshterm provides a vte-based terminal emulator with pseudotransparency, antialiased fonts, and xterm-compatible command execution handling. ACE, the GUIShell Configuration Environment, uses gtkshell to construct a desktop environment. The simplicity of defining user interfaces with gtkshell allows rapid application design, where the focus of the application is on its logic, rather than on its interface.

gtkshell is suitable for use by third party applications to aid in rapid development. It is in line with the Unix philosophy of applications which do one thing and do it well. In this regard, it is an interface definition tool, which allows the creation of desktop applications in combination with other utilities.


GUIShell is to be lightweight in resource use and requirements, create a prominent desktop scripting environment, meet the GNU coding standards, and ease the use of unix-like operating systems.


Please email me at to give any suggestions or patches. Report bugs on GUIShell's Savannah project page or email me. If you build GUIShell on a platform other than GNU/Linux or NetBSD, please let me know. New developers are always welcome.

Screen Shots

The oldest is first, the newest is in bold.

This is a thumbnail for GUIShell 3.10 screenshot.


Manual Pages



GUIShell runs optimally with a posix-compliant bourne shell, GTK+ 2.x, vte, pkg-config, boehm-gc and awk. Please contribute any patches or instructions needed to get your architecture working so that support for it can be added.