Go Back   DaemonForums > Miscellaneous > Guides

Guides All Guides and HOWTO's.

Thread Tools Display Modes
  #1   (View Single Post)  
Old 27th January 2014
shep shep is offline
ISO Quartermaster
Join Date: May 2008
Location: Dry and Dusty
Posts: 593
Thanked 9 Times in 9 Posts
Default Simple Desktop Environment for OpenBSD 5.4

This is a relatively simple project that I have been tweaking for about a year. The resultant desktop was based on a post in the freebsd forums which I would encourage you to peruse. This differs from the FreeBSD howto by using the OpenBSD base and binary packages.

This was motivated by several factors.

The first was to have a desktop that would function in a basic BSD environment; no wrappers or other cludges for pulseaudio, udev, hal, systemd, compositing etc.

Secondly, it was to try out a new paradigm for a desktop. In contrast to projects that build from Debian, Fedora, FreeBSD, Arch... and then are packaged up as installation images, this project stays within the OpenBSD sphere. The desktop is built using OpenBSD tools and packages. When you are done installing, you still have an OpenBSD desktop. Interestingly, this paradigm can be easily applied to any system where the package manager can be feed a list of packages. One can envision a web site where the user selects a base OS, DE, Browser, email client, etc which then generates an install list and an application menu. I have utilized this basic method to make a similiar desktop in Fedora20.

Third, a resource efficient interface. The most frequent tasks that are effected by a desktop are web browsing and email. In Unix, a terminal is also frequently implemented and each of these tasks can be started by a single click on a large, animated icon. Hotkeys; <Ctl+Alt+b> browser, <Ctl+Alt+e> email, <Ctl+Alt+t> terminal, and <Ctl+Alt+m> system menu, are configured in ~.config/openbox/rc.xml. The animated icons also include a file manager, a launcher for libreoffice and a music player. All applications can be accessed either the <Ctl+Alt+m> hotkey or by a right-click anywhere except the toolbar and the launcher.

What this is not:

It is not a substitute for the OpenBSD FAQ and the man pages. Although I tried to structure the README file to describe the commands that were used; time and space contraints prevented going into detail. The flash plugin is not available although *.flv/*.swf content is accessible.

To get this desktop installed you will need:

1) A base OpenBSD install with a working internet connection.
2) Knowledge of basic editing commands and familarity with file paths/permissions.

What you should end up with:

1) A light, responsive desktop that at idle occupies less than 70mb of RAM.
2) The base security of OpenBSD and the option to use M:tier package updates
3) A user interface that will quickly launch frequently used applications.
4) Unix neophytes will be guided through the basic commands to install and configure.

A brief mention of the included packages. Although I personally use some console based packages, gui based packages were chosen to be newcomer friendly. These packages are added to the base OpenBSD packages and serve as a "place holder" for FreeDesktop application category. Users who wish to utilize a different application, say Thunderbird or Mutt in place of Claws-Mail, can easily install their preferred email client, delete Claws-mail and edit the launcher/menu scripts. More details are provided in the README.

1) Basic Desktop consists of
x11/openbox, /x11/tint, x11/wbar and XDM login manager. The core configuration scripts are provided to enable xdm, start OpenBox, Tint2 and Wbar and provide a base openbox menu. No qt3 or qt4 apps were used although they can be easily added.
2) Broswers are www/mozilla-firefox and lynx. If M:tier updates are added firefox will update to firefox-esr
3) The added email client is mail/claws-mail. This was chosen based on it's stability and flexibility. Claws-Mail can access pop, imap, smtp, and a local /var/mail folder for those who use opensmtpd. Claws-Mail can be further configured by adding plugins most of which are available as OpenBSD packages. System logs still are sent via /var/mail and are accessed via the mail command in a terminal.
4) Terminal. I debated utilizing xterm in order to keep the installation light but went ahead with x11/rxvt-unicode as it has perl extensions, supports changing title bar icons on a per application basis, and can be daemonized.
5) File manager is x11/pcmanfm. This is relatively light and the buggy code of older versions has been fixed.
6) Office Suite - editors/libreoffice with java. productivity/osmo as a Calendar/Scheduler and print/epdfview as a pdf viewer.
7) Multimedia - x11/gnome-mplayer, audio/mpd/audio/sonata and audio/abcde cd ripper.
8) One Game - games/xpat2 solitaire. You can add more from the OpenBSD package repositories.
9) Development - www/bluefish.
10) Editors - vi from the base openbsd install and editors/leafpad as an gui based intuitive editor.
11) x11/obmenu and x11/obconf are provided. Obmenu does not support obenbox menu icons (enabled in openbox => 3.5).
12) An .Xdefaults file is appended to the base .Xdefaults file. The default fonts utilize the Redhat liberation-fonts package. Be aware that .Xdefaults has been deprecated upstream by .Xresources ; adapting these settings to Linux will likely require renaming the file.

Although it would be possible to extract the configuration file to the appropriate directories, I elected to extract to a working directory where the user can review and tweak the file.

Copy/Paste commands for setup are in the README file.

I have trialed this several times and believe I have most of the typos/spelling/grammer fixed. I will put two place holder posts following this post and will gladly accept suggestions/pointers/corrections to the original post. If you find this to be of use and a time saver, please consider supporting the OpenBSD project.

To start, download the following attachment


Addendum 6May2014:
An update for OpenBSD 5.5 is here

to the users home directory of your new OpenBSD 5.4 install and extract with

$ tar xvzf OpenBSD54_SimpleDE.tar.gz. Then change into the OpenBSD54_SimpleDE directory and open the README with your preferred pager.

$ cd ~/OpenBSD54_SimpleDE

$ less README

If this works you should end up with

Name:  SimpleDE.png
Views: 2630
Size:  38.6 KB

Last edited by shep; 8th May 2014 at 02:28 AM. Reason: M:tier updates removed from OpenBSD54_pkglist.txt, typo in README, Corrected menu icon, Removed xft entries in Xdefaults
Reply With Quote
  #2   (View Single Post)  
Old 27th January 2014
shep shep is offline
ISO Quartermaster
Join Date: May 2008
Location: Dry and Dusty
Posts: 593
Thanked 9 Times in 9 Posts

Customizing the Wbar Launch Bar

Although often referred to as a "Dock" x11/wbar, does not offer the ability to "drag" and "dock" an application. Applications with that functionality, such as Cairo-dock or Avant Window Manager, are much larger and require compositing. Wbar is significantly smaller and less resource intensive than a true dock.

What x11/wbar does offer is a means to launch commonly used applications with a single mouse click. Correct positioning of the mouse cursor is enhanced by a "zoomf" factor where the icon enlarges when the cursor is over the icon. Additionally, the icon "bounces" on mouse click, providing visual confirmation that large applications with some startup latency have been truely started.

In OpenBSD x11/wbar lacks the ability to customize the dock appearence with a graphical interface (the gui had partial functionality so it was not included). What follows is a simple method to produce a custom x11/wbar dock.

The default background dock for wbar is /usr/local/share/pixmaps/wbar/dock.png. It is essentially a 1014x70 pixel png background with slightly rounded corners..

The custom dock image in SimpleDE was made in gimp using the following commands:

In graphics/gimp: File -> New. In the "Create a New Image" window select a width of 1014 pixels and a height of 70 pixels. The default resolution of 72 dpi is fine. Open the "color selection dialog" by clicking on the foregound and background colors icon in the Toolbox. What you want to end up with is a 6 character color X11_color_names in the HTML notation box that matches the desktop background color. In the default SimpleDE_local_configs, the background is set in ~/.config/openbox/autostart with the entry
xsetroot -solid "#172636"
Once you have settled on a color, enter the code in the HTML notation box and click "OK".

In your presently "*Untitled image" select Tools -> Paint Tools -> Bucket Fill. A cursor bucket icon will appear which is positioned over the image followed by another L mouse click to fill the background with the selected color.

Now we will paste a bar image into our background image. A google dock png search will provide a wide selection. Download your choice and open it in a new Gimp window with File -> Open.

The next step is to resize both the dock icon and the canvas size to 1014x70 pixels. First scale the icon with Tools -> Transform Tools -> Scale. In the dialog box, make sure "px" is selected for pixels and that the "chain" that retains maintains the original width/height proportions is uncoupled. Enter the Width 1014 and Height 70 and click Scale. Now match the canvas size to 1014x70 with Image -> Canvas Size...

Copy "visible" part of the icon into the buffer with Edit -> Copy Visible. Paste the buffer into your original and Untitled image with Edit -> Paste Into. Anchor the bar into the backgound with Layer -> Anchor Layer.

Note that if you move Wbar from the bottom of the desktop to the left or top of the desktop you may need to rotate the icon. This can be done with Tools -> Transform Tools -> Rotate.

Export the combined background/dock icon image to the *png format to retain the ability to adjust transparency. File -> Export. Choose a new title (something other than dock), for example dock_blue.png, and click Export.

Finally, copy the new dock icon to /usr/local/share/pixmaps/wbar/ as root. Edit your wbar configuration file, for SimpleDE ~/.config/wbar/wbarrc to utilize the new icon.

Last edited by shep; 9th February 2014 at 01:43 AM.
Reply With Quote
  #3   (View Single Post)  
Old 27th January 2014
shep shep is offline
ISO Quartermaster
Join Date: May 2008
Location: Dry and Dusty
Posts: 593
Thanked 9 Times in 9 Posts

Want List

1) FreeDestop compliant volume icon for the tint2 tray. Available applications, such as gvolwheel and volumeicon utilize alsa or pulseaudio backends. Although the OpenBSD Gnome Desktop port forced the inclusion of pulseaudio, utilization of the base sndio api would be preferred.

Last edited by shep; 31st January 2014 at 07:45 PM.
Reply With Quote
  #4   (View Single Post)  
Old 27th January 2014
JWJones's Avatar
JWJones JWJones is offline
got root?
Join Date: Jan 2014
Location: Cascadia
Posts: 42
Thanked 0 Times in 0 Posts

Great idea! I just installed 5.4 on a spare desktop here at work last week, and then added Xfce and my favorite apps, but I might have to give this a shot.
Slackware | OpenBSD | LinuxBBQ
Reply With Quote
  #5   (View Single Post)  
Old 27th January 2014
ibara's Avatar
ibara ibara is offline
Shell Scout
Join Date: Jan 2014
Posts: 117
Thanked 0 Times in 0 Posts

Depending on how quickly you get this done, you may want to submit it in the BSD Now tutorial contest, though it ends on Friday.
@bcallah on app.net
Reply With Quote

desktop, openbsd 5.4

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenBSD as a desktop raxes OpenBSD General 6 26th April 2013 03:13 AM
simple window manager for openbsd 5.1 barti OpenBSD Packages and Ports 12 19th July 2012 03:47 AM
Xfce 4.8.0 desktop environment released J65nko News 4 18th January 2011 05:23 PM
Tracking OpenBSD snapshots with some simple sh scripts J65nko Guides 3 2nd December 2009 04:55 AM
I. Treating 'iso-itis' in an OpenBSD environment with USBmediazine® J65nko Guides 3 31st July 2008 01:51 AM

All times are GMT. The time now is 12:23 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick