Setting up a FreeBSD Multimedia Desktop

Of all the many and free operating systems out there, few can begin to meet or surpass the quality, stability, and structured operation of FreeBSD. But out of the box, FreeBSD is and always will be a server OS. That’s the reason why some groups have created desktop versions of FreeBSD (such as PC-BSD and DesktopBSD) to provide users with a viable FreeBSD desktop.

Despite both of these really good alternatives to the stock FreeBSD install, some people believe that nothing beats setting up their own FreeBSD desktop right from scratch, and in this tutorial you’re shown how to do just that. What you’ll end up with is a desktop environment that is top notch and tailored right to your liking that is pure and uncustomized by anyone else, except you. So it’s a system you can have exactly your way to your liking.

For those who are new or unfamiliar with FreeBSD, this will also be a great way for you to learn how to use and troubleshoot the OS, because by going this way, while it is not the easiest and you’ll likely run into at least one snag or problem not listed in this tutorial that you’ll have to troubleshoot and solve, you’ll learn so much about the OS that you’ll either come to love it or hate it.

Remember, this tutorial is not for the faint-hearted. There are easier ways to set up a FreeBSD (based) multimedia system than shown in this tutorial; mostly via the previously two named desktop oriented FreeBSD distributions.

BSDStats numbers (May 2007) is a website that records the numbers of PCs/servers running a particular BSD system. This is broken down per country, releases, drivers/HW stats, CPU stats, and port stats.

Though these figures are interesting enough, they cannot be used for any benchmarking or market analysis or so, since the software that anonymously updates (pings) the bsdstats server is not (yet) installed on a lot of/most servers (e.g. FreeBSD) or it’s not mandatory to use when pre-installed (e.g. PC-BSD). The numbers are likely to be much higher. The counters reset at the first day of each month (servers that are on 24/7/365) or when the computer is first switched on.

The numbers, that we’re interested in as far as this blog is concerned, for May 2007 are:

  • FreeBSD – 5,131 systems – 53.0 %
  • PC-BSD – 4,265 systems – 44.1 %
  • DesktopBSD – 28 systems – 0.3 %

Please note, that the number for DesktopBSD (28) is not correct this month. There are likely to be many more users but the update script contacted the BSDStats server on 1 May at half 5 in the morning only. All PCs that were off at that time aren’t included in this number. This problem will be fixed in the upcoming RC3.

What is FreeBSD?

This website deals with the FreeBSD Operating System, but what is FreeBSD?

FreeBSD (FBSD) is an advanced Unix-like operating system developed by the FreeBSD Project. FBSD is one of the most reliable, robust and secure operating systems in the world. It is free, open source and powers some of the internet’s largest web servers, including Yahoo’s and Sony’s (more companies). Rock-solid stability and the ability to perform extremely well under heavy workloads makes this operating system a popular choice among Internet Service Providers and Web hosting companies. A cohesive userland and kernel, the ports system and regular OS upgrades are the strengths of this OS.

FreeBSD is derived from the Berkeley Software Distribution (BSD), the version of UNIX developed at the University of California at Berkeley between 1975 and 1993. FreeBSD is not a UNIX clone. Historically and technically, it has greater rights than UNIX System V to be called UNIX. Legally, it may not be called UNIX, since UNIX is now a registered trade mark of The Open Group.

FreeBSD runs on Intel processors as well as on DEC Alpha, Sun UltraSPARC processors, Itanium (IA-64) and AMD64 processors and soon on Suns Niagara servers (FreeBSD 7).

FreeBSD is an operating system that is very flexible and can therefore be used for various purposes:

  • FreeBSD – (web)servers
  • FreeNAS – Network Attached Storage servers
  • DragonFly BSD – Powering cluster computing
  • PC-BSD and DesktopBSD – Desktop
  • M0n0wall and pfSense – Firewall
  • Frenzy – portable system administrator toolkit
  • FreeSBIE and RoFreeSBIE- Live CDs

Stability, flexibility and security are what is needed for a good operating system, and FreeBSD has them all, whether you use it on your desktop or as server. There’s an interesting article on IBM’s website “Why FreeBSD” dealing with the strong points of FreeBSD.

Flash/Youtube videos on FreeBSD

To be able to watch Adobe Flash animations and videos on BSD systems, has been not too easy so far. This is caused by Adobe not releasing a (Free)BSD version of Flash, but only a (closed source) version for Windows and Linux. In order to watch Flash content on BSD one has to install the Linux Flash version along with the Linux Compatibility layer and tweak the system (sym-links).

However, there’s a Flash PBI available for PC-BSD users that installs Flash with a few mouse-clicks. Installing this manually is not necessary anymore as version 1.4 will come with Flash pre-installed, thanks to a redistribution agreement between iXsystems, the company behind the PC-BSD project, and Adobe.

There are a few open-source Flash players in development currently, of which Gnash and swfdec are the most promising projects, but they’re not perfect yet. Gnash for example is quite good at playing Flash animations (though a bit “grainy”), but it can’t play YouTube videos, whereas swfdec is better at playing YouTube videos, but it’s not very good with animations.

Matteo from the FreeSBIE project has now found a way to watch YouTube videos with Gnash on FreeBSD, but without using the Linux compatibility layer. Please note, that the steps he’s taken are the same for PC-BSD and DesktopBSD. Matteo installed the following ports:

  • graphics/gnash
  • www/firefox (uncheck “GSTREAMER” on the ncurses window)
  • multimedia/mplayer [MAKE WITH_GUI]
  • www/mplayer-plugin

He then installed the Greasemonkey plugin for Firefox and this Greasemonkey script. Note: select the “mini” GUI for mplayer because it is needed for the plugin.

If you have followed these steps and installed the port successfully, surf now to and give it a whirl.

A list of FreeBSD based operating systems

FreeBSD is an advanced operating system for x86 compatible (including Pentium® and Athlon), amd64 compatible (including Opteron, Athlon 64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.

PC-BSD has been designed with the “casual” computer user in mind. Installing the system is simply a matter of a few clicks and a few minutes for the installation process to finish. Hardware such as video, sound, network and other devices will be auto-detected and available at the first system startup. Home users will immediately feel comfortable with PC-BSD’s desktop interface, with KDE 3.5 running under the hood. Software installation has also been designed to be as painless as possible, simply double-click and software will be installed.

DesktopBSD aims at being a stable and powerful operating system for desktop users. DesktopBSD combines the stability of FreeBSD, the usability and functionality of KDE and the simplicity of specially developed software to provide a system that’s easy to use and install.

m0n0wall is a project aimed at creating a complete, embedded firewall software package that, when used together with an embedded PC, provides all the important features of commercial firewall boxes (including ease of use) at a fraction of the price (free software). m0n0wall is based on a bare-bones version of FreeBSD, along with a web server, PHP and a few other utilities. The entire system configuration is stored in one single XML text file to keep things transparent. m0n0wall is probably the first UNIX system that has its boot-time configuration done with PHP, rather than the usual shell scripts, and that has the entire system configuration stored in XML format.

pfSense is an open source firewall derived from the m0n0wall operating system platform with radically different goals such as using OpenBSD’s ported Packet Filter, FreeBSD 6.1 ALTQ (HFSC) for excellent packet queueing and finally an integrated package management system for extending the environment with new features.

FreeNAS is a free NAS (Network-Attached Storage) server, supporting: CIFS (samba), FTP, NFS, RSYNC protocols, local user authentication, Software RAID (0,1,5) with a Full WEB configuration interface. FreeNAS takes less than 32MB once installed on Compact Flash, hard drive or USB key. The minimal FreeBSD distribution, Web interface, PHP scripts and documentation are based on M0n0wall.

Freesbie is a LiveCD based on the FreeBSD Operating system, or even easier, a FreeBSD-based operating system that works directly from a CD, without touching your hard drive.

RoFreeSBIE is a Live DVD/CD installable on hark disk. Its goal is to promote FreeBSD and make it an educational tool and a mobile desktop too.

Frenzy is a “portable system administrator toolkit,” LiveCD based on FreeBSD. It generally contains software for hardware tests, file system check, security check and network setup and analysis.

More and more up-to-date information can be found on the FreeBSD systems page.