[Home] [Services] [Philosophy] [Experience] [Software] [Publications] [Tips] [Contact]


PAPP - Portable Assembly Pre-Processor
xml-format - XML Beautifier
Diskimage Tools
Matlab Installer


How would you like to spend a few hours per year maintaining your operating system installation, and the rest of your time getting things done with it? This is the design goal of desktop-installer, and FreeBSD makes it possible. What's more, all the software you need is free, and always will be.

FreeBSD has all the features necessary to make a solid desktop system for WEB browsing, editing documents, playing music and videos, developing software, and much more. However, configuring a basic FreeBSD installation from scratch requires a great deal of knowledge that would take a long time for a novice to gather.

Desktop-installer is a post-install script that contains all the necessary knowledge to configure a typical desktop system. It automates the process of configuring FreeBSD as a desktop or laptop computer.

The desktop-installer script installs necessary ports/packages, configures the graphical desktop of your choice (e.g. Gnome, KDE, XFCE, ...), and configures services such as printing and remote login.

Using desktop-installer, a typical desktop system on modern hardware can be fully configured and ready to use in less than an hour. Without desktop-installer, this process could take days or weeks of searching the WEB for information on what software to install and how to edit the system files required to make it all work together.

The design philosophy behind desktop-installer is that everything should work out of the box. That is, after running desktop-installer, all installed applications should work without further user intervention, printing should work from all applications, all web pages should display properly (assuming it's possible using available open source software), and external devices such as USB/FireWire disks, cameras, etc. should all work without further configuration.

Some user action may be required, but desktop-installer should tell you what you need to do. You should not have to search the web for solutions.

Anything that does not work out of the box is considered a bug and should be reported. The end-user is only expected to run desktop-installer and answer the questions.

Desktop-installer vs. GUI BSD Distributions

  • Unlike DesktopBSD, GhostBSD, PC-BSD, etc. desktop-installer does not offer a graphical installer or sysadmin interface. Since man-hours are costly and in limited supply, we have no intention of creating a GUI installer for desktop-installer. All efforts are focused on improving the functionality of the end-result, not the appearance of the tool.

  • While the GUI distributions tend to support only x86 systems running the latest FreeBSD release, desktop-installer allows you to use any version of FreeBSD on any supported architecture.
  • Distributions like PC-BSD, GhostBSD, and DesktopBSD are aimed more at providing an easy way for non-technical users to install and run popular applications on a FreeBSD-based system. To accomplish this, they include significant changes to the base system that make it easier to manage through the GUI, but may get in the way of those who prefer to work with stock FreeBSD command-line tools.
  • They also result in a much heavier installation that may not perform well on low-end hardware such as netbooks.
  • Desktop-installer is meant to allow somewhat more technical users who prefer an unmodified, lightweight, stock FreeBSD installation, to simply save time installing a desktop environment and focus their time on their own work.

Using Desktop Installer

The script begins with some basic questions about how you want your system configured, and then runs unattended while installing the desktop system and other common software.

Selecting a desktop during setup...

[Desktop-installer screenshot]

An hour or two later...

[Desktop-installer screenshot]

After the base installation is completed, desktop-installer asks you a few more configuration questions, and offers the option of installing additional applications such as email, office, and graphics software.

Unlike "distributions" such as PC-BSD and Ubuntu, desktop-installer is designed only to configure, not to alter, the base operating system installation. Modifications to system files are tagged with comments, so you can see exactly what the script has done. After setting up a system with desktop-installer, you can continue to use stock configuration tools such as adduser, pw, pkg_add, etc. without worrying about breaking anything.

To set up your system with desktop-installer, follow these simple steps:

  1. Install a basic FreeBSD system. The recommended installation profile includes the ports tree and system source code.
  2. Install the desktop-installer port or package.
    pkg_add -r desktop-installer
    cd /usr/ports/sysutils/desktop-installer make install
  3. If you installed from a CD or DVD that contains packages, reinsert it. Desktop-installer will try to find packages on the disc before downloading them over the Internet.
  4. Run desktop-installer as root, and follow the instructions on the screen.

Note that desktop-installer will halt if it encounters any errors. Broken ports/packages are the most common cause of this. If you run into any problems while running desktop-installer, simply resolve the problem manually, and run desktop-installer again.

Multiple Desktops

It is possible to run Gnome and XFCE on the same system. Other combinations may also be possible, but have not been tested. The suggested procedure is to first run desktop installer, doing a complete installation with Gnome. Then re-run desktop-installer and select XFCE, but answer NO to enabling XDM when prompted. GDM should automatically detect XFCE as a possible session selection when you log in.

Hardware Compatibility

If you have used Desktop Installer and would like to contribute to this compatibility list, please send an email containing the make and model of your computer (or motherboard and video chip set if it's custom built), version of FreeBSD, and a BRIEF description of what's working and what isn't.

Additional information on FreeBSD laptop support can be found at http://laptop.bsdgroup.de/freebsd/index.html.


FreeBSD Version[s]

Working / Not Working / Not Tested

Various Desktop Systems 8.2-RELEASE, 9.0-RELEASE Testing has been performed on a wide variety of desktop computers, with very few problems encountered.
IBM ThinkPad T41/T42 8.0-RELEASE and up All major features work well.
IBM ThinkPad T61 9.2-RELEASE and up All major features work well.
ASUS Eee PC 1015PE 10.0-RELEASE All major features work well.
Lenovo Thinkpad X120e 10.0-RELEASE All major features work well, except built-in wifi. Edimax EW-7811un micro-USB WIFI dongle is a great work-around for any laptop with unsupported WIFI chipsets.
VirtualBox 4.x 9.2-RELEASE and up All features work. With guest additions enabled, the first three mouse clicks after starting a session are swallowed, but everything works fine afterward. Desktop-installer automatically detects that it is running in a VirtualBox guest and performs appropriate software installation and configuration.


On some systems, wifimgr and ifconfig list scan may not initially show any networks. Adding a known network using the "Add Cloaked Network" option in wifimgr may correct this issue.