FOSDEM '08 is a free and non-commercial event organised by the community, for the community. Its goal is to provide Free and Open Source developers a place to meet.


Schedule: The BSD (G)UI

Raphael Langerhorst
Day Sunday
Room H.1301
Start time 16:45
End time 17:30
Duration 00:45
Event type Podium
Track CrossDesktop
Language English

Linux usually comes packed with a nice and styled up graphical desktop environment to serve as an easy to use interface for users. As such it is ready to serve users who have only little understanding of computers.

But what does BSD offer? Does it come packed and ready to run for grandma? What user interfaces does BSD include natively and what does user interaction really mean in the BSD domain, having a much longer history than Linux?

The purpose of user interaction is closely related to the actual purpose of the system in use. Is it a server with high availability requirements or a laptop for playing games with? With a longer tradition in the UNIX realm, BSD is highly optimized for good old shell use, which in some ways has not been surpassed in efficiency by anything else. The shell is definitely THE interface for a BSD operating system.

However, with growing maturity of desktop environments, BSDs can also be tailored to many needs requiring graphical interaction. In this respect, most BSD systems have integrated environments such as KDE, GNOME and XFCE into their packaging system.

As such, BSDs are usually much more flexible as to which desktop environment can be used. Except for desktop oriented BSD systems such as DesktopBSD, there is usually no precedence over which desktop environment is used. The choice is merrely up to the user ... or the super user.

Although desktop environments are available in a large number for the BSDs, general system interaction is still done through the shell. The desktop environments provide a nice graphical UI, but have not come close to the efficiency, completeness and popularity of shells. A very important factor for this fact is that common desktop environments usually don't provide the neccessary tools for system configuration tasks. On Linux they usually do - either natively or provided through the distributor.

The reason why shells are still so commonly used on BSD systems is probably because the average BSD user is rather experienced with Unix in general and thus used to a shell environment which is the only complete interface to a Unix. Coupled with the popularity of desktop environments, the result is usually that some desktop environment is used, with the most common application being a shell interfaces like Konsole, xterm or whatever.

This shows that the focus is still on the operating system to which the principle interface is the shell.

BSD already provides a very liberal infrastructure in terms of user interfaces. Most desktop environments are well supported and none is mandatory. Provided with such a basis, it may be worthwhile to explore further possibilities of user interaction and technology layers. At some point it will be necessary to grow beyond the operating system and closer to the user - the human being - in order for computer systems to become more natural.

In this talk we will explore the different interfaces to a common BSD operating system and what purpose they serve. Of course the shell is a big thing on such a system, however, desktop environments are already commonly in use even within the BSD family. Further concepts for user interaction will be discussed. A major focus of the talk will be the infrastructure that makes it possible on BSD systems to run various user interfaces and how such a liberal environment can be utilized for clean technology research to reach beyond current limitations and growing towards the user.