BSD DevCenter
oreilly.comSafari Books Online.Conferences.


Turn FreeBSD into a Multimedia Workstation
Pages: 1, 2, 3

Once that is finished, I start building my favorite windows manager. Currently, this is KDE, which is a very, very long build; the kind of build you start before going to bed in the hopes that it will be finished by the time you wake up in the morning. So, I'll start its build in one terminal:

cd /usr/ports/x11/kde3
make install clean

I'll then go to a second terminal and install the XFree86-4 libraries before I forget; most of the applications I'll be building require these:

cd /usr/ports/x11/XFree86-4-libraries
make install clean

And on a third terminal, I'll configure the XFree86 Server. This is the first time I had configured a system with an USB mouse; during the install, I answered yes when it asked if I had a USB mouse. I'll now double-check that I have the following lines in /etc/rc.conf:


Before configuring your own XFree86 Server, make sure you have the following information:

  • The make and model of your video card.
  • The amount of memory in your video card.
  • The type of mouse and what com port it is on, if it is a serial mouse.


XF86Setup  (if you have an unsupported video card and get an error 
		    message, choose xf86config instead)

If you're prompted to configure your mouse, do so, and test it 'til it works. You will then be able to use it to select your video card and desired settings. Hopefully, all will go well for you fairly quickly.

Once I had a running XFree86 Server, I left the superuser account and created a .xinitrc file in my home directory that contained the following line:

exec startkde

Once KDE finally finishes building, I'll be able to type startx to receive my KDE desktop.

Next comes the browser. I've been pretty satisfied with Mozilla; it has its flaky moments, but for the most part it is speedy, configurable, and supports plugins and skins.

cd /usr/ports/www/mozilla
make install clean

Next, I'll create a custom kernel that supports Java and sound:

cd /usr/src/sys/i386/conf

I'll then add the following lines to MULTIMEDIA:

options		USER_LDT		#used by java
options		CPU_ENABLE_SSE		#used by DVD
device		pcm			#builds PCI soundblaster support

I've always had good luck with the SoundBlaster PCI 128; it's a reasonably-priced soundcard that only requires one line in the kernel configuration file in order to work.

Once I've saved my changes to MULTIMEDIA:

cd /usr/src
make buildkernel KERNCONF=MULTIMEDIA
make installkernel KERNCONF=MULTIMEDIA

Once the kernel is installed, I'll ensure that I've saved all of the work on my other terminals, then:


Now, I'll use Mozilla to download the files I need for Java support:

  • Click on "Linux GNUZIP Tar shell script."
  • Accept license agreement.
  • Save to /usr/ports/distfiles/j2sdk-1_3_1_04-linux-i586.bin.

  • Click to download JavaTM 2 SDK 1.3.1 (requires free registration).
  • Save to /usr/ports/distfiles/j2sdk-1_3_1-src.tar.gz.

  • Click on "Download the latest BSD JDK 1.3.1 patchset."
  • Agree to download Patchset7.
  • Save to /usr/ports/distfiles/bsd-jdk131-patches-7.tar.gz.
cd /usr/ports/java/linux-sun-jdk13
make install clean

cd /usr/ports/java/jdk13
make install clean

To see if it worked, restart Mozilla and go to Help -> About Plug-ins. You should get about a page's worth of Java plugins. A short trip to should convince you that Java is indeed functional.

Next comes streaming multimedia:

cd /usr/ports/www/plugger
make install clean 

This port installs mpeg, avi, quicktime, midi, and pdf support; you'll see the full list once you re-check your Help -> About Plug-ins. Then, head over to the plugger testing grounds.

Finally, the Flash plugin:

cd /usr/ports/www/flashplugin-mozilla
make install clean

Before installing this plugin, be advised that Flash is a registered trademark and it was "designed solely for the Windows PC and Macintosh desktop operating systems." There are also redistribution issues, which means that the GPL version does NOT support full Flash functionality. This means that some Flash sites will work, some will hang, some will crash your browser.

Related Reading

Unix Power Tools
By Shelley Powers, Jerry Peek, Tim O'Reilly, Mike Loukides

For example, if you install the Flash plugin, don't bother heading over to unless you want to watch your browser crash. And I've found that it depends upon the phase of the moon and a certain combination of mojo whether or not the Flash ecards at Hallmark will show me anything other than a grey screen. However, my browser seems to have no problems displaying those annoying Flash introductions that are becoming increasingly popular on Web sites. Go figure.

Now that Mozilla supports plugins, I'll move on to installing some skins. Go to the Edit menu -> Preferences. Click on Appearance -> Themes, then click on the hyperlink for Get New Themes.

I liked the themes at SkyPilot looked interesting, so I clicked on its link, then on SkyPilot again in the Install row of the chart. I then checked "Use this theme" in the Confirm box and pressed OK. Once the install did its thing, I went back to Preferences, highlighted SkyPilot and pressed OK. Mozilla informed me the changes would take effect the next time I started Mozilla.

Now that my browser looks pretty awesome, I'll head over to my favorite wallpaper site:

To change the wallpaper in KDE, right click the desktop and choose Configure Desktop. Click on the Background icon, the Wallpaper tab, and browse for your favorite wallpaper.

In next week's article, we'll move on to the wonderful world of sound and some utilities that will impress even your Windows buddies.

Editor's note: a previous version of this article mistakenly used make installworld instead of make installkernel. As well, the link to the plugger testing grounds has been fixed. We apologize for the inconvenience.

Dru Lavigne is a network and systems administrator, IT instructor, author and international speaker. She has over a decade of experience administering and teaching Netware, Microsoft, Cisco, Checkpoint, SCO, Solaris, Linux, and BSD systems. A prolific author, she pens the popular FreeBSD Basics column for O'Reilly and is author of BSD Hacks and The Best of FreeBSD Basics.

Read more FreeBSD Basics columns.

Return to the BSD DevCenter.

Sponsored by: