You are here: DesktopBSD Wiki Portal » doc » DesktopBSD Handbook

Translations of this page?:

Table of Contents

DesktopBSD Handbook

This documentation is in beta stage. Please feel free to edit!

Introduction

Welcome to the DesktopBSD Handbook. This is the documentation that evolves with the DesktopBSD Operating System itself, and is designed to assist a beginner user through the basic setup and configuration of DesktopBSD.

The scope of this documentation is to provide a base level of assistance with the core steps of installing and configuring DesktopBSD. It is intended to compliment existing resources such as the rest of the DesktopBSD wiki, The FreeBSD Handbook, the DesktopBSD Forums and so on.

At the end of this Handbook, further help and learning resources material are offered for the reader to seek help and extend their skills.

Documentation Conventions

The documentation in this Handbook follows the following conventions:

  • commands, variables, directories and files appear in italic text
  • commands and text strings that you type appear in bold text
  • placeholders in syntax descriptions appear in italic bold text. This indicates that you should replace the italicised text with the actual filename, parameter or other element it represents
These note warning types will be used to warn the reader
These note tip types will be used to offer tips for the reader
These note important types will be used to stress important information
These note types will be used as internal documentation notes indicating to other documenters any extra work that needs to be done

About DesktopBSD

What is DesktopBSD?

In the realm of computers there is hardware and applications. But to get these two interacting we need an Operating System. An Operating System (OS) is the glue that binds it all together and allows a computer to work. And just like there are different types and brands of glue, there are many different types and brands of OS. Perhaps you've heard of some of them, like Microsoft's Windows, Apple's Mac OS-X or any of the multiple Linux distributions.

DesktopBSD is one such Operating System, powered at its heart by the time-tested and proven FreeBSD, and presenting the user with the powerful and highly configurable KDE User Interface, along with best-of-breed Open Source applications and DesktopBSD's own tools.

Out of the box, DesktopBSD is a stable, powerful and secure system that is easy to install, configure and utilise from the moment you insert your installation media. Coupled with the massive software library that is FreeBSD's PORTS, and the Linux binary compatability layer, DesktopBSD enables its users to enjoy real freedom - the freedom of choice.

Why DesktopBSD?

Let's say you're tired of all the viruses and malware infecting your Windows machines, or you can't configure OS-X just how you like it but want the same under-the-hood power, or maybe you're looking to extend your skills with an Open Source OS.

Whatever the reason, you cannot discount FreeBSD. FreeBSD is a true UNIX derivative, whereas Linux is only “UNIX-like.” With decades of ongoing development that probably won't ever stop, FreeBSD has proven staying power and a solid track history of reliability.

Unfortunately, FreeBSD is a very complex beast to get up and configured, especially for desktop use. This is where DesktopBSD comes in, by preconfiguring FreeBSD with the KDE desktop environment, you're saved a lot of effort and can just get on with what you want to do.

No malware, no unexplained crashes and blue screens, no locking you in to one configuration, the question becomes - why not?

Where is DesktopBSD based?

DesktopBSD is based in central Europe, but has community members around the globe submitting 24/7.

Who started DesktopBSD and when?

DesktopBSD was born in Linz, Austria in 2004 by Peter Hofer with the initial release in mid-2005.

· %2007/%08/%14 %00:%Aug · Rawiri Blundell

Getting DesktopBSD

You can obtain DesktopBSD using a BitTorrent client such as uTorrent. You can also obtain it using Metalink, or via plain old FTP. Select your version of choice on the Download Page, your preferred install media (CD/DVD) and click on Download. You can also optionally select Only Display Link to allow you to copy and paste a link into your BitTorrent client or Download Manager.

DesktopBSD provides a lot more software on the DVD version, and will tend to focus more development towards the DVD. If you have a DVD/RW drive, this version is recommended. CD versions will tend to be Release Candidates that may have quirks but will otherwise work fine. Consult the Forums for any issues

Checking MD5

It's optional but recommended to verify the MD5 checksum of your downloaded file before you burn it to disc.

Windows

As Windows does not come with MD5 functionality built in, we must first download and install an application that will handle this. We recommend DigestIT. Once installed, right click on the ISO file that you have downloaded and choose digestIT > Verify MD5 Hash. Copy and Paste in the appropriate MD5 checksum number from the DesktopBSD download page, and if the checksums match, you will see: “Digest matches. Verification succeeded.”

Linux/BSD

In your terminal of choice, type md5sum isoname.iso. If that does not work (likely if you're on a BSD system), you could also try md5 isoname.iso

E.g
[rawiri@loki /usr/home/rawiri/Downloads]$ md5 DesktopBSD-1.6RC3-i386-CD.iso
MD5 (DesktopBSD-1.6RC3-i386-CD.iso) = 1bcb16c3d930fb24138045765c897bd2

Calculating MD5 checksums can be quite CPU intensive - don't be alarmed if your computer seems sluggish while working on MD5 calculations

Burning DesktopBSD to disc

Windows

If you are using WindowsXP and you're burning the CD ISO of DesktopBSD, you can use ISORecorder to burn the ISO to disc simply and quickly. You can also use ISORecorder to burn the DVD ISO of DesktopBSD from within Windows Vista.

Alternatively, you can use the excellent and free CDBurnerXP Pro. Install and run it, selecting Click Here To… Create a new Data-CD/RW, Data-DVD/RW…, then click on the File Menu and select Write Disc from ISO File… Browse to the location of the ISO file, double click on it and then click on the Write Disc button.

Linux/BSD

For users using the KDE interface, using K3B, click on Tools > Burn CD Image… or Burn DVD ISO Image… depending on which .iso file you have obtained. Navigate to where you saved the .iso file and click on Start. That should be it!

For users of GNOME, you can use GNOMEBaker. Open the Actions Menu and select Burn CD Image or Burn DVD Image (depending on which ISO you have). Locate your ISO file, click OK and then Start. After a few minutes, GNOMEBaker will present you with a freshly burnt disc!

For further help, please refer to the documentation of your chosen CD/DVD burning tool, or ask for help in the DesktopBSD Forums
· %2007/%08/%19 %07:%Aug · Rawiri Blundell

Preparing for DesktopBSD

Hardware Support

Refer to the Generic FreeBSD Notes. Also check out the hardware compatibility lists for 32bit systems and amd64 systems for complete lists of hardware that will work straight away.

If you're not sure what hardware you've got, you can run the DesktopBSD Live System Environment straight off the CD/DVD and both test your hardware compatibility and obtain a hardware report. More information on this is touched on later on in this handbook.

Wireless Adapters and NDIS

For users of wireless network adapters, we recommend that you ensure your wireless client hardware is based on an Atheros chipset. MadWIFI maintains a list of compatible hardware and many people also have success with ralink based hardware. If you're unsure, simply try the Live Environment as discussed later in this handbook. You'll be able to see from within the desktop whether or not your hardware is supported.

DesktopBSD also provides FreeBSD's 'Project Evil' NDISulator (NDIS Emulator) which tricks Windows drivers into thinking they're running on a Windows system. While not perfect, this should get most proprietary only hardware running.

If DesktopBSD doesn't support your wireless hardware straight away, you can refer to the FreeBSD Handbook sections 11.8.1.1 and 29.3 for other methods to get your wireless network hardware installed and configured.

Migrating your data

From Windows

Users migrating from Windows will need to clean up their profiles before backing them up. Click on Start > Run, type in cleanmgr and press enter. The built in disc cleanup utility will appear, select all options except compress old files and let it run. Once it's done, your profiles should be rid of most temporary files and will be ready to be transferred.

To transfer any email, we recommend that if you're not using Thunderbird that you install it and import your email into it. This will convert any email from a proprietary format like Microsoft's .pst into a format that you can use with virtually every other email client. Unfortunately, due to the way that the importing functionality works on Thunderbird, this step must be done on Windows - you cannot export to .pst and import into Thunderbird within Linux or BSD.

From Linux

Users of Linux should be able to back up their profile directories to a DVD, external disk drive or network share, install DesktopBSD, create themselves an account with a password and copy the contents of their Linux profile straight back in.

Non-profile data can be migrated in the same manner - backed up externally and then reimported, or alternatively it can be left on another partition. DesktopBSD will support most filesystems that Linux can, but sticking to FAT, NTFS or EXT will provide the easiest transition.

· %2007/%08/%13 %10:%Aug · Rawiri Blundell

Installation

Configuring your PC to boot from CD/DVD

Before you can boot and install DesktopBSD, you will need to set up your PC to boot from a CD/DVD. This can be done in your computer's BIOS, and it differs from PC to PC. Typically, however, you enter your BIOS just after turning the computer on by pressing either Delete, F1 or F10 on your keyboard. Once in the BIOS, you'll need to navigate through and change the boot order to have your CD/DVD drive to boot before the first hard drive. Refer to your system documentation or motherboard manual for more information on where to find these options.

When booting, you will see a string of messages output similarly to this

You will then be presented with the DesktopBSD boot menu. In most instances, the default option is fine. The other options are there for troubleshooting and advanced users.

Discuss X autodetection

dbsdinstall1.jpg

dbsdinstall2.jpg

dbsdinstall3.jpg

Choose Installation and click on OK to skip the Live Environment and go straight to installing/upgrading/repairing DesktopBSD. Otherwise, if you'd like to preview DesktopBSD or boot into the Live Environment for other purposes i.e troubleshooting, select Live System and then click on OK

Booting the LiveCD Environment

dbsduilivedefault.jpg

install71.jpg

Running the Installer

install73.jpg

install74.jpg

install75.jpg

install76.jpg

install77.jpg

install78.jpg

In this example, there are two hard drives installed. We will install DesktopBSD on the first drive designated as “master”.

install80.jpg

The default bootloader selection at the top will allow you to install a bootloader to the Master Boot Record ( MBR ) that will have listings for the other operating system choices on your machine.

install82.jpg

Use the middle option as shown below if DesktopBSD is your only operating system.

install83.jpg

On this machine, a seperate GRUB bootloader is existing on an ext2 partition number 2. We will not install a bootloader to the MBR, but will use the chainloader method to boot DesktopBSD.

install84.jpg

install85.jpg

If the autodetected geometry does not match the information from your BIOS, select “No” and enter the correct values. In this example, the geometry was correct, and we continue with the autodetected values.

geometry.jpg

We have previously created a 23 GB partition on the hard drive. Click “Install into selected partition”.

install89.jpg

install87.jpg

If you made a mistake or change your mind, click “Undo all changes” and make the necessary corrections.

install90.jpg

A final warning before the selected partition is formatted and the installation starts.

install93.jpg

install95.jpg

install96.jpg

The system will now reboot and you can do the final setup of adding additional language support, setting passwords, and creating users.

Upgrading DesktopBSD

If you have an existing version of DesktopBSD you can simply upgrade your OS using the Upgrade feature of the DesktopBSD installer.

The Upgrade utility will only work on versions of DesktopBSD 1.0 and later. If you are using a version of DesktopBSD prior to 1.0, you will have to backup your profile onto a DVD or another partition, do a normal install and then migrate your profile back

The procedure for upgrading is the same as “Repair” option. See the “Repairing DesktopBSD” section below.

Repairing DesktopBSD

If your DesktopBSD system becomes unbootable for whatever reason, you can insert the installation CD/DVD and use the Live Environment to do any troubleshooting and attempt to fix the issue. If however the problem can not be diagnosed or the damage is too great, you can simply do a repair install.

The repair is just like an Upgrade in that it will overwrite all of your system files, removing any applications you may have downloaded and setting you right back to a fresh default DesktopBSD system. All the data in the ”/home” partition will be left alone - i.e your profiles and passwords are not touched in any way. It is still recommended that you back up any important data before doing the repair. After the repair is complete, your PC will boot back into DesktopBSD and you'll be able to login to your profile with its settings intact.

To invoke the repair, run the DesktopBSD installer and select the option for Upgrade/Repair, then simply follow the wizard.

install73.jpg

install74.jpg

install75.jpg

install79.jpg

repair20.jpg

repair21.jpg

install95.jpg

install96.jpg

· %2007/%08/%13 %10:%Aug · Rawiri Blundell

The Default Interface

kde.jpg

KDE - The K Desktop Environment

There are currently three main desktop environments for Linux / BSD systems:

KDE is probably the most developed and easily configurable and flexible of the three, and is the most similar to the Windows environment that most people are used to.

The DesktopBSD Tools such as the Tray mounter, etc. are built for the KDE desktop environment. It is possible to use a different environment, but some of the DesktopBSD customized functions will not be available.

For a more in depth document on the basics of KDE, refer to the wikipedia entry for a historical overview, and also theKDE Quickstart Guide. To learn about the more advanced functionality of KDE, refer to the KDE Userguide.

You can also use the “Help” entry in the main Kmenu, and navigate to the “KDE User Manual” as shown below.

kdehelp.jpg

kdehelp1.jpg

The screenshots below are for DesktopBSD 1.6 RC3

KMenu

To open the KMenu, click on the red DesktopBSD icon in the bottom left corner of the desktop.

The KMenu is a listing of system programs and utilities organized into logical groups, and can be customized later to suit your preferences.

kmenu.jpg

Actions / System menu

This is a quick way to navigate to different locations on your system.

kmenusystem.jpg

Actions /Settings

Here you can find ways to tweak most aspects of your system's behaviour.

kmenusettings11.jpg

kmenusettings1.jpg

kmenusettings3.jpg

kmenusettings4.jpg

kmenusettings5.jpg

kmenusettings6.jpg

kmenusettings7.jpg

kmenusettings8.jpg

kmenusettings9.jpg

Utilities

These are a few small KDE programs for performing simple desktop tasks such as note-taking.

kmenuutility1.jpg

kmenuutility2.jpg

kmenuutility3.jpg

kmenuutility4.jpg

kmenuutility5.jpg

kmenuutility6.jpg

kmenuutility7.jpg

System

This section includes terminal programs for command line work, a process monitor, a system information center, and the DesktopBSD package manager for installing software.

kmenusystem1.jpg

Settings

Here we find more configuration tools like menu editors and desktop setting wizards.

kmenusettings.jpg

Office

In DesktopBSD 1.6 RC3, due to single-CD space limitations, only a calendar application is included. In the final release, you can expect to see programs like KWord, or OpenOffice installed for word processing, spreadsheets, databases, etc.

kmenuoffice.jpg

Multimedia

Included here are a selection of audio and video players, recorders, CD burners, etc.

kmenumultimedia.jpg

Internet

This section includes programs for browsing the internet, IRC chat, email, BitTorrent downloading, and instant messenging.

kmenuinternet.jpg

Graphics

Here we find image viewers, photo managers, paint programs, PDF file viewers, etc. In DesktopBSD 1.6 RC3, due to single-CD space limitations, larger programs like the GIMP were not included. Expect to see these in the 1.6 final DVD release.

kmenugraphics.jpg

Games

Also included in this release are a number of simple games.

kmenugames.jpg

Introduction to the Command Line Interface

The true power of any UNIX-like Operating System lies at the Command Line Interface (CLI), and DesktopBSD is no different. Where the KDE desktop environment and the DesktopBSD tools can do most of everything you'll ever need, there will be times where using the CLI is simply faster or necessary.

Needed: Screenshot of K-Menu navigation through to Konsole, a suggestion on creating a shortcut on the desktop, an introduction to some basic BASH commands, su/sudo etc

To learn more about the CLI, DesktopBSD uses a CLI 'Shell' called BASH. You can read about Bash by entering man bash at the command line, or you can learn about it online at the wikipedia entry for a historical overview, and also the Bash reference manual. FreeBSD-World also has an excellent article on 25 must-know commands

The Run Dialog

In KDE, there is often more than one way of performing any action. For example, to open the Konsole shell, you can right-click anywhere on the desktop image to open the “Run” dialog.

run.jpg

To open “Konsole”, simply type it into the dialog box as shown, then click “Run”.

run1.jpg

Another way to get to the “Run” dialog is to hold down “Alt” and “F2” on your keyboard.

The third way is to navigate using the “Kmenu” at the bottom left corner of your desktop as shown below.

run9.jpg

A fourth way is to navigate using the “Kmenu” at the bottom left corner of your desktop as shown below.

konsole.jpg

Creating a Desktop Icon

To make it easier to get to “Konsole” in the future, you can create a desktop link icon by right-clicking the menu item and selecting “Add item to desktop” as shown below.

run2.jpg

The “Konsole” icon has now been added to the desktop. To open Konsole, double-left click on the icon, or right-click the icon and choose “Open”

run3.jpg

Using the Konsole shell

In this example, we will use the Konsole shell to open the configuration file /etc/fstab. This is a system file, so we will need “superuser” privileges in order to open and edit it.

A gentle warning is in order here. When using “superuser” privileges, you have the ability to mess up your system in a spectacular way! Please check your commands carefully before you hit the “Enter” key.

At the prompt, type in “su” as shown below, and hit “Enter”.

shell1.jpg

We are being asked for the superuser or “root” password. Enter it now and hit the “Enter” key.

shell2.jpg

The shell prompt has now changed to indicate that we are running with superuser privileges. In this case, the prompt is “root”, but on your system it will be whatever you selected at installation time.

shell3.jpg

We will use the “Easy Editor” ( ee ) program to open the file, so type in the command as shown below.

shell4.jpg

Editing the file

The program Easy Editor now opens the file /etc/fstab and can be navigated using the up and down arrow keys.

shell5.jpg

Exiting the editor

Once we are finished editing the file, use the “Escape” key and the down arrow key to navigate to “File operations” and hit “Enter”. You can also use the “C” key to select “File operations”.

shell6.jpg

shell7.jpg

Navigate to “Save file” and “Enter”.

shell8.jpg

Use the “Escape” key again to bring up the main menu.

shell9.jpg

Navigate to “Leave editor” and “Enter”

shell10.jpg

Exiting the shell

We are now back to the shell superuser prompt. Type in “Exit” and hit “Enter”

shell11.jpg

This brings us back to the regular user prompt. Type in “Exit” and hit “Enter”. This will close the Konsole shell and return us back to the Desktop.

shell13.jpg

shell14.jpg

· %2007/%08/%13 %10:%Aug · Rawiri Blundell

Security

Setting up a Firewall

You should never connect to the internet without a firewall. But which firewall method is appropriate for you?

If you are connected to a standard Small Office/Home Office (SOHO) router, such as a Linksys WRT54, we recommend you enable and configure the firewall on that. A border firewall that does Stateful Packet Inspection (SPI) and Network Address Translation (NAT) should provide a satisfactory level of protection from inbound attacks for most people. Please refer to your router's manual for more information on how to configure this.

Alternatively, if you require a higher level of security, have advanced gateway needs, or if you have a number of computers on an internal network to protect, we recommend you investigate the excellent BSD based firewall appliances m0n0wall and pfsense.

If however you have a standalone desktop/laptop that connects directly to the internet, do not despair. DesktopBSD includes the OpenBSD packet filter (PF) by default, and so by nature is ready to be a secure desktop operating system with only a small amount of configuration. We recommend at this stage that you read Dru Lavigne's excellent firewall howto. If you'd prefer to use FreeBSD's IPFW capability, you can also check out QTFW.

Antivirus

While it is true that the majority of viruses are targetted for Windows, that does not mean that a user of any other system, be it Linux, BSD, Mac OSX or otherwise should rest on their laurels. Security Through Obscurity can only go so far.

With this in mind, if you'd like Antivirus capability on your DesktopBSD system, we recommend that you install ClamAV and ClamTK from PORTS using the Package Manager.

You can also browse through PORTS/Security to see if you can find alternative Antivirus tools that you'd prefer to use, such as F-Prot.

Secure passwords and you

This section is not intended to be a thorough article on password security, it is intended to introduce the reader to some basic secure password concepts. These methods do not guarantee 100% password security, but will typically provide better than average security

Authentication Security fundamentals

Before we discuss secure passwords, let's first discuss one of the core theories of authentication security.

The best authentication security is three tier:

  • Something you are
    • e.g a username or biometrics (fingerprint, retina etc)
  • Something you know
    • e.g a password or PIN
  • Something you have
    • e.g a security card/token or biometrics (yes, again)

So with a combination of the above three, without any overlap - you wouldn't combine biometrics with more biometrics for example - you can attain a higher level of authentication security. And like a three legged stool - one leg is useless without the rest.

How to generate secure passwords

There are a number of different methods to generate secure passwords by yourself. If you simply want some generated for you, you can use an online tool like mytsoftware.com's PassGen, or Passkool.

Password requirements

There are two schools of thought around password requirements and restrictions

  1. That there be strict password requirements e.g character limits, non-alpha numeric characters and that the passwords be changed regularly i.e short password lifetimes
  2. That the users either generate or are issued one secure password with a long password lifetime that they use until such time as they want or need to change their password

This topic is highly debateable and outside the scope of this handbook, however, the UNIX password mentality tends away from short password lifetimes, arguing that regular password changes result in degradation of password security e.g Users will tend to iterate: password1, password2, password3

Instead UNIX tends towards setting one good solid password once with a long password lifetime. But the decision is up to you, if you want to use one method or the other, that's your choice! On any UNIX or UNIX-like system though, you should exercise extreme care with the password on your root account.

Some facts though:

  • A password selected by a user is typically a dictionary word with a number e.g Password1 and as such will only have on average 18-20bits of entropy
  • A randomly generated password of the same length will have on average around 53bits of entropy
  • Entropy increases with the use of non-alphanumeric characters and mixing upper and lower case, as well as with the password length
Entropy, roughly speaking, is the degree of randomisation of the characters in a password, and thus is a metric for password security levels. Using the password checkers below, you can try to reach an entropy level that is secure while leaving the password easy to remember.

Passphrases

  • These examples are not “pure” passphrases, and are simply designed to generate an easily remembered password. For more on proper passphrasing, read here, and check out Diceware
  • Try not to use common phrases. Instead think of your own nonsensical ones such as “CocaCola Is Fizzy” or “Old Smelly Shoe”

One of the easiest ways to generate a password is to think of a phrase and use that to generate a password. As the phrase itself is easily remembered, you'll be able to easily input a secure password.

  • Example Input: The Rain In Spain Falls Mainly On The Plain
  • Example Acronym Output: TRISFMOTP
  • Example Acronym Output w/ standard entropy: Tr15fM0tP

By applying two simple rules: Case switching and swapping vowels and consonants for numerical characters, we've created a relatively secure password. To take it one step further, simply add a non alphanumeric character or two.

  • Example Acronym Output w/ non-alpha entropy: _Tr15fM0tP!

You should only turn a phrase into an acronym when using a phrase of eight or more words - eight words with entropy plus a couple of non-alphanumeric characters will yield a generally secure 10-character password. If you are using a smaller phrase, simply truncate the string of words and then apply entropy e.g Felix The Cat = _F3l1xTh3c4t! In fact, it's better this way as you get longer passwords, which increases the entropy level.

  • Example Full Output: TheRainInSpainFallsMainlyOnThePlain
  • Example Full Output w/ non-alpha entropy: Th3R4inIn$p41nF4llSM41nly0nTh3Pl41n+
    • The entropy gain of this password is under 20bits, but you should still mix up your characters to get any entropy gain you can, as well as protection from 'over the shoulder' and 'Post-It note' attacks. _TheRainInSpainFallsMainlyOnThePlain% is technically as strong, if not stronger, for example.

All you have to remember is your phrase, in this example “The Rain In Spain Falls Mainly On The Plain,” and the password itself will just fall into place at your fingertips. Try it!

Obviously, you're not going to use a passphrase as long as the nine word example phrase! Try to find a comfortable balance using four to five words maximum.

Mixed Words

Another method that is similar to passphrases is the Mixed Words method. Simply take two words and mash them together, swapping in the letters like a zipper.

  • Example Input: This Word
  • Example Output: TWhoirsd
  • Example Output w/ standard entropy: TwH01rSd
  • Example Output w/ non-alpha entropy: !TwH01r$d_

This example password attains mixed results in password strength tests, but that's because it's quite short. Mix together two long words however and you'll increase the security.

  • Example Input: Marilyn Munroe
  • Example Output: MMaurnirloyen
  • Example Output w/ non-alpha entropy: $MM4uRn1rl0y3n%
Mixing does not have to be based around two words - you could, for example, mix a keyword and a fact based against it. As an example: Birthday + 30/03/1962 (dd/mm/yyyy format) would result in $B3i0R0t3H1d9a6y2+

Obfuscation and The Post-It Note Dilemma

When you first create or receive a secure password, it might be initially quite difficult to remember. Conventional wisdom holds that you should never, ever, write down a password, especially not on a Post-It Note. However, if you take into account the above three-tier security methodology, it's not hard to secure a password that you've written down. Here's how:

  1. Take your secure password, we'll use _Tr15fM0tP! in this example
  2. Select a method of obfuscation and mix the two together. As an example, we'll mix in a sequential series of numbers
    • _Tr15fM0tP! + 1234567890 becomes _1T2r31455f6M708t9P0!
  3. Write down the obfuscated password e.g _1T2r31455f6M708t9P0!

That's it! Your password has been obfuscated. Anyone passing by your desk will find the password as useless as the used Post-It note it's written on. As they have neither your username or your obfuscation algorithm/method, they lack the Something You Are and Something You Know. Basically, you're adding a layer of Something You Know to Something You Should Know

For even more obfuscation security - put the Post-It note in your wallet or purse. This action turns the Post-It note into both Something You Know and Something You Have. When you get to your workstation, try to input your password, and if you fail simply look into your wallet/purse, decipher the obfuscation and input your password. It will typically take a couple of days for you to memorise your secure password, and then you can choose to either keep the Post-It note or throw it away.

There are other methods of obfuscation, it's simply up to you to remember the algorithm. You could, for example, simply reverse the order of the characters you write down. Reversing _Tr15fM0tP! becomes !Pt0Mf51rT_. You could, if you wanted, go completely overboard and both mix in sequential numbers AND reverse the order!

Using your secure password elsewhere

Once you've got a secure password, you might be tempted to use it elsewhere e.g when you sign up for an online service, webmail etc. You should try to avoid this behaviour and instead try creating 3-4 secure passwords, obfuscating them and using the wallet/purse trick (try the back of a business card as a place to write them), and then grouping scenarios per password. As an example

  • One secure password of a longer length (15+ characters) with a high entropy rate for use on your most important encrypted data and your root account
  • One secure password of a secure length (10-20 or more characters) with a good entropy rate for normal desktop use - you can use this at home and work
  • One secure password as above for online services where important personal information is stored e.g online shopping services
  • One secure password of standard length (8 characters) with a reasonable entropy rate for use for any other services where you can afford to be lax with password security

Testing Password Security

A number of tools exist online that will measure the security of your passwords against a predefined set of requirements and algorithms. You can use these to test your password strength, but remember that they all test differently and will reflect different results somewhere around the line of reality.

For most normal desktop usage, a secure password probably falls in the 50-60 entropy bits range.

User Administration

Phew, after that last bit I need a rest. This part needs screenshots.

Protecting your data

Someone needs to write a howto for encrypting files, possibly based around gnupg and the kgpg ui (which comes with DBSD: K > Utilities > PIM), as well as securely storing text using something like pwsafe or FPM (figaro's password manager)
· %2007/%08/%13 %10:%Aug · Rawiri Blundell

Networking with DesktopBSD

Plain Old Wired

discuss DHCP, setting IP addressing and subnetting manually

DSL Configuration

Someone with a PPPoE setup will need to create an entry about this

Wireless Networking

Touch again on NDISulator etc as covered in the hardware section and then discuss configuring for WEP, WPA etc
· %2007/%08/%13 %10:%Aug · Rawiri Blundell

Ports and Packages

The DesktopBSD Package Manager

Software in DesktopBSD is called a package, and can be downloaded from a central repository as a ready-to-install “package”, or the package can be built on your computer by compiling the program source code using the “Ports” system.

The DesktopBSD Package Manager is a graphical tool to simplify the installation, upgrading, and removal of software packages ( applications, or programs ) on your system. It also makes it easier to check what packages are installed, and new ones that are available.

Software usually requires other collections of files, or libraries, for the main program to operate. This system uses shared libraries to reduce the number of program files required to run all of the applications installed on your computer. The package manager keeps track of these “dependancies” between packages to ensure that the versions are correct, and that all required packages get installed when required.

* For example:

  1. Package “A” requires library “C” to run on the system.
  2. Package “B” requires library “C” to run on the system also.

The Package Manager will install Packages “A” and “B”, and a single shared library “C”

These functions can also be done from the command line for those users with more experience.

Using the Package Manager

Give a brief overview and some screenshots, impliment text from this page: Installing Software which we might deprecate

Starting the Package Manager

We will start this introduction to the DesktopBSD package manager by double left-clicking on the “Software” icon on the default desktop.

pacman1.jpg

Enter your administrator or “root” password at the prompt.

pacman2.jpg

The introduction to the Package Manager. Click on the image for a larger version.

pacman50.jpg

The introduction to the Package List

pacman51.jpg

Downloading the package list

The Portsnap first-time run dialog. Click on “Yes” to start.

pacman52.jpg

The program “Portsnap” fetches an updated list of packages from the DesktopBSD server.

pacman53.jpg

Portsnap download is now complete.

pacman54.jpg

Security check

It is recommended that you have the system do a security check for potential problems with the installed programs.

pacman55.jpg

After reviewing the security list, click “Close”.

pacman56.jpg

This brings up the main package manager screen.

pacman3.jpg

We will first update the list of packages to find all new versions and security updates as shown. Click on”Update list” at the top left-hand tab.

pacman5.jpg

pkgdb

Before installing, upgrading or removing any ports or packages, it is recommended that you run the following command as the “superuser” (su) at a “Konsole” shell terminal as shown below:

A gentle warning is in order here. When using “superuser” privileges, you have the ability to mess up your system in a spectacular way! Please check your commands carefully before you hit the “Enter” key.
su
pkgdb -uF

konsole.jpg

konsole1.jpg

And exit.

konsole2.jpg

This will correct any inconsistencies or conflicts in the software package database.

Settings

The “Settings” section determines how the manager fetches and installs packages.

pacman10.jpg

Binaries and Source

The default is “Binary packages only”. This will work for most applications. Packages are designed to work well on most systems, and install much faster than compiling source code. Installing from source code will take longer, but will optimize the application for your individual hardware.

Packages may also be a version or more older than compiling from source.

If a package cannot be found by the Package Manager, then use the second entry “Binary packages whenever possible” as shown below.

For example, binary redistribution of patented software such as MP3 encoding is not allowed, so you have to switch to “Binary packages whenever possible”.

pacman11.jpg

Package List

The default method of fetching packages is Portsnap, which uses HTTP protocol and is considered more secure and faster than CVSup.

pacman12.jpg

Notifications

All the notification pop-up functions are selected by default

pacman13.jpg

Advanced

*need more info*

The “Advanced” tab contains settings that can be useful, but require a good understanding about how the package manager functions.

The “Binary package repository” field allows you to specify a different source for downloading software packages for your system. Change only if you are an advanced user, and know the implications.

By default, DesktopBSD will fetch packages from theDesktopBSD build server, which provides more up to date package versions than the FreeBSD site. It is recommended that your packages be built from the same download source to avoid package version conflicts.

The next field is “Always upgrade the packages required by the specified packages as well”. This will automatically upgrade all dependancies of the package currently being installed or upgraded, although this is often not required, and can slow down the upgrade process. It is safe to select this option if you need it.

The next field is “Always upgrade the packages depending on the specified packages as well” As with the field above, it is not necessary, but safe to use if you wish.

The next option is “Force processing of further packages even if prerequisite packages have failed to upgrade” This option can cause the installation of incompatible packages that will produce failure of some programs to run properly. Use extreme caution with this. It is recommended only for advanced users.

The last two fields allow you to specify options that are used when building ports from source only. They will not apply to binary package installation. One of the advantages of using ports is the ability to fine-tune the creation of the software for the existing software and for particular system needs.

pacman14.jpg

Security

Clicking on the security tab will generate an updated list of known or suspected security problems in the entire FreeBSD ports system.

pacman15.jpg

In the bottom left corner, the package manager tells me that the last security check on this system was done 9 days ago. To find any security problems in your installed software, click “Check now”.

pacman16.jpg

This scans the programs installed on your system and recommends upgrading or deinstalling problem items.

pacman17.jpg

In this case, there are two packages that have known problems: “png” and “xfs”. We will highlight and copy the name of the package “xfs” and paste it into a search box for more information.

pacman25.jpg

In the bottom left corner, we see that the package “x11-fonts/xfs” has a more recent package that we can upgrade to.

pacman26.jpg

pacman27.jpg

Starting the upgrade

In the bottom right corner, click on “Upgrade”

pacman28.jpg

This prompts us to read the upgrade notes for any possible issues involved in the upgrade process. Click “Yes”.

pacman29.jpg

Enter “xfs” in the search box and hit “Enter”. This will open the file ”/usr/ports/Updating”.

pacman30.jpg

In this case, there are no problems expected in the upgrade.

pacman31.jpg

We are now prompted to start the upgrade. Click “Yes”.

pacman32.jpg

The upgrade manager starts, and tells us it has successfully found and downloaded the package from the repository.

pacman33.jpg

The installation is complete. Note that there is a warning that one of the dependent packages “xproto” also requires upgrading. We upgraded this package with the default setting, which did not automatically upgrade this dependant package.

By selecting “Always upgrade the packages required by the specified packages as well” in the “Binaries and source” tab, the dependant package would have been upgraded also. This setting is not always necessary, and can slow down upgrades needlessly.

In this case, we will need to also upgrade “xproto” manually.

pacman34.jpg

Installing new packages

To install a new package, for example a simple game called “agame”, first click the icon to the left of “Install software”

pacman40.jpg

Then browse down to the “games” section of the package list.

pacman41.jpg

Select “agame”. You can also type in the name of the package at the top of the pane.

pacman42.jpg

Click on “Install” at the bottom right of the main pane and “agame” will appear at the top of the right-hand pane.

pacman43.jpg

Click on “Start” at the bottom of the right-hand pane.

pacman44.jpg

In this case, the package manager looks for a package, but is unable to find it from the download site.

Because I have selected “Binary packages whenever possible”, the package manager will now install this program by compiling source code instead.

pacman45.jpg

The program installation is now completed.

pacman46.jpg

KDE now prompts us to add this program to the menu.

pacman47.jpg

PORTS and Packages 101

Give a brief overview of PORTS and Packages, link to this page:The Ports System and also link to the FreeBSD Handbook

On DesktopBSD, there are two common ways to add software to your system: ports and packages. These are described on the FreeBSD ports page and the FreeBSD Handbook

Both ports and packages can be installed using the DesktopBSD Package Manager, or you can choose to do the installation manually using a shell command line. See this page for more detailed information The Ports System

From the FreeBSD ports page:

Copyright 1994-2006 The FreeBSD Project. All rights reserved.

“The FreeBSD Ports and Packages Collection offers a simple way for users and administrators to install applications. There are currently 17687 ports available.

Each ``port'' contains any patches necessary to make the original application source code compile and run on FreeBSD. Installing an application is as simple as downloading the port, unpacking it and typing “make” in the port directory. However, the most convenient (and common) method is to download the framework for the entire list of ports by installing the entire ports hierarchy at FreeBSD installation time, and then have thousands of applications right at your fingertips.

Each port's Makefile automatically fetches the application source code, either from a local disk, CD-ROM or via ftp, unpacks it on your system, applies the patches, and compiles. If all went well, a simple “make install” command will install the application and register it with the package system.

For most ports, a precompiled “package” also exists, saving the user the work of having to compile anything at all. Each port contains a link to its corresponding package and you may either simply download that file and then run the “pkg_add” command on it or you can simply grab the link location and hand it straight to pkg_add since it is capable of accepting FTP URLs as well as filenames.

For any given application, the FreeBSD package for that application is a single file which you must download. The package contains pre-compiled copies of all the commands for the application, as well as any configuration files or documentation. A downloaded package file can be manipulated with FreeBSD package management commands, such as “pkg_add”(1), “pkg_delete”(1), “pkg_info”(1), and so on. Installing a new application can be carried out with a single command.”

First we will look at the ports system.

The FreeBSD Ports System

The ports system is a collection of files that allows your computer to compile each program that you wish to install from source code, customized to run most efficiently on your hardware. Because this customizing, or “compiling” is quite complex, it will take longer to do than installing a package. The end result is generally a faster program that is the most up-to-date version available.

When you first install DesktopBSD and open the Package Manager, you will be prompted to create a package list. This will download all of the files required to build the ”/usr/ports” directory on your machine.

ports1.jpg

As an example, let us look at the directory /usr/ports/www. These are programs for the World Wide Web such as browsers.

ports2.jpg

We will look for the “Firefox” directory.

ports4.jpg

In this directory are all the files required to fetch the source code and build the web browser “Firefox”.

ports5.jpg

Let us look at these files that make up the ports system.

The first folder we see is the “Files” folder. This contains various updating patch files for Firefox to allow it to run on DesktopBSD.

ports6.jpg

After that we see the “distinfo” file. This contains the Firefox version number and file size. It also contains two types of file checksum information: the MD5 format, and SHA256 format. These checksums verify that the source code file download has not been changed or corrupted.

ports7.jpg

The next file on the list is the “Makefile” that contains the commands for building Firefox.

After that we see the file “pkg-descr”. This tells us a brief description of what the Firefox application is, and a link to the Firefox developers website.

ports8.jpg

Next we see the file “pkg-message”. This is a security update file that tells us of any current issues with the application.

ports9.jpg

When using the DesktopBSD Package Manager, if you select “Always build from source”, any item you choose to install will always be built from source code only, and will be compiled on your machine in the same way as using the command line

submitted by tippekanu 2007/10/20 03:53

· %2007/%08/%13 %11:%Aug · Rawiri Blundell

Tray Mounter Fundamentals

The DesktopBSD Mounter is designed to simplify the mounting, and unmounting of hard-drive partitions, CDs and DVDs, USB devices, and Floppy disks.

Drives can also be set up for mounting and unmounting by configuring the ”/etc/fstab” file and using short commands at the terminal. See the section ” Automatically mounting drives with fstab” below.

In BSD systems, “mounting” is done to prepare to access data on a drive, and “unmounting” disengages the drives file system to prevent any possible data corruption.

The mounter can be found in the bottom right corner of the desktop just to the left of the clock.

Hard Drives

To open the mounter, click on the mounter icon

mounter1.jpg

Some of the supported file system types are Windows FAT and NTFS, Linux ext2 and ext3, and FreeBSD UFS.

You will see a list of devices with color coding. In this example, the yellow UFS 23 GB partition is the DesktopBSD system on a 74 GB Harddrive #1, and below it in green are the currently mounted slices.

ntfs.jpg

Below these is Hardrive #2 with a 29 GB NTFS Windows XP partition. To open this partition, left-click on the NTFS entry in the menu. In this case, a warning dialog will open. Writing to NTFS file systems is not fully supported yet. Click “OK”.

ntfs2.jpg

When you open the mounter again, you will see that the NTFS partition is now green, indicating it was successfully mounted and ready to access. You can also click the “Refresh All” button at any time to update the list of mounted devices.

ntfsexplore.jpg

Now select “Mounted Devices” at the bottom of the menu. You will see a Konqueror file manager window open with the NTFS partition shown mounted in the /media directory.

ntfsexplore2.jpg

Double left-click on the NTFS icon to explore the folder, or right-click as shown to open a dialog with more options. The Windows files can now be accessed.

ntfsexplore3.jpg

Opening the mounter and selecting a 7 MB Linux ext2 partition has now added it to the Konqueror file manager window also.

ntfsunmounterror.jpg

When you are finished using the mounted devices, they must be unmounted to prevent any possible file corruption. In this case, I left-click the green, mounted NTFS icon in the mounter, but get an error message telling me that I have not finished using the files on the NTFS partition. I must first close the Konqueror window, and perform the unmount action again.

ntfsunmount.jpg

The system now confirms that the Windows partition has been successfully unmounted.

USB Drives

USB drives will be automatically detected and a message will open at the top left corner of the desktop.

For example, when a USB drive is plugged in, you will see this:

usb.jpg

A new “Storage Device” entry will now appear in the list similar to the entry for the hard-drive. Selecting the new entry will be mount the USB drive. For a FAT format device it will be displayed as “FAT”, followed by its capacity in megabytes.

A pop-up confirmation dialog box will appear, and the “FAT” entry will now have the green mounted icon in front of it. Clicking on “Mounted Devices” will again open the Konqueror file manager window to access the files on the drive.

Floppy Disk

You will need to open a text editor as the “superuser” and edit the file /etc/devfs.conf.

su
ee /etc/devfs.conf

Now add two new lines to the bottom of the file as shown below. Make sure there are no spaces between the two new lines and the existing entries.

own      fd0       wheel:mount
perm     fd0       0660

Restart your system for the new permissions to be installed.

Now when you click on the “Floppy” entry in the traymounter, you will see a pop-up mount confirmation box open, and a green “mounted” icon will appear below the floppy icon in the list. Use “Mounted Devices” to access files.

CD / DVD ( data )

Using the CD, DVD entry in the Traymounter, a mount confirmation message will appear at the taskbar. You will also notice a green “mounted” icon below the CD symbol. Use “Mounted Devices” to access files.

CD / DVD ( music or video )

You do not need to mount music or video CDs or DVDs using the Traymounter. Use the configuration settings in your media player to designate the device name ( usually “acd0” ), and the CD or DVD will be opened automatically.

Automatically mounting drives with fstab

/etc/fstab

The /etc/fstab file is used to define the characteristics of devices such as floppy drives, CD-ROM drives, USB drives, and other hard-drive partitions. It enables DesktopBSD to automatically access ( mount ) these devices when the system starts up. If the device is physically available on startup, like a hard-drive partition, then it will be mounted without any further user action needed.

Removeable media will require manually mounting with a short command, as described below, or using the DesktopBSD Traymounter described in the section above.

This simplifies the process of opening files on these other devices.

The /etc/fstab file can be edited with the program Easy Editor (ee) or other editor like Kate. From the start menu at the bottom left of your desktop, select “System” > “Konsole” to open up the Konsole terminal program.

su
ee /etc/fstab

Hard Drive - Windows NTFS partition

If you are sharing a hard drive with a Windows XP installation, for example, your fstab entry would look something like this:

/dev/ad0s1     /windows     ntfs     ro       0        0

The device number (/dev/xxxxx) will depend on your disk layout. In the example Windows XP is installed on hard drive #1 in the first partition. Note that FreeBSD numbering systems are different from Linux in that they start numbering disks from “0” instead of “1”.

Because this is a non-removable device, it will be mounted on startup. The Windows files will all be available and can be accessed with a file manager like Konqueror. You do not need to manually mount or unmount, or use the Traymounter in this case.

Floppy

For example, the normal process of manually mounting a DOS-formatted floppy disk on a directory, or mount point, called /floppy would look like this:

mkdir /floppy
mount_msdosfs /dev/fd0 /floppy

This creates the mount point /floppy, and then tells the system to mount an msdos type file system with the device name “fd0”.

Now, if we create an entry in /etc/fstab that looks like this:

/dev/fd0     /floppy     msdos      rw,noauto       0        0

then our command to mount this floppy drive will simply be:

mount /floppy

A new “mounted floppy” icon will appear on the desktop, and files can be accessed by navigating to the ”/floppy” directory.

The entry rw,noauto means that the drive will be mounted with both read and write capabilities, and is not actually mounted on startup, as there will probably not be a disk in the drive.

CD-ROM

Similarly, a CD-ROM could be mounted like this:

mkdir /cdrom
mount_cd9660 /dev/acd0c /cdrom

Our entry in /etc/fstab would look like this:

/dev/acd0    /cdrom      cd9660       ro,noauto      0        0

with a mount command of:

mount /cdrom

The files can be accessed by navigating to the ”/cdrom” directory.

USB Drive

Manually mounting a DOS-formatted USB drive:

mkdir /usb
mount_msdosfs /dev/da0s1 /usb

Our entry in /etc/fstab would look like this:

/dev/da0s1      /usb         msdos      rw,noauto    0       0

with a mount command of

mount /usb

The files can be accessed by navigating to the ”/usb” directory.

Unmounting

Devices that are manually mounted must also be unmounted when you are finished working with your files.

Make sure the files on the device are closed, and change your current working directory from the device you want to unmount.

For example, to change directory to the root directory and unmount your usb drive from the example above:

cd /
umount /usb

Example /etc/fstab

fstab.jpg

· %2007/%08/%13 %11:%Aug · Rawiri Blundell

Printing

Setting up a local printer

CUPS

In this wiki, I will describe how to install an Epson CX-5400 Multi-function Inkjet printer on 1.6 Final using the Common Unix Printing System CUPS.

An introduction to the CUPS system can be found atWikipedia and the CUPS home page

Open Printing

If you are using an existing printer, I recommend you check the Open Printing printer database to see how well your printer is supported.

If you are looking to buy a new printer, the Open Printing site has recommended printers here

Default Printer Setup

In DesktopBSD 1.6 Final, the required printer packages are already installed. The only setup required is to add your printer and allowed users in the CUPS printer tab. This allows printing from documents and PDF files.

Please jump to the “Web Browser Setup Interface” section below.

If you do have a problem, check the following steps below in “Add Packages” and “Configuration” sections.

Add Packages

First, open the DesktopBSD Package Manager and update your package list using the package manager “Update list” feature.

Then, under Packages / Settings select “Binary Packages whenever possible” This allows the package manager to build from ports if a package is not available.

Now install the following packages from the /print packages section:

- cups-base
- cups-pstoraster
- ghostscript-gpl
- gutenprint
- gutenprint-base
- gutenprint-cups
- gutenprint-ijs
- libijs

Configuration

Next set up some system configuration files. You will be using the Easy Editor (ee) program started from the command line in the shell “Konsole”.

From the Kmenu at the bottom left corner of your desktop, navigate to “System” > “Konsole”.

At the shell “Konsole” prompt, edit the file /etc/devfs.rules. After “su”, you will be asked for the system root password.

su
ee /etc/devfs.rules

and add the following lines. An easy way to do this is to highlight the text on this page, copy, and paste it into the file.

# Printers
add path lpt[0-9]* mode 0660 group cups 
add path ulpt[0-9]* mode 0660 group cups 
add path unlpt[0-9]* mode 0660 group cups

In /var/log/messages you should find lines similar to these:

Oct 3 17:37:30 root kernel: ulpt0: EPSON USB MFP, rev 1.10/1.00, addr 2, iclass 255/255 Oct 3 17:37:30 root kernel: ulpt0: using bi-directional mode

Using the device name, (“ulpt0” in my case), add the following to /etc/devfs.conf:

su
ee /etc/devfs.conf

Add the following:

own     ulpt0   root:cups
perm    ulpt0   0660

Next, open /etc/group and look near the bottom for group “cups”

su
ee /etc/group

Add to /etc/group:

cups:*:193:root,<your_user_name>

Web Browser Setup Interface

Close all your programs and restart DesktopBSD with the printer left on.

Finally, in your favorite web browser (ie. Firefox, Konqueror), type in “localhost:631” to open the CUPS setup interface.

cupshome.jpg

If prompted for your user name and password, use “root” and the root password.

Select “Add printer”, fill in the information fields, click “Continue”

cupsaddprinter.jpg

In Device, I selected “USB Printer #1”, then “Continue” The system will now take a short time to load the printer list for the next step.

cupsdevice.jpg

In “Make”, I selected “Epson”, then “Continue” The system will now take a short time to load the printer drivers for the next step.

cupsmake.jpg

In “Model”, I selected “Epson Stylus CX5400 - CUPS+Gutenprint v5.1.3 (en), then “Add Printer”

cupsdriver.jpg

You will now be in the Printer tab and can set allowed users.

cupsusers1.jpg

Click the “Set Allowed Users” button, and add root and other users seperated by a comma as shown.

cupsusers.jpg

You can click the “Set as Default” button to make this the default printer.

I then selected the “Printer” tab, clicked the “Print test page”, and successfully printed a test page.

cupsprinters.jpg

Clicking the “Set print options” button allows you to select paper sizes and other printer options.

cupssettings.jpg

updated by tippekanu 2008/1/19 15:26

The below is imported from How to scan images We can't use the embed feature as it breaks the handbook_all page. Let the below evolve and then point back to the sane scanner page for further reference

How to scan images

It's fairly simple, if you know how to do it. At first you have to install Xsane, this is a frontend to the widely known Sane project. If you are willing to buy new scanner hardware, have a look at the Sane database, if not, you will certainly regret it ;-)

install graphics/xsane, according to those instructions:

Installing Software

If you are ready, you have to give users some permissions or root only can use the scanner hardware.

Edit or create the file rc.local

#su
#ee /etc/rc.local

and add the following lines,

devfs ruleset 100
devfs rule add path ugen* mode 0666
devfs rule add path uscanner* mode 0666
devfs rule applyset

You can read more about it via,

man devfs

I saw this functional solution, after struggling with the devices, at CrashMail.

This will set the permissions for ugen and uscanner for users in the system. After a restart, you can start and use Xsane as user too. You see ugen and uscanner above, most scanner hardware will be detected as ugen, but this is no problem because if sane knows them, it's okay. The proper detection would be as uscanner, so I added both of them, just in case. By the way, this works with Webcam with DesktopBSD and digital cameras too (ugen).

· %2007/%08/%15 %08:%Aug · Rawiri Blundell

Where to find Extra Help

You can find help in this order

  1. Google (or your search engine of choice)
  2. The PC-BSD KnowledgeBase may have some useful information
When using Google (or your search engine of choice), you can use the keyword FreeBSD instead of DesktopBSD to get broader answers that are still relevant

Further resources and learning material

If you've been bitten by the BSD bug and want to learn more, there's plenty of Useful information on the DesktopBSD wiki. We recommend that you consider picking up at least these two books as well

· %2007/%08/%14 %00:%Aug · Rawiri Blundell

How to contribute

Everybody who wants to contribute to DesktopBSD is welcome! You can contribute in many ways:

Development

People with C++ skills who are familiar with Qt programming or willing to learn Qt are always welcome. Knowledge of KDE APIs would be great, but isn't required.

For further information about DesktopBSD code documentation, build instructions, development tasks, code conventions etc. please see the DesktopBSD development wiki.

Translation

If you are interested in translating DesktopBSD into your language, please contact Daniel Hilbert for details. If there is already a translation sub-project for your language, talk to the contributors working on it.

A list of all supported languages can be found here: DesktopBSD: list of supported languages.

If you are willing to help us, please subscribe to http://desktopbsd.net/mailman/listinfo/ and let us know what you are willing to do. We will generate an wiki account for you and provide you with help, the necessary files etc. The translation howto can be found here: Translating DesktopBSD.

Documentation

If you have solved a complicated problem, you can help users coming across the same problem by documenting your solution. Examples are getting a Linux-only program to work or installing a DesktopBSD-based MySQL-Apache-PHP server.

Of course, pointers to mistakes in current documentation are always welcome. You should use our bug tracker for that. Please also provide a suggestion for improvement if possible.

If you want to join the Documentation team, please Daniel Hilbert for details on where you can help. Please subscribe to our Mailing List: http://desktopbsd.net/mailman/listinfo/

Feature Requests and Bugs

Please use our Trac issue tracker to request features and report problems. You can also post a message in the DesktopBSD forums for discussion with users and developers (please include the bug ID in your forums post).

Mirror

Help us extending our network of mirrors by setting up a mirror to improve download times and reduce congestion. Instructions on how to set up a mirror can be found here.

Artwork

If you have artistic skills, you can help the DesktopBSD project by creating or improving artwork, e.g. by designing desktop wallpapers or brochures or by improving the look of our website, Wiki, forums or tracker. Please have a look at the material from our artwork collection.

Tell your friends and help users

The easiest way to help DesktopBSD is by telling others about it. Distribute DesktopBSD CDs to your friends and colleagues, give talks at your local Linux and BSD user groups, help newcomers to install DesktopBSD and help users in the forums with their problems.

Documentation License

But what about a documentation license!?

Oh you kids and your obsession with licenses, okay, the BEERWARE Licence will do.