Jaunty

From

Jump to: navigation, search




Kubuntu 9.04 (Jaunty Jackalope)

Introduction

  • On April 23, 2009 Kubuntu 9.04 was released.
  • It is code named Jaunty Jackalope and is the successor to Kubuntu 8.10 Intrepid Ibex (Intrepid+1).
  • Ubuntu 9.04 (Jaunty Jackalope) is NOT an LTS (Long Term Support) release and is no longer supported with security updates (as of October 2010). It is recommended to upgrade to the current version of Kubuntu.
This guide is maintained at the Linux Center of the University of Latvia.
Please help test and perfect this guide. To edit pages you need to register.


Contents


General Notes

General Notes

  • Kubuntuguide is unofficial and is not associated with Canonical Ltd.
  • Kubuntu allows a user to accomplish tasks from either a menu-driven Graphical User Interface (GUI) or from a text-based command-line interface (CLI). In Kubuntu, the command-line-interface terminal is called Konsole, which is started: K menu -> System -> Konsole Terminal.
In this guide, text inside the grey dotted box like this should be put into a Konsole terminal.
  • Many changes to the operating system can only be done by a User with Administrative privileges. 'sudo' elevates a User's privileges to the Administrator level temporarily (i.e. when installing programs or making changes to the system). Example:
sudo bash
  • 'kdesudo' can be used instead of 'sudo' when opening a Graphical Application (such as the graphical text-editor application kate) through the "Run Command" dialog box or the CLI, although it is not mandatory. Example:
kdesudo kate /etc/apt/sources.list
  • "man" command can be used to find help manual for a specific command. E.g. "man sudo" will display the manual page for the "sudo" command. Example:
man sudo
  • While "apt-get" and "aptitude" are fast ways of installing programs/packages, you can also use KPackageKit (or the Adept Package Manager or the Synaptic Package Manager), a GUI method for installing programs/packages. Most (but not all) programs/packages available with apt-get install will also be available from KPackageKit (or Adept or Synaptic). In this guide, when you see
sudo apt-get install package
you can search for package in KPackageKit (or Adept or Synaptic) and install it that way.
  • Many instructions use the text editor "nano" (which is universally available in Linux). However, it is often easier to use the text editor "kate" in Kubuntu instead.
  • "K" or "K menu" means the bottom-left (or upper-left) button, akin to the Start button in Microsoft Windows®.
  • If you are using the 64-bit version, replace any "i386" with "amd64".

How to determine which version of Kubuntu you're using

In Konsole type:

lsb_release -a

How to find out the version of your Kernel

uname -a

Newer Versions of Kubuntu

Older Versions of Kubuntu

  • Intrepid Ibex (8.10) (no longer supported)
  • Hardy Heron (8.04 LTS) (Long Term Support version with desktop support until April 2011 and server support until April 2013)
  • Dapper Drake (6.06 LTS) (Long Term server support server until June 2011; desktop no longer supported)

Kubuntu Resources

  • Kubuntu Forums has a large community for online solutions and specific help.
  • Ubuntu Doctors Guild -- a collection of tips for using (K)ubuntu Linux in health care environments

KDE Project

Kubuntu Screenshots and Screencasts

New Applications Resources

  • KDE Apps
  • GetDeb - Features the latest versions of software available from the official repositories as well as software not available in the official repositories. Available in easy-to-install .deb files (see Apt and Package Basics).

Other *buntu guides and help manuals

  • Ubuntuguide -- Ubuntu uses the Gnome desktop.
  • Xubuntu -- Xubuntu can run with as little as 256 Mb RAM. It is better for older machines with limited resources. It uses the XFCE desktop.
  • Edubuntu -- Edubuntu is a collection of software bundles optimized for use in educational environments. LTSP (thin client terminal server support) and many networking tools are bundled. A version for use with KDE (Kubuntu) is available.
  • official Ubuntu Server Guide -- although somewhat haphazard and written in imperfect English, this is a good starting reference for server packages

Installing Kubuntu

Hardware requirements

Kubuntu Jaunty Jackalope runs well with as little as 384 Mb RAM. (The installer requires a minimum of 256 Mb RAM, while the alternative installer can run using only 192 Mb RAM.)

The install takes between 3-4 Gb hard drive space, and 8-10 Gb will be needed to run comfortably.

Netbooks will run Kubuntu Jaunty Jackalope, which has been optimised for speed, efficiency, and quick bootup compared to Intrepid Ibex.

If you have an older computer with less memory than this, consider Xubuntu (if between 256 Mb and 512 Mb RAM) or PuppyLinux or DSL (if less than 256 Mb RAM, limited hard drive space, running from a USBdrive, or running from within another OS).

  • Issues: There are problems with integrated Intel graphics cards in the new Linux kernel supplied with Jaunty. See this section for installation tips.

Fresh Installation

Kubuntu Jaunty Jackalope contains the KDE 4.2 desktop by default. The desktop has been improved and many bugs fixed since KDE 4.1. In addition, the incorporated Linux kernel is more efficient and more hardware is recognized by default. Especially on a smaller system with limited hard drive space, a new installation is recommended to prevent software bloat that can accumulate when updating older versions.

See this guide for burning the ISO image to a CD ("LiveCD").
Use the LiveCD for installation.

KDE 3 Remix

Kubuntu Hardy Heron LTS used a simpler but well-respected stable desktop, KDE 3.5. This desktop is now available for Jaunty (and can even be run alongside KDE 4) using Kubuntu Jaunty KDE 3 Remix. This Remix includes the latest upgrades to KDE 3.5, while taking advantage of Jaunty's speed improvements.

Dual-Booting Windows and Kubuntu

Rarely, a user may experience problems dual-booting Kubuntu and Windows. In general, a Windows OS should be installed first, because its bootloader is very particular. A Windows installation usually occupies the entire hard drive, so the partition needs to be shrunk, creating free space for the Kubuntu partition. (You should clean up unnecessary files and defragment the drive before resizing.) The Windows partition can be resized from within Windows Vista using the shrink/resize option in the Settings -> Control Panel -> Administrative Tools -> Computer Management -> Storage -> Disk Management -> Shrink Volume tool (but see these caveats). See this tutorial. If using Windows XP (or other Windows OS), use GParted partition manager to shrink the Windows partition and thereby leave free space on the hard drive for the Kubuntu partition.

After shrinking the Windows partition, you should reboot once into Windows prior to installing Kubuntu. This allows the Windows system to automatically rescan the newly-resized partition (using chkdsk) and write changes to its own bootup files. (If you forget to do this, you may later have to repair the Windows partition bootup files manually using the Windows Recovery Console.)

If done this way, there is no problem installing Kubuntu as the second operating system and it is done automatically from the Kubuntu LiveCD. Allow the Kubuntu LiveCD to install to "largest available free space."

A Windows partition should be at least 20 Gb (recommended 30 Gb), and a Kubuntu partition at least 10 Gb (recommended 20 Gb). Obviously, if you have plenty of disk space, make the partition for whichever will be your favoured operating system larger. For a perspective on other partitioning schemes, see this Psychocats Guide to Partitioning or this Ubuntu intro to alternative partitioning.

Alternatives include:

  • Wubi (Windows-based Ubuntu Installer), an officially supported dual-boot installer that allows Ubuntu to be run mounted in a virtual-disk within the Windows environment (which can cause a slight degradation in performance). Because the installation requires an intact functioning Windows system, it is recommended to install Ubuntu in this manner for short-term evaluation purposes only. A permanent Ubuntu installation should be installed in its own partition, with its own filesystem, and should not rely on Windows.
  • EasyBCD, a free Windows-based program that allows you to dual-boot Windows Vista and Ubuntu (as well as other operating systems) by configuring the Vista bootloader.

Installing multiple OS on a single computer

If you want to install more than 2 operating systems on a single computer, check out these tips.

Upgrading Intrepid to Jaunty

  • Issues: 1) There are problems with integrated Intel graphics cards in the new Linux kernel supplied with Jaunty. Please research this issue (if you are affected) prior to upgrading to Jaunty, since they are not trivial to fix. 2) The sound system has changed somewhat between Intrepid and Jaunty. Sound works better with a fresh install of Jaunty than after an upgrade from Intrepid. If you have sound problems after an upgrade, consider a fresh install.

If you are using Kubuntu Intrepid Ibex, you may wish to upgrade to Jaunty. Jaunty uses KDE 4.2, which has fixed many of the bugs of KDE 4.1.

  • It is possible to do a distribution upgrade using Adept by:
K menu -> System -> Adept Manager Package Manager -> Changes -> Upgrade.
  • Alternatively, from the command-line terminal (Konsole), use this command:
kdesu "adept_manager --dist-upgrade-devel"

This is for the desktop edition.

  • Alternatively, use the update-manager (all editions):
sudo apt-get install update-manager
sudo update-manager -d
  • You can also use:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
(Note: the first two lines simply make sure your current distribution is current before upgrading the entire distribution, and are optional.

Upgrading Hardy to Jaunty

A new installation is recommended if you are upgrading from Hardy (or older), in order to prevent software bloat, and to avoid some configuration file incompatibilities between the KDE 3.5 desktop used in Hardy and the KDE 4 desktop used in Jaunty. (KDE 4 is an entirely new desktop and differs significantly from KDE 3.5.)

However, it is possible to serially upgrade from Hardy to Intrepid, and then from Intrepid to Jaunty.

Add Extra Kubuntu Repositories

Software packages and programs are freely available for download at multiple online sites with standardized structures, called repositories. There are repositories officially sanctioned and monitored by the Kubuntu/Ubuntu developer community, while other repositories are independently provided, without official sanction or supervision (and should be used with caution). Additional information is available from the Kubuntu Repository Guide.

Types of Repositories

  • There are four major package repository types in Kubuntu:
  • main - Supported and supervised by Canonical. This is the major part of the distribution.
  • restricted - Software not licensed under the GPL (or similar software license), but supported and supervised by Canonical.
  • universe - Software licensed under the GPL (or similar license) and supported by users.
  • multiverse - Software not licensed under the GPL (or similar license), but supported by users.
  • There are also these additional types of repositories:
  • jaunty-updates - Updates to official packages.
  • jaunty-backports - Current version software from Karmic Koala (Jaunty+1) that has been backported to Jaunty Jackalope.
  • jaunty-proposed - Proposed updates & changes (bleeding edge stuff).

Third party repositories

Software developers often maintain their own repositories, from which software packages can be downloaded and installed directly to your computer (if you add the repository to your list). Many of these third party repositories and software packages have never been reviewed by the (K)Ubuntu/Debian community and can present a security risk to your computer. Trojans, backdoors, and other malicious software can be present at any unregulated repository. When using repositories not endorsed by the (K)ubuntu/Debian community, make sure you have utter confidence in that site before enabling the repository and installing a software package from it.

Add Repositories using the Package Manager

This is the preferred method.

  • K menu -> System -> System Settings -> Add and Remove Software -> Settings -> Edit Software Sources.
  • Here you can enable the repositories for Kubuntu Software and Third Party Software.
  • For Third Party Software select Add -> enter the repository's address. It will have a format similar to:
deb http://archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ jaunty main restricted
  • Example: To add the Medibuntu repository, Add:
deb http://packages.medibuntu.org/ jaunty free non-free
  • Download the repository key to a folder.
  • Example: The Medibuntu key can be downloaded from
http://packages.medibuntu.org/medibuntu-key.gpg
  • Then add the key from:
K menu -> System -> System Settings -> Add and Remove Software -> Settings -> Edit Software Sources -> Authentication -> Import Key File...
  • (Alternatively, you can manually add the key from the Konsole command line terminal. See Add Repository keys.)
  • Refresh the package list from the new repository:
K menu -> System -> System Settings -> Add and Remove Software -> Software Updates -> Refresh

Manually add repositories

  • Do this at your own risk. Modify the default Kubuntu sources.list only if you understand what you're doing. Mixing repositories can break your system. For more information see the Ubuntu Command-line Repository guide.
  • Create a backup of your current list of sources.
sudo cp -p /etc/apt/sources.list /etc/apt/sources.list_backup

Note: sudo - runs the command with root privileges. cp = copy. -p = prompt to overwrite if a file already exists.

  • Edit the list of sources:
sudo nano /etc/apt/sources.list
or using a graphical editor:
kdesu kate /etc/apt/sources.list
  • Note: To use your local mirror you can add "xx." before archive.ubuntu.com, where xx = your country code.
Example: deb http://gb.archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse indicates a repository for Great Britain (gb).
  • Here is a sample sources.list. At the end have been added repositories for Medibuntu and Google:
#deb cdrom:[Kubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090430.1)]/ jaunty main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://gb.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://gb.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://gb.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository. This software is not part of Ubuntu, but is
## offered by Canonical and the respective vendors as a service to Ubuntu
## users.
deb http://archive.canonical.com/ubuntu jaunty partner
deb-src http://archive.canonical.com/ubuntu jaunty partner

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse

## Medibuntu - Ubuntu 9.04 "jaunty jackalope"
## Please report any bug on https://bugs.launchpad.net/medibuntu/
deb http://packages.medibuntu.org/ jaunty free non-free
deb-src http://packages.medibuntu.org/ jaunty free non-free

# Google software repository
deb http://dl.google.com/linux/deb/ stable non-free

  • Refresh the packages list from the new repositories:
sudo apt-get update

Add repository keys

  • Download the gpg keys for the repositories and automatically add them to your repository keyring:
  • Example: To obtain and add the Medibuntu repository key:
wget --quiet http://packages.medibuntu.org/medibuntu-key.gpg -O - | sudo apt-key add -
  • Example: To obtain and add the Google repository key:
wget --quiet https://dl-ssl.google.com/linux/linux_signing_key.pub -O - | sudo apt-key add -

Note: wget - retrieves a file from a network location. --quiet = no output. -O - = Output downloaded item to the screen. The | (pipe symbol) is used to capture the output from the previous command and use it as an input for the piped command (i.e. apt-key, which adds it to the keyring).

  • Alternatively (and perhaps more easily), you can use apt-key directly:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY
where KEY is the missing key code printed in apt-get output, e.g. EF4186FE247510BE.
Note: Key servers often use port 11371. Make sure your firewall allows port 11371 to be open.

Kubuntu Package Installation and Updates

Apt and Package Basics

Most new users will use KPackageKit or the Adept Package Manager to install packages. The instructions below are for installing packages from the command-line terminal (Konsole).

  • Install packages:
sudo apt-get install packagename
  • Example:
sudo apt-get install mpd sbackup
  • Remove packages:
sudo apt-get remove packagename
  • To remove all dependencies:
sudo apt-get autoremove
  • Example:
sudo apt-get remove mpd sbackup
  • Search for packages:
sudo apt-cache search <keywords>
  • Examples:
sudo apt-cache search Music MP3
sudo apt-cache search "Text Editor"
sudo apt-get update
  • Upgrade packages:
sudo apt-get upgrade
  • Upgrade the entire distribution (e.g. from Intrepid to Jaunty):
sudo apt-get dist-upgrade

Installing .deb packages

Debian (.deb) packages are the packages that are used in Ubuntu/Kubuntu. You can install any .deb package in your system. .deb files can generally be installed from your file manager (Konqueror or Dolphin) merely by clicking on them, since file associations with the default installer is already set in Kubuntu. These instructions are for those who wish to install packages from the command-line terminal (Konsole).

  • Install a downloaded Debian (Ubuntu/Kubuntu) package (.deb):
sudo dpkg -i packagename.deb
  • Remove a Debian (Ubuntu/Kubuntu) package (.deb):
sudo dpkg -r packagename
  • Reconfigure/Repair an installed Debian (Ubuntu/Kubuntu) package (.deb):
sudo dpkg-reconfigure packagename
*Example:
sudo dpkg-reconfigure mpd

Handling (Tar/GZip) and (Tar/Bzip2) archives

(Tar/GZip) archives end in ".tar.gz" and (Tar/Bzip2) archives end in ".tar.bz2". Bzip2 is the newer, more efficient compression method. These files can generally be automatically extracted by merely clicking on them from your file manager (Konqueror or Dolphin), since file associations with the appropriate archival utilities are set by default in Kubuntu. These instructions are for those who wish to use the command line terminal (Konsole).

  • To extract:
tar xvf packagename.tar.gz

Note: tar is an application which can extract files from an archive, decompressing if necessary.

-x means extract.
-v means verbose (list what it is extracting).
-f specifies the file to use.
  • Decompressing ".gz" files
gunzip file.gz
  • Decompressing ".bz2" files
bunzip2 file.bz2
Note: You can also decompress a package first by using the command gunzip (for .gz) or bunzip2 (for .bz2), leaving the .tar file. You would then use tar to extract it.
  • To create a .gz archive:
tar cvfz packagename.tar.gz folder
  • To create a .bz2 archive:
tar cvfj packagename.tar.bz2 folder

Installing a package from source

  • Make sure you have all the necessary development tools (i.e. libraries, compilers, headers):
sudo apt-get install build-essential linux-headers-$(uname -r)
or
sudo apt-get install build-essential linux-headers-'uname -r'
Note: "uname -r" lists the current kernel you are using
  • Extract the archive that contains the source files:
tar xvf sourcefilesarchive.tar.gz
  • Build the package using the package's script (in this case the configure script), compile the package (make), and install the compiled package into your system (make install):
cd /path/to/extracted/sourcefiles
./configure
sudo make
sudo make install
Note: typing ./ before a filename in the current folder allows the Linux shell to try and execute the file as an application even if it is not in the path (the set of folders which it searches when you type a command name). If you get a "permission denied" error, the file is not marked as being executable. To fix this:
sudo chmod +x filename
Example: In the above instructions, configure is the shell script to build the package from source. To be sure the configure script is executable:
sudo chmod +x configure
Create a .deb package from source files

If your build from source is successful, you can make a Debian (Ubuntu/Kubuntu) package (.deb) for future use:

  • Install package tools:
sudo apt-get install checkinstall
  • Rebuild package using "checkinstall":
cd /path/to/extracted/package
./configure
sudo make
sudo checkinstall
  • Keep the resulting ".deb" file for future use. It can later be installed using:
sudo dpkg -i packagename.deb

Note: These are basic instructions that may not always work. Some packages require additional dependencies and optional parameters to be specified in order to build them successfully.

Aptitude

Aptitude is a terminal-based package manager that can be used instead of apt-get. Aptitude marks packages that are automatically installed and removes them when no packages depend on them. This makes it easy to remove applications completely. To use Aptitude, replace apt-get with aptitude in the command line. Example:

sudo aptitude install packagename
sudo aptitude remove packagename
sudo aptitude update
sudo aptitude upgrade

For an ncurses-based graphical user interface, type

sudo aptitude

For more information, see the aptitude documentation.

KPackageKit

KPackageKit is the KDE frontend for packagekit, a new GUI package manager installed by default in Jaunty Jackalope. It allows PolicyKit to restrict user privileges regarding package installation.

While "apt-get" and "aptitude" are fast ways of installing programs/packages, you can also use KPackageKit (K menu -> System -> KPackageKit Software Management) for installing programs/packages. Most (but not all) programs/packages available with apt-get install will also be available from KPackageKit. This is the preferred method for most desktop users. In this guide, when you see

sudo apt-get install package

you can simply search for package in KPackageKit and install it that way.

  • K menu -> System -> KPackageKit Software Management
  • Search for the name of the program/package. You can also search for a word in its description. Then "Find by Name."
  • Check the + (plus sign) next to the name of the package. (If the program is already installed, click the - (minus sign) to remove it).
  • Click Apply.
  • The selected program(s) will be automatically installed (or removed), along with its dependencies.
You can also access KPackageKit from
K menu -> System -> System Settings -> Add and Remove Software

Adept Package Manager

Adept is the GUI package manager previously used in Kubuntu. It has largely been replaced by KPackageKit. It can be installed, however:

sudo apt-get install adept
adept

Most (but not all) programs/packages available with apt-get install will also be available from the Adept Package Manager. In this guide, when you see

sudo apt-get install package

you can simply search for package in Adept and install it that way.

K menu -> System -> Adept Package Manager
  • Search for the name of the program/package. You can also search for a word in its description.
  • Check the box next to "Install this package".
  • Click Adept -> Apply Changes.
  • The selected program(s) will be automatically installed, along with its dependencies.

You can also use the Adept Installer to add/remove programs.

K menu -> Adept Installer Add/Remove Software

Synaptic Package Manager

Synaptic Package Manager is the GTK-based GUI package manager for Gnome/Ubuntu. It can be used in Kubuntu without difficulty, and often works better than both KPackageKit and Adept. Usage is similar to the other package managers. Install:

sudo apt-get install synaptic

Manual Updates

sudo apt-get update
sudo apt-get upgrade
or
K menu -> System -> System Settings -> Add and Remove Software -> Software Updates -> Apply all available updates
or
K -> System -> Adept Manager -> Adept -> Fetch package list
or
K -> System -> Adept Manager -> Sources -> Fetch current package lists
If there are packages available for updating, you will be prompted whether to install them.

Automatic Updates

  • K menu -> System -> System Settings -> Add and Remove Software -> Settings -> Edit Software Sources -> Updates -> Automatic Updates
or
  • K menu -> System -> Adept Manager -> Sources -> Edit Software Sources -> Updates -> "Check for Updates"

Kubuntu Addon Applications

Also see this list of add-on applications.

Eye Candy Applications

Eye Candy Applications refer to the decoration of the graphical user interface. These can be add-on icons, themes, wallpapers, 3-D effects, etc.

KDE Eye-Candy Resources

  • KDE Look has wallpapers, splash screens, icons, and themes for windows managers (including Kwin and Compiz) and other applications.

KDE Artwork

KDE Artwork is the package that contains themes, wallpapers, screensavers, widget styles, emoticons, and miscellaneous multimedia enhancers for the current KDE theme. Install:

sudo apt-get install kdeartwork

Kwin

KWin is the default Windows Manager in Kubuntu. It provides most (but not all) of the 3-D effects available in Compiz Fusion.

  • To enable these effects:
K menu -> System -> System Settings -> Desktop -> General -> "Enable Desktop effects"
  • Choose which effects to use:
K menu -> System -> System Settings -> Desktop -> Desktop Effects -> All Effects

Compiz Fusion

Compiz Fusion is available as a separate Windows Manager, to allow advanced desktop effects such as the rotating cube desktop. Some Kubuntu users choose to run Compiz instead of KWin. It is quite fast in Kubuntu and is not troubled by window flicker seen in some other windows managers. Install:

sudo apt-get install compiz compizconfig-settings-manager compiz-kde compiz-fusion-plugins-main compiz-fusion-plugins-extra emerald librsvg2-common

To change to Compiz as the Window Manager:

K menu -> System Settings -> Advanced -> Session Manager -> Window Manager -> Compiz

Note: You must logout and log back in for the change to take effect.

  • Select Compiz Configuration:
K menu -> Settings -> CompizConfig Settings Manager

Fusion Icon

Fusion Icon is a tray icon that allows you to easily switch between window managers (such as between KWin and Compiz), window decorators, and gives you quick access to the Settings Manager. This allows quick toggling of 3-D desktop effects (that may not be compatible with some applications).

sudo apt-get install fusion-icon
Start:
K menu -> System -> Compiz Fusion Icon

You can then easily access CompizConfig Settings Manager from the icon.

Rotate the Compiz Cube

Set the CompizConfig Settings Manager to enable the "Desktop Cube" and "Rotate Cube" and "Viewport Switching" options. Click on the icon for each to customize settings. For example, to change the appearance of the cube, click on the Desktop Cube icon to access its settings. You can set the hotkey buttons for rotating the cube in the "Viewport Switching" settings. Otherwise, hold down the Ctrl+Alt+Left mouse button and drag the mouse (or touchpad) the direction you want to rotate the cube.

Remember, the cube rotates between desktops. It's not a cube unless you have at least 4 desktops running. You will not get a cube if you are only using 2 desktops (you will get a "plate"). You can still rotate the sides of the plate, of course, but it will not be a cube. (Recent users from the Windows OS may have no experience with the concept of simultaneous desktops, but they are nice once you learn how to use them).

When running Compiz fusion as the Windows Manager, you must change the default number of desktops from within CompizConfig Settings Manger. To enable 4 desktops:

K menu -> System -> CompizConfig Settings Manager -> General -> General Options -> Desktop -> Horizontal Virtual Size -> 4

When you start an application, you can assign it to any one of the 4 desktops by right-clicking the upper left corner of the application window and choosing the "To Desktop..." option. Rotating the cube shows the different desktops. You can also go to a desktop using the taskbar icon which shows the 4 desktops.

Emerald

Emerald is the theme engine for Compiz Fusion. Multiple themes are available from KDE Look, some of which are used in KWin as well. Oxygen, a default theme in Kubuntu, is an Emerald theme, for example. (These themes originated from the Beryl project before it merged with Compiz to form Compiz Fusion.) The Emerald Theme Manager for Compiz Fusion can be installed:

sudo apt-get install emerald

deKorator

deKorator is a window decoration engine for KDE. You can easily install lots of themes with this engine. See the installation instructions at KDE Look.

Add desktop Plasmoids

Plasma has replaced Kicker in Kubuntu. Plasma comes with plenty of applets/widgets (called plasmoids or widgets) that you can use on the desktop.

  • Click on the Plasma icon in the upper right of the desktop.
  • "Add Widgets" and select from one of the already installed widgets/plasmoids.
Example: Add the Comic Strip widget/plasmoid. This will display a comic strip from the Internet. Click on the wrench icon to choose the comic strip, such as Dilbert.
  • "Install New Widgets".
  • "Download From Internet" to choose a widget/plasmoid from KDE-look.
or

SuperKaramba Desktop Widgets / Gadgets

SuperKaramba is a tool that allows you to create themes and widgets.

sudo apt-get install superkaramba-kde4

Change USplash Boot Screen

This is the splash screen you see at bootup, when you are asked for a login and password.

  • K Menu -> System -> System Settings -> Appearance -> Splash Screen -> Get New Themes...
or
  • Download splash screens at KDE Look
  • K Menu-> System -> System Settings -> Appearance -> Splash Screen -> Install Theme File
  • Browse to your splash screen tar archive file and select it from your download location.

Google Desktop

Google Desktop for Linux is a proprietary suite of widgets and applications to give Google control over your computer and thereby allow you to use Google services. A .deb package can be downloaded and installed from Google Linux Downloads. For installation instructions, see Google Desktop for Linux Instructions.

Dock applications

Avant Window Manager, Cairo Dock, and Wbar are dock-like applications for Kubuntu/Ubuntu Linux. A dock represents running programs as icons at the bottom of the screen (as is done on the Mac OS X desktop), instead of by toolbar panel segments (as is done in Windows and other Linux window managers). See this brief comparison of dock applications.

Avant Window Navigator

  • Avant Window Navigator requires that a desktop composition manager (such as Kwin (Kubuntu/KDE), Metacity (Ubuntu/Gnome), Compiz, Xcompmgr, or xfwm4 (Xubuntu)) be installed and running.
  • Install and upgrade proprietary nVidia or ATI graphics drivers so that the compositing manager functions properly.
  • Install AWN:
sudo apt-get install avant-window-navigator awn-manager
(Note: If you are using Gnome (Ubuntu) and do not already have a compositing manager installed (such as Compiz), Metacity will be installed as part of the installation.)
  • Enable automatic startup of AWN at bootup:
  • Menu -> System -> Preferences -> Sessions -> Add...
avant-window-navigator
  • Select which applets should run from the dock menu by default:
  • Menu -> Applications -> Accessories -> Avant Window Navigator Manager
You can drag application icons onto the list, then activate or deactivate the applets from the list.

Cairo Dock

Cairo Dock can be used either with a desktop compositing manager (such as Compiz or the KDE4 Kwin Window Manager) or without one. See the Ubuntu installation instructions for details. It is available from the repositories:

sudo apt-get install cairo-dock cairo-dock-plugins

wbar

wbar is a quick-launch bar (not a dock) that has an appearance similar to Avant Window Manager and Cairo Dock. It is GTK (Gnome) based but can work in all desktop environments. It does not require a compositing manager to be installed and is therefore quicker and more suitable for low-end hardware systems. It is the default in the Google gOS desktop and is available as a .deb package from Google. Download and install (from the command-line Terminal):

wget http://wbar.googlecode.com/files/wbar_1.3.3_i386.deb 
sudo dpkg -i wbar_1.3.3_i386.deb
  • Start wbar with custom start options (e.g. by pressing alt+F2). Here is an example:
wbar -isize 48 -j 1 -p bottom -balfa 40 -bpress -nanim 3 -z 2.5 -above-desk
Here is another example:
wbar -above-desk -pos bottom -isize 60 -nanim 1 -bpress -jumpf 0.0 -zoomf 1.5

For a full list of command-line startup options, see:

wbar --help

Tip: If you want the "wave" effect just increase the -nanim value. I like the icons to just pop up so I don't use it, but with 9 icons 5 there is a nice "wave" effect.

Obviously, you could create a menu item with the command line options (similar to the examples above), or a batch file that can be automatically started at system startup (as a cron event or startup session).

You can also change wbar startup options by editing the configuration file:

sudo gedit /usr/share/wbar/dot.wbar

See this example configuration file. However, not all options are able to be set from the configuration file and must be run from the command line. For more info see this wbar guide.

wbarconf

A simple wbar configuration utility can be downloaded as a .deb package and installed:

wget http://koti.kapsi.fi/~ighea/wbarconf/wbarconf_0.7.2-1_i386.deb
sudo dpkg -i wbarconf_0.7.2-1_i386.deb

Yakuake command-line terminal

Yakuake is a stylish command line terminal that can be used instead of Konsole.

sudo apt-get install yakuake

Enable it by going to K -> System -> Yakuake

Use it by pressing F12.

Virtualization

Virtualization allows a second operating system (OS), such as Windows or OS X, to be run from within Ubuntu. This requires extra RAM (because both Ubuntu and the virtualized second OS require separate amounts of RAM) and a license for the second OS. If you wish to run a virtualized instance of Windows XP, for instance, you must have a license for Windows XP.

VirtualBox

VirtualBox is a fast and complete virtualization solution owned and maintained by Sun Microsystems. There is a free and fully open-source edition available under the GNU GPL license.

  • Install pre-requisites:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
or
sudo apt-get install build-essential dkms linux-headers-'uname -r'
  • Install the open-source edition:
sudo apt-get install virtualbox-ose virtualbox-ose-guest-utils virtualbox-ose-source
  • Start VirtualBox:
Menu -> Utilities -> VirtualBox OSE PC virtualization solution
  • If you are using a server edition of (K)ubuntu, make sure PAE/NX is enabled:
Virtualbox OSE -> General -> Advanced -> Enable PAE/NX: (ticked)

For usage instructions, see the End-user documentation.

Automated virtual machine startup within Virtualbox

You can automatically startup a virtual machine within virtualbox as a command-line option using VBoxManage. This can then be used as a menu item, cron event, or startup action. See this blog post for more info.

KVM

KVM is the free open source virtualization solution implemented as a Linux kernel module (in the recent kernels) for computers whose processors contain virtualization extensions (Intel VT or AMD-V). See the Ubuntu installation instructions. Install:

sudo apt-get install kvm

Xen

Xen is an efficient open-source virtualization ("hypervisor") platform which includes a merge with QEMU. It is free open source under a GPL license. The latest desktop (and installation instructions) is available from the website. (A commercial version is also offered by Citrix.) Implementation in Ubuntu requires some modification, currently. For more info, see the Ubuntu community documentation. Install:

sudo apt-get install xen-hypervisor xen-docs convirt

A Xen virtual machine host can also be installed automatically with certain 64-bit CPUs, using the 64-bit Ubuntu Server LiveCD. (An Ubuntu or Kubuntu desktop can then later be added -- see Ubuntu server).

VMWare

VMWare is a commercial virtualization platform that currently offers two free products: VMWare Player and VMWare Server (the latter with a free renewable yearly license). VMWare Player can play virtual appliances that have already been created, whereas VMWare Server (which has a broader range of features) allows the creation of virtual machines. In general, VMWare Server is recommended unless you only need to play an appliance. (Appliances will also run in VMWare Server). Users that wish to run servers (or processes) that need to be available to a network from within the virtual machine should use VMServer. If you wish to install a new OS within a virtual machine (other than in an appliance), you will need VMWare Server.

VMWare Player

Installation instructions are on the website, or at the Ubuntu community wiki. In brief, to install the free VMWare Player:

  • Install pre-requisites:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
or
sudo apt-get install build-essential dkms linux-headers-'uname -r'
  • Get the binary package/installation script, give it executable privileges, then run the installation script:
wget http://download3.vmware.com/software/vmplayer/VMware-Player-2.5.3-185404.i386.bundle
chmod +x VMware-Player-2.5.3-185404.i386.bundle
sudo ./VMware-Player-2.5.3-185404.i386.bundle
  • Run:
Applications -> System Tools -> VMWare Player

VMWare Server

  • Install pre-requisites:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
or
sudo apt-get install build-essential dkms linux-headers-'uname -r'
  • Download the server source files for your architecture (32-bit or 64-bit) from the VMWare Server website and retrieve your license key by email.
  • Extract the files, give execution privileges to the install script, and run the install script:
tar xvf VMware-server-2.0.1-156745.i386.tar.gz
cd vmware-server-distrib
chmod +x vmware-install.pl
sudo ./vmware-install.pl
VMWare Package

VMWare Appliances (that include an Ubuntu/Debian OS) can be created using VMWare Server and the VMWare Package utility. These appliances can then be deployed to users who can play them using VMWare Player. Install:

sudo apt-get install vmware-package

Keyboard errors in VMware guest

After installing VMWare 6.5, and installing a guest OS, the Function, arrow and Del/End/etc keys do not function. This is a bug with VMWare´s code. Add this line to ~/.vmware/config (create file if necessary) to fix this issue:

xkeymap.nokeycodeMap = true

Virtual Machine Manager

Virtual Machine Manager is an application to allow viewing of all instances of virtual machines on your system. It includes a secure implementation of VNC. This and other virtual management tools are available as an integrated package in Ubuntu. Install:

sudo apt-get install ubuntu-virt-mgmt

Crossover for Linux

Codeweavers' Crossover Office for Linux is a subscription-based commercial package that allows many Windows programs to be run on Kubuntu without the need for a Microsoft OS license or a complete virtualization system. See the website for more info. Codeweavers releases older versions of this product into the free package Wine.

Wine

Wine is a free open-source package that is similar to (and implements many elements of) CrossOver for Linux. Like CrossOver for Linux, no Microsoft license or virtualization platform is required to run Windows programs.

sudo apt-get install wine

Also consider installing Microsoft's TrueType fonts:

sudo apt-get install msttcorefonts

PlayOnLinux

PlayOnLinux is a free series of scripts that eases the installation of many Windows games under Wine. Install:

sudo wget http://deb.playonlinux.com/playonlinux_jaunty.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

Internet Explorer 6

Internet Explorer 6 can function under Wine, albeit imperfectly. For most purposes, Firefox can be used (with the User Agent Switcher plugin) to mimic Internet Explorer, but for those instances when it can't, IE6 may be useful. A beta implementation of Internet Explorer 7 is also available from this package. For more info, see IEs 4 Linux.

  • Make sure you have wine and cabextract packages:
sudo apt-get install wine cabextract
  • Download IEs 4 Linux and install:
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux --no-gui

If you get an error about the inability to download swflash.cab, then:

cd ~/.ies4linux/downloads/ie6/EN-US
wget http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab

and repeat the installation

cd ~/ies4linux-*
./ies4linux --no-gui
  • Run IE6:
~/bin/ie6

Transgaming Cedega

Cedega is a commercial application (similar to CrossOver Office and Wine), for installing and running some Windows applications, specifically games, without the need for virtualization or a Microsoft license. It provides 3D support, software acceleration support, and a high level of DirectX support. Installation instructions are found on the website.

Mono

Mono is a free open source project sponsored by Novell to allow .NET programs to function in Linux (Kubuntu) and Mac OS X. The most recent versions are available here.

sudo apt-get install mono-2.0-devel

Moonlight

Moonlight is part of the Novell Mono project that is an open source implementation of Silverlight (the Microsoft multimedia presentation platform). It is based on FFMpeg. It is made to work best with the Firefox 3 web browser, as a plugin. It is available here.

Netflix under Moonlight

Netflix streaming requires Silverlight 2.0. The current version of Moonlight is 1.0 (corresponding to Silverlight 1.0). The final version of Moonlight 2.0 is anticipated for November 2009. A preview of Moonlight 2.0 is available now, however.

Edutainment Applications

There are many, many superb applications that can be installed with a single click.

K menu -> System -> KPackageKit -> Software Management
or
K menu -> Add/Remove Software (Adept Installer) -> Edutainment.

Below are a few examples that can be installed from this menu:

  • Stellarium -- an astounding planetarium for the desktop
  • K3DSurf -- a program for modeling 3,4,5, and 6 dimensional models.
  • Bibletime-- a Bible study tool for KDE.
  • Zekr -- an Islamic Quran study tool (available in Other desktops or Utilities)
  • Oregano -- a program for electrical engineering schematics
  • RlPlot -- a high quality graph generator
  • Mnemosyne -- a flash-card tool
  • Gramps -- map your family-tree and co-operate with genealogy projects.

Also see the list of educational programs recommended and used in the Edubuntu project.

Google Earth

Google Earth gives you an annotated eagle's eye view of our planet. This is a free proprietary package (you must accept the license to use this package).

sudo apt-get install googleearth-package
make-googleearth-package --force
Doubleclick on the resulting .deb file.
-- or --

To install the latest Linux binary, download and save the GoogleEarthLinux.bin (currently version 5 ) package from Google Earth downloads. (You may alternatively download the previous version (4.3), named googleearth-linux-plus-4.3.7284.3916.bin or something similar.)

wget http://dl.google.com/earth/client/current/GoogleEarthLinux.bin

Then install:

chmod +x GoogleEarthLinux.bin
./GoogleEarthLinux.bin

Run:

K menu -> Internet -> Google Earth 3D planet viewer

You should turn off the Google Earth -> View -> Atmosphere setting, or you might see clouds everywhere and the ground won't show up.

Troubleshooting

  • If Google Earth opens, shows the splash screen, and then crashes, you’re probably experiencing a common issue. Running ~/google-earth/googleearth in a terminal will show this error:

./googleearth-bin: relocation error: /usr/lib/i686/cmov/libssl.so.0.9.8: symbol BIO_test_flags, version OPENSSL_0.9.8 not defined in file libcrypto.so.0.9.8 with link time reference

To fix this, browse to the folder you installed Google Earth into. (If you installed manually, this will be google-earth in your home folder.) Find the file libcrypto.so.0.9.8 and rename it to something else, like libcrypto.so.0.9.8.bak. Google Earth should now start correctly.

cd ~/google-earth
sudo mv libcrypto.so.0.9.8 libcrypto.so.0.9.8.bak
sudo ln -s /usr/lib/libcrypto.so.0.9.8 ~/google-earth/libcrypto.so.0.9.8
(Note: You can also specify /home/user/google-earth instead of ~/google-earth ).
  • On my display, I had to disable desktop effects (K menu -> System -> System Settings -> Desktop -> Desktop Effects) to get the display to work.

For other issues, see the Ubuntu help pages on Google Earth. Be careful of some of the suggestions there.

For example, if you turned on OpenGL desktop effects (using K Menu -> System Settings -> Desktop -> Desktop Effects -> General -> Advanced Options) and your display goes blank and you can't restore it, you will have to edit the settings file manually from the command-line to reset your mistake.

nano ~/.kde/share/config/kwinrc

In the section title [Compositing], under the line Backend=OpenGL (or whichever backend you had selected) change the line below it to read:

Enabled=false

This will reset your display and you can then reboot successfully into your default display (to try different settings from the menu again, if you wish).

Uninstall Google Earth

To uninstall run the uninstall shell script located in the /home/user/google-earth folder (or whichever folder you installed google-earth into).

FBReader (e-book reader)

FBReader is a free cross-platform e-book reader, based on the GTK platform. Install:

sudo apt-get install fbreader

Proprietary Applications

Proprietary software helps you maximize your Internet experience, but is not open source. The software available includes Multimedia Codecs, Java Runtime Environment, and plug-ins for Firefox and Konqueror.

Restricted Extras

The Kubuntu Restricted Extras will install Adobe Flash Player, Java Runtime Environment (JRE) (sun-java-jre) with Firefox and Konqueror plug-ins (icedtea), a set of Microsoft Fonts (msttcorefonts), multimedia codecs (w32codecs or w64codecs), mp3-compatible encoding (lame), FFMpeg, extra multimedia codecs for K3b, the package for DVD decoding (libdvdread3, but see below for info on libdvdcss2), the unrar archiver, odbc, and cabextract. It also installs multiple "stripped" codecs and avutils (libavcodec-unstripped-52 and libavutil-unstripped-49). This is a single command approach.

sudo apt-get install kubuntu-restricted-extras
You could also use Ubuntu Restricted Extras (ubuntu-restricted-extras), but it installs plugins for the Gstreamer platform (the default in Gnome) and does not install the K3b codecs, so it is not recommended.
Note: Installation only works completely and properly when done from the command-line terminal Konsole. The entire package will not usually install completely from within a Package Manager.

Games Applications

There are some phenomenal games for Kubuntu Linux.

There are hundreds of free, open-source games available in Kubuntu. Most (including the KDE Games collection and the Gnome Games collection) can be accessed:

K menu -> System -> KPackageKit -> Software Management -> Games
or
K menu -> Add/Remove Software (Adept Installer) -> Games

Examples are:

Vdrift

Vdrift is a free open source 3-D racing game, similar to Need for Speed, with realistic physics, multiple drift tracks, and multiplayer games. Support for joysticks, mice and keyboard is included. A binary package for Linux is available from the website.

Action

Incredible action games (including those from the Top 25) are available in Kubuntu. Many can be installed using:

K menu -> System -> KPackageKit -> Software Management -> Games
or
K menu -> System -> Add/Remove Software (Adept Installer) -> Games

Examples are:

  • Alien Arena -- a multi-player first person shooter action game with free servers. The repositories have version 7.0-1. For the current version 7.2 see the website.
  • OpenArena -- an open-source multi-player first person shooter action game, with free servers. The repositories have version 7.7. For the current 8.1 version see the website.
  • Tremulous -- a Halo-like multiplayer first person shooter action game. The repositories have the current version.
  • Sauerbraten - a multiplayer graphics-rich first person shooter game evolved from Cube.

Nexuiz

  • Nexuiz is an open-source multi-player first person shooter game with free servers and tournaments.

The current version 2.4.2 is in the repositories.

sudo apt-get install nexuiz nexuiz-music

You must have desktop effects turned off (K menu -> System -> System Settings -> Desktop). There are a few other problems. See the Nexuiz forums. Some recommend running from a shell:

sudo ./nexuiz-linux-glx.sh

or

sudo ./nexuiz-linux-sdl.sh

  • A 35 map community pack is available here. To install, extract the map pack to /home/username/.nexuiz/data (or ~/.nexuiz/data ).

UrbanTerror

UrbanTerror is a multiplayer first person shooter action game. It uses the open-source quake 3 engine and features many real weapons and free-to-use servers for multi-player functionality. See the Installation instructions at the website.

  • Alternative installation with a script:
  • After downloading the script open Terminal into your download directory then make the script executable with the following command:
sudo chmod +x urt40-linux-installer.sh
  • Now double click on the script to execute and follow the directions
  • The install will take a while, as the script executes a download of the necessary files which are about 541MB
  • After the install you will have a nice UrbanTerror icon on your desktop (unless you installed as root)

Spring

The Spring Project is a scripting engine platform to develop and play free multiplayer games such as Star Wars Imperial Winter and Complete Annihilation. See these installation instructions for adding the repository, then installing as a package.

PlaneShift

PlaneShift is a promising free full-immersion online fantasy game (MMPORG). Client downloads and patches are available here.

  • Make the downloaded binary installation file executable:
cd /directory_where_downloaded
chmod +x PlaneShift-v.0.42-x64.bin
  • Run the executable binary as root (this must be done from the command line terminal Konsole):
sudo ./PlaneShift-v.0.42-x64.bin
  • Follow the instructions for installation. When prompted whether to manually set permissions, answer "no."
  • During installation, most users have recommended installing this game to your /home directory as a single user installation, instead of to /opt for all users. This avoids permissions problems. I was able to install to /opt, but it takes some effort.
  • Make sure your user belongs to the games group:
K menu -> System -> Kuser User Manager -> user -> Groups -> check games
  • Download the updater patch psupdaterlinux64.zip and unzip it to your download directory.
  • Run the updater as root:
chmod +x psupdater
chmod +x psupdater.bin
sudo ./psupdater
K menu -> Lost & Found -> Client and Setup

To run it from the menu, I had to edit the menu entries by checking the box: "Run in terminal." Alternatively, run it from the command-line terminal Konsole:

sudo /opt/PlaneShift/pssetup
sudo /opt/PlaneShift/psclient

Notes: This game ran very slowly for me on a 32-bit installation with a DSL connection and I gave up. The 64-bit installation worked better, but there were still many freezes. This is a game very much in development, and is still in alpha stage.

PrBoom - the classic Doom2 game

PrBoom is a free open source port of the original first person shooter action game, Doom.

sudo apt-get install prboom freedoom timidity timidity-interfaces-extra

There are thousands of extra maps (Wads) available for this game. It is easiest to keep a directory for your wads in your home directory:

mkdir /home/user/wads

Place your doom2.wad, tnt.wad, or plutonia.wad (from your original game) into this folder. If you don't have one, you can copy the Freedom version of doom2.wad from /usr/share/games/freedoom into this folder. Place any new .wad's you have downloaded from the Internet into this folder as well. Then run the game using both the original iwad map as well as your new .wad map (you will only see the new map).

prboom -iwad /home/user/wads/doom2.wad -file /home/user/wads/new_wad.wad

Note: Only doom2.wad, tnt.wad, or plutonia.wad can be used as an iwad. You must have one of these in addition to any new wad you wish to use. When in doubt, use doom2.wad.

Note: this game can also be installed using K menu -> Add/Remove Software (Adept Installer) --> Games as Freedoom, but you must also install timidity and timidity-interfaces-extra.

Wing Commander Privateer

The Linux version of this free version of Wing Commander can be downloaded as a binary here.

Internet Applications

Internet applications enable you to make full use of your Internet connection. Web browsers, Email clients, Instant Messengers, and more are included in this category.

Web Browsers

Konqueror

Konqueror is the default web and file browser included with Kubuntu.

Konqueror plug-ins
KGet (Download Manager) plug-in for Konqueror

KGet is a download manager for the Konqueror browser, but it can also work with Firefox as part of the FlashGot plugin.

sudo apt-get install kget

Mozilla Firefox

Mozilla Firefox is the ubiquitous web browser. Based on open source components, it is trademarked and cannot be altered or re-distributed with any change that involves the name or trademarks. Install the current version:

sudo apt-get install firefox
Firefox Plug-ins
Adblock plug-in (block ads in a web page)

Adblock Plus blocks ads that appear in web pages. You can subscribe to a free filter service, and can add ads to block with a single click.

sudo apt-get install mozilla-firefox-adblock
  • You can also add this extension from Firefox -> Tools -> Add-ons -> Get Add-ons -> Browse All Add-ons. (This method will also ensure that automatic updates are installed by Firefox.)
Noscript plug-in (controls scripts)

The Noscript plugin is considered one of the most important security measures for browsing the Internet. Most viruses and trojans gain access to computers from the Internet through scripts. This plugin allows you to choose which scripts to allow and blocks the rest.

sudo apt-get install mozilla-noscript
  • You can also add this extension from Firefox -> Tools -> Add-ons -> Get Add-ons -> Browse All Add-ons. (This method will also ensure that automatic updates are installed by Firefox.)
User Agent Switcher plug-in for Firefox

The User Agent Switcher plugin allows a browser to masquerade as another browser, allowing (most of the time) browser-specific content to be displayed.

  • You can add this extension from Firefox -> Tools -> Add-ons -> Get Add-ons -> Browse All Add-ons. (This method will also ensure that automatic updates are installed by Firefox.)
Video Download Helper plug-in for Firefox

The Video Download Helper plugin allows the download of videos (including Flash videos) from sites like YouTube.

  • You can add this extension from Firefox -> Tools -> Add-ons -> Get Add-ons -> Browse All Add-ons. (This method will also ensure that automatic updates are installed by Firefox.)
Unplug Download Management

The UnPlug add-on lets you save video and audio which is embedded on a webpage.

  • You can add this extension from Firefox -> Tools -> Add-ons -> Get Add-ons -> Browse All Add-ons. (This method will also ensure that automatic updates are installed by Firefox.)
Java Runtime Environment (JRE) for Firefox plug-in

This package also installs the Java Runtime Environment. (JRE is also installed when OpenOffice or ubuntu-restricted-extras is installed.)

sudo apt-get install sun-java6-jre sun-java6-plugin

Note: You must accept the license to use this product.

Adobe Acrobat Reader for Firefox Plug-in

This plugin is available from the Medibuntu repository. It allows you to view Adobe Acrobat files within the Firefox browser.

deb http://packages.medibuntu.org/ jaunty free non-free
  • Install:
sudo apt-get install acroread mozilla-acroread acroread-plugins acroread-fonts
Adobe Flash Player for Firefox Plug-in

To install the official Adobe Flash plugin (Flash 10) for Firefox:

sudo apt-get install adobe-flashplugin
Gnash Plug-in (Open source Flash Player replacement)

Gnash is available in a 64-bit version as well as a 32-bit version. It is the open source replacement for Adobe Flashplayer.

sudo apt-get install gnash

After installing, change your web browser's Preferences -> Applications so that SWF and SPL files use Gnash.

VLC plug-in for Firefox

This package allows the popular VLC player to play media within the Firefox browser.

sudo apt-get install mozilla-plugin-vlc
Gecko MediaPlayer Plug-in for Firefox

Gecko MediaPlayer is a browser plugin for all Gecko-based browsers (Firefox, SeaMonkey, IceApe, Opera) that allows Mplayer to play multimedia within the browser. Install:

sudo apt-get install gecko-mediaplayer

An alternative is to use the mplayer plugin for Firefox. Install:

 sudo apt-get install mozilla-mplayer
Kaffeine Plug-in for Firefox

This package allows the Kaffeine media player (often used in KDE-based desktops) to play multimedia within the Firefox browser.

sudo apt-get install kaffeine-mozilla
Helix player plug-in for Firefox

This package installs the Helix player (the open source player that plays Real Player content in Linux) as well as the plugin that plays RealMedia within the Firefox browser.

sudo apt-get install mozilla-helix-player
FireFTP for Firefox

FireFTP is a Firefox extension for FTP transfers.

Firefox Widgets
Turn off browser bar drop-down list in Firefox

This is the most frequently asked problem regarding Firefox. To turn off the location browser bar drop-down list (and therefore not show your browsing history):

Firefox -> about:config (in the location browser bar) -> browser.urlbar.maxRichResults -> right-click -> Modify -> set value to 0

IceCat (IceApe Browser)

IceCat is Firefox distributed without the Mozilla trademark restrictions. It is endorsed by the Debian project (on which Kubuntu is based). It is formerly known as IceWeasel and is also known as IceApe Browser. Install the current version:

sudo apt-get install iceape-browser

SeaMonkey

SeaMonkey is an open-source integrated internet application suite (web browser, IM (IRC) client, Email client, RSS/News reader, and web development tools). It is based on the same components as the Mozilla products (Firefox, Thunderbird, etc.) and shares the same trademark and branding restrictions. There are many plugins, similar to those for Thunderbird and Firefox. Install the current version:

sudo apt-get install seamonkey

IceApe

IceApe is an open-source integrated internet application suite (including web browser, IM (IRC) client, Email client, RSS/News reader, and web development tools). It is based on the same components as the Mozilla product SeaMonkey, but has no restrictive trademark licensing, and is endorsed by the Debian project (on which Kubuntu is based). Install the current version:

sudo apt-get install iceape

Opera

Opera is a proprietary browser and internet suite (currently free on PCs) also used in some mobile devices and gaming consoles. It includes email, an address book, IRC chat, integrated BitTorrent, and webfeeds. A limited number of plugins are also available.

sudo apt-get install opera

Download Managers

Downloader for X

Downloader for X is a GTK-based free-standing download manager utility. Still included in current repositories, the project appears dead. It is open-source, but does not have a GPL license.

sudo apt-get install d4x

Email Clients

KMail

KMail (Kontact Mail) is the default email client included with Kontact. Access it by going to

K menu -> Office -> Kontact Personal Information Manager

or

K menu -> Internet -> KMail

Kontact includes email, an address book, a calendar, reminders, pop-up notes, a link to the Akregator News/RSS reader, time-tracking, and more.

PGP and Kmail

PGP-encrypted messages can be emailed using Kmail. See this tutorial.

Kmail -> Configure Kmail -> Security -> Crypto Backends

Evolution

Evolution is the default Gnome-based email client. Installing it will also install many Gnome components.

sudo apt-get install evolution

Thunderbird

Mozilla Thunderbird is a licensed and trademarked free open-source email client that is compatible with Firefox. Install:

sudo apt-get install mozilla-thunderbird
Lightning calendar extension

Lightning is the calendar extension for Thunderbird (with functionality similar to the stand-alone application Sunbird). Install:

sudo apt-get install lightning-extension
Enigmail

Enigmail is an add-on to Thunderbird that allows you to easily encrypt your email using OpenPGP, which is included in the kernel by default. It also allows you to create and manage the encryption keys. Install:

sudo apt-get install enigmail
New Mail Icon for Thunderbird

"New Mail Icon" is an experimental tray add-on which notifies you of new mail. Download from the website. Install:

Thunderbird -> Tools -> Add-ons -> Install -> select downloaded file

Newsreaders

Akregator

Akregator is the default news/RSS reader included with Kubuntu. Usage instructions are found in the Handbook.

RSSOwl

RSSOwl is a Java-based RSS | RDF | Atom Newsfeed Reader.

In order to use the internal browser, install first the packages xulrunner and firefox by typing this command into Konsole:

sudo apt-get install firefox xulrunner

Change to your "opt" directory by typing this command into Konsole:

cd /opt

Download the zip-archive into your opt directory by typing this command into Konsole:

sudo wget http://downloads.sourceforge.net/rssowl/rssowl-2.0-RC1.linux.zip

Extract the archive and remove the extracted file by typing this command into Konsole:

sudo unzip ./rssowl-2.0-RC1.linux.zip && sudo rm ./rssowl-2.0-RC1.linux.zip

Make a startscript by typing this command into Konsole:

sudo nano /usr/bin/runRSSOwl.sh

and add the following lines to your starter-script file /usr/bin/runRSSOwl.sh

    #!/bin/bash
    cd /opt/rssowl
    ./RSSOwl

Make the startscript executable by typing this command into Konsole:

sudo chmod u+x /usr/bin/runRSSOwl.sh

Now you always can start RSSOwl by typing this command into Konsole:

runRSSOwl.sh

Instant Messengers

Kopete

Kopete is the default Instant Messenger application for Kubuntu. You can access multiple services with it. You can access it by:

K Menu -> Applications -> Internet -> Kopete Instant Messenger.
Kopete Styles

Additional styles for Kopete are available from KDE-look. Install from:

Kopete -> Settings -> Configure -> Chat Window -> Style -> Get New...
GoogleTalk on Kopete

Kopete can be configured to work with GoogleTalk Instant Messaging (but not VOIP) using the Jabber protocol. See these GoogleTalk instructions.

Konversation (IRC client)

Konversation is no longer the default Internet Relay Chat (IRC) client in Kubuntu, but is highly recommended nevertheless. It functions similar to the venerable mIRC. Make sure you have ports 6667-6670 open in your firewall to use IRC (and ports 1024-1028 open to use DCC). Install:

sudo apt-get install konversation

Run:

K menu -> Internet -> Konversation

Quassel (IRC client)

Quassel is a cross-platform IRC client currently in development and (for some reason) is now included as the default Kubuntu Jaunty client. Based on the Qt platform, there is not yet any DCC implementation (which makes this client limited in usefulness) and it has many bugs. Try Konversation instead.

Pidgin

Pidgin is an open source IM application. It is the default in the Ubuntu (Gnome) desktop, but will work in Kubuntu (KDE). You can access multiple services with it.

sudo apt-get install pidgin

aMSN

aMSN is an MSN Messenger utility that functions like the original client. It is not necessary if you use Kopete. Install it:

sudo apt-get install amsn

To enable Drag-and-Drop capabilities to aMSN for easy file transfer see Ubuntu Geek.

Emesene

Emesene is an MSN messenger client that uses a simplified interface similar to the original client. It is not necessary if you use Kopete. Install it:

sudo apt-get install emesene

Kmess

Kmess is an MSN messenger client aimed at integration with KDE. It is not necessary if you use Kopete.

sudo apt-get install kmess

Videoconferencing and VOIP

Videoconferencing and voice over Internet (VOIP) applications are merging into integrated applications. Most of these applications also allow placing calls to non-Internet based telephones for a small fee.

Ekiga

Formerly known as Gnomemeeting, Ekiga is a SIP compliant fully functional open source integrated VOIP and videoconferencing program.

sudo apt-get install ekiga

Skype

Skype is a proprietary integrated VOIP and video conferencing program similar to Ekiga. It is Qt-based and uses ALSA sound.

  • Download and install the 32-bit version:
wget -O skype-ubuntu-current_i386.deb http://www.skype.com/go/getskype-linux-beta-ubuntu-32
sudo dpkg -i skype-ubuntu-current_i386.deb
sudo rm skype-ubuntu-current_i386.deb
How to install Skype on a 64-bit system

The current version of Skype for 64-bit systems is a masqueraded 32-bit module. To use on a 64-bit system you might still need to install the needed packages:

sudo apt-get install ia32-libs lib32asound2 libqt4-core libqt4-gui
  • Then download and install the current Skype .deb package from the Skype website:
wget -O skype_ubuntu-current_amd64.deb http://www.skype.com/go/getskype-linux-beta-ubuntu-64
sudo dpkg -i skype-ubuntu-current_amd64.deb
sudo rm skype-ubuntu-current_amd64.deb
  • If the 64-bit version doesn't work for you, use the 32-bit version:
wget -O skype-ubuntu-current_i386.deb http://www.skype.com/go/getskype-linux-beta-ubuntu-32
sudo dpkg -i --force-architecture skype-ubuntu-current_i386.deb
sudo rm skype-ubuntu-current_i386.deb
Conference calls on Skype

Skype allows free (voice-only) conference calls between up to 5 "group" members.

Wengophone

Wengophone is an integrated VOIP and videoconferencing client available on many platforms. Wengophone was initially an open-source GPL-licensed package ('Wengophone Classic'). Both the Classic version (available as a .deb file) and the current proprietary binary version are available from the website. Wengophone Classic has now been rebranded as QuteCom, however. To install the current version as an Ubuntu/Kubuntu package, see these instructions.

  • Download and install the older Wengophone Classic version (.deb package):
wget http://download.wengo.com/wengophone/rc/wengophone-0.958m-1.i386.deb
dpkg -i --force-architecture wengophone-0.958m-1.i386.deb

Gizmo5

Gizmo5 is an Internet soft-phone application, similar to Skype, that uses the SIP protocol. Install (.deb package):

wget http://download.gizmo5.com/GizmoDownload/gizmo-project_3.1.0.79_libstdc++6_i386.deb
dpkg -i --force-architecture gizmo-project_3.1.0.79_libstdc++6_i386.deb

Asterisk VOIP PBX system

Asterisk is an enterprise-grade, free open source PBX and telephony system for VOIP.

sudo apt-get install asterisk

Kiax

Kiax is an LGPL-licensed open source IAX (Inter-Asterisk eXchange) application. It is used for making VoIP calls from an Asterisk PBX. The current version must be installed from source files. See the website for download and installation instructions, or see this Ubuntu Launchpad site.

FTP Clients

Although Konqueror can use FTP via kioslaves, you might wish to use a dedicated FTP client.

Filezilla

Filezilla is the ubiquitous free open-source FTP client and server for all platforms.

sudo apt-get install filezilla

Filesharing / P2P

Do not share copyrighted material or content that is otherwise illegal to share.

KTorrent

KTorrent is the default BitTorrent client in Kubuntu.

K menu -> Internet -> KTorrent

Be sure to have your firewall ports open (by default 6881 and 4444).

Azureus

Azureus is a Java-based BitTorrent client.

sudo apt-get install azureus


Transmission (BitTorrent Client)

Transmission is the GTK-based default BitTorrent client in Ubuntu (Gnome). KTorrent can be used in Kubuntu.

sudo apt-get install transmission

Apollon (P2P Filesharing)

Apollon is an older BitTorrent client oriented towards KDE. It uses plugins for compatibility with multiple networks.

sudo apt-get install apollon gift

KMLDonkey (P2P eMule/eDonkey2000 Client)

KMLDonkey is a KDE frontend for MLDonkey, the P2P file sharing program (and network) that is able to use different network protocols.

sudo apt-get install kmldonkey

Privacy

PGP (Message Encryption)

PGP (OpenPGP and GnuPGP) is a tool to encrypt your messages (such as email) to be unlocked only by someone who has a key to unlock it.

KGPG

KGpg is the GUI for KDE to manage the key pairs and other options of GnuPGP.

Tor

Tor is a project to allow privacy while using the Internet and to limit usage tracking. It routes your traffic through several anonymous nodes, so that your usage appears to come from an IP other than your own. (There are always risks when using the Internet that even Tor can not help with, though. Read this.) Using Tor can slow down your Internet usage significantly, depending on how much traffic is being passed through the Tor network (routine file-sharing or large downloads will also significantly reduce performance of the Tor network.)

  • Tor network speed improves when there are more volunteers to run relays (and relays have better anonymity), bridges, and exit nodes. Please consider being a relay or bridge node if your ISP does not filter Tor and you have good bandwidth. Additonally please consider configuring your relay as an exit node (if you are in a favorable network and don't mind a little bit of potential hassle for being an exit node).
  • Note: Due to recent attacks on the Tor network, it is worthwhile to install the most current version of Tor. See this section.

Install Tor (Network privacy)

  • Install Tor by following the instructions here. Note that the instructions require port 11371 on your firewall to be open to use the gpg keyserver (and download the key for the debian package). Then see the Tor installation guide for details. In general:
sudo apt-get install tor
  • Here is an example installation method:
sudo add-apt-repository "http://deb.torproject.org/torproject.org saucy main"
sudo apt-get update
sudo apt-get install deb.torproject.org-keyring
sudo apt-get update
sudo apt-get install tor
Use your own OS' version instead of saucy.
  • To install the signing key for the repository (make sure port 11371 in the firewall is unblocked):
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
  • If, after installing Tor, you wish to remove the Tor repository:
sudo add-apt-repository --remove "http://deb.torproject.org/torproject.org saucy main"
sudo apt-get update
  • Tor can be run in its default configuration from the command-line (or from a menu item with the "Advanced -> Run in terminal" box ticked):
tor
A separate menu item can be created to reliably shut down Tor:
sudo killall tor
  • By default Tor listens for Socks5 traffic on port 9050. (Socks5 proxies are able to tunnel both UDP and HTTP traffic through them.) In general, applications (including other daisy-chained proxies) should be configured to use Tor as a Socks5 proxy on port 9050.
  • I don't like Tor to automatically start at boot, so I edit the /etc/tor/torrc configuration file (use the gedit text editor instead of kate if using Ubuntu instead of Kubuntu):
sudo kate /etc/tor/torrc
and change the line so it looks like:
#RunAsDaemon 1
RunAsDaemon 0
then restart Tor:
sudo /etc/init.d/tor restart
or
sudo service tor restart
  • I also like to make sure Tor doesn't start at bootup using Bootup Manager:
sudo apt-get install bum
Run Bootup Manager:
sudo bum
Make sure Tor doesn't start at bootup:
tor (unticked) -> Apply -> Yes

Using Tor with Firefox

Tor acts as a Socks5 proxy on port 9050. Recent versions of Firefox allow direction of all traffic, including DNS resolution, through a Socks5 proxy. To enable this behaviour (after starting and running a previously installed version of Tor):

Firefox -> Edit -> Preferences -> Advanced -> Network -> Connection:Settings -> Manual proxy configuration (ticked) -> SOCKS Host: 127.0.0.1 (or localhost) -> Port: 9050 -> SOCKSv5 (ticked) -> No Proxy for: 127.0.0.1 (or localhost)
  • To return to using Firefox without a proxy (such as Tor), choose "No proxy" in the Firefox Network settings:
Firefox -> Edit -> Preferences -> Advanced -> Network -> Connection:Settings -> No proxy (ticked)

Tor Browser Bundle

The Tor Browser Bundle (Tor, Vidalia GUI, a modified version of Firefox, and Torbutton) provides greater functionality and security than the stock Firefox version with the standalone Torbutton. Install from here the version for your language and unpack it. For example:

wget https://www.torproject.org/dist/torbrowser/linux/tor-browser-gnu-linux-x86_64-2.2.35-12-dev-en-US.tar.gz
tar -xvzf tor-browser-gnu-linux-x86_64-2.2.35-12-dev-en-US.tar.gz

Then change to the extracted directory and start the Tor Browser Bundle:

cd tor-browser_en-US
./start-tor-browser

A menu item can also be created with the command to start it.

Torbutton (Firefox plug-in)

Once the Tor Browser Bundle is installed and Tor is running properly, Torbutton allows you to choose whether to use Firefox through the Tor anonymizing network or not. Updates to Torbutton can be installed using the .xpi extension found directly from the website.

  • As of 2012, Torbutton only works with modified versions of Firefox found in the Tor Project's Tor Browser Bundle (Tor, Vidalia GUI, a modified version of Firefox, and Torbutton) or with some older (non-updated) versions of Firefox.
  • Newer versions of Firefox may refuse to start when Torbutton is installed. If this occurs, Firefox must be started in safe mode:
firefox -safe-mode
Be sure to select "Start in Safe Mode" instead of "Reset Firefox" (unless you want to erase all your configuration settings and erase all your extensions/add-ons/plug-ins). Once in Safe Mode, the Torbutton extension can be disabled or removed (Firefox -> Tools -> Add-ons -> Extensions -> Torbutton -> Remove) and Firefox set to use "No proxy" in the Firefox Network settings:
Firefox -> Edit -> Preferences -> Advanced -> Network -> Connection:Settings -> No proxy (ticked)
  • The standalone Torbutton add-on for Firefox disables many functions of Firefox (when used with older unmodified versions of Firefox), such as the Drag and Drop function. It must therefore be disabled (Firefox -> Tools -> Add-ons -> Extensions -> Torbutton -> Disable) while using many of these Firefox functions.

Using Thunderbird with Tor

Tor acts as a Socks5 proxy on port 9050. Recent versions of Thunderbird allow direction of all traffic, including DNS resolution, through a Socks5 proxy. To enable this behaviour (after starting and running a previously installed version of Tor):

Thunderbird -> Edit -> Preferences -> Advanced -> Network & Disk Space -> Connection:Settings -> Manual proxy configuration (ticked) -> SOCKS Host: 127.0.0.1 (or localhost) -> Port: 9050 -> SOCKSv5 (ticked) -> No Proxy for: 127.0.0.1 (or localhost)
  • To return to using Thunderbird without a proxy (such as Tor), choose "No proxy" in the Thunderbird Network settings:
Thunderbird -> Edit -> Preferences -> Advanced -> Network & Disk Space -> Connection:Settings -> No proxy (ticked)

Note: To ensure absolute privacy of the location of your email client, an email account should be set up only through Tor (the first time) and should NEVER be accessed without tunneling through Tor.

TorBirdy (Thunderbird plug-in)

TorBirdy is an "experimental" Thunderbird email client add-on to allow older versions of Thunderbird to use the Tor network. (Also see the Tor website for more info.) It will not be able to be installed if you have recent versions of Thunderbird / Firefox. Install:

Thunderbird -> Tools -> Add-ons -> Get Add-ons: Search all add-ons: torbirdy -> Install

Using Choqok with Tor

Choqok is a Twitter / microblogging client. Choqok allows the use of a Socks5 proxy. If running Tor on port 9050, configure Choqok to use the Socks5 proxy on port 9050:

Choqok -> Settings -> Configure Choqok... -> Behavior: Proxy -> Use manually specified proxy configuration (ticked) -> SOCKS Proxy: 127.0.0.1 (or localhost) -> Port: 9050 -> OK

Using Filezilla with Tor

Filezilla, the ubiquitous FTP client, can be used with Tor. Filezilla directly allows the use of a Socks5 proxy. If running Tor on port 9050, configure Filezilla to use the Socks5 proxy on port 9050:

Filezilla -> Edit -> Settings -> Connection:Generic proxy -> SOCKS 5 (ticked) -> Proxy host: 127.0.0.1 (or localhost) -> Proxy port: 9050 -> OK

Using Rekonq/Konqueror/Dolphin with Tor

KDE services that access that Internet, such as Rekonq, Konqueror, or the Dolphin File Manager, can be made to use Tor by setting the systemwide KDE "Network Settings" to use the Tor proxy. (All three programs share the same KDE Network Settings).

Settings -> System Settings -> Network and Connectivity: Network Settings -> Proxy -> Use manually specified proxy configuration: (ticked) -> SOCKS proxy: 127.0.0.1 (or localhost) -> Port: 9050 -> Apply
or
Konqueror -> Settings -> Configure Konqueror... -> Web Browsing: Proxy -> Use manually specified proxy configuration: (ticked) -> SOCKS proxy: 127.0.0.1 (or localhost) -> Port: 9050 -> OK
or
Rekonq -> Settings wrench icon -> Configure rekonq... -> Network -> Proxy -> Use manually specified proxy configuration: (ticked) -> SOCKS proxy: 127.0.0.1 (or localhost) -> Port: 9050 -> OK

Using Konversation with Tor

Konversation is an Internet Relay Chat client similar to mIRC. Unfortunately, without Tor your IP address is easily determined while using an IRC client. Konversation directly allows the use of a Socks5 proxy. If running Tor on port 9050, configure Konversation to use the Socks5 proxy on port 9050:

Konversation -> Settings -> Configure Konversation... -> Behavior: Connection -> Proxy (ticked) -> Type: Socks v5 -> Address: 127.0.0.1 (or localhost) -> Port: 9050

Internet Messaging with Tor

Kopete

The Internet Messaging client Kopete can be used with Tor using the Off-the-Record messaging system, which is already installed by default. Enable the plugin:

Kopete -> Settings -> Configure -> Plugins -> OTR (ticked) -> OK -> OTR Settings (Wrench icon)

Pidgin

The Internet Messaging client Pidgin can be used with Tor using the Off-the-Record messaging system. Install the plugin:

sudo apt-get install pidgin-otr

XChat

The Internet Relay Client XChat can be used with Tor using the Off-the-Record messaging system. Install the plugin:

sudo apt-get install xchat-otr

Using Tor with Dropbox

Tor acts as a Socks5 proxy on port 9050. Recent versions of Dropbox allow direction of all traffic, including DNS resolution, through a Socks5 proxy. To enable this behaviour (after starting and running a previously installed version of Tor):

Dropbox -> Options -> Preferences... -> Dropbox Preferences: Proxies -> Proxy Settings: Manual (ticked) -> Proxy type: SOCKS5 -> Server: 127.0.0.1 (or localhost) -> Port: 9050
  • The transfer of multiple large files through Tor is discouraged as it slows down the Tor network.

Using proxies with Tor

usewithtor

  • If you installed a recent version of Tor from the repositories, you will have installed the "usewithtor" package. A number of applications can be automatically redirected to the Torsocks proxy (torsocks) with this utility:
usewithtor myapplication

A menu item with such a command can then be created.

  • By using torsocks, usewithtor will also block an application from sending UDP traffic (which is not anonymized by the Tor network).
  • Applications that you wish to "usewithtor" (with torsocks) or "torify" (with tsocks) should use port 8118 for the http proxy port and port 9050 for the socks port.

torify

  • Another method is to "torify" an application with a different tor socks proxy (tsocks) if tsocks has been configured (edit /etc/tor/tor-tsocks.conf).
torify myapplication
  • tsocks does not explictly block UDP traffic, so if it is desirable to allow UDP traffic while anonymizing ftp traffic, use this method.

Privoxy

  • I use the Privoxy proxy to tunnel http traffic through Tor. Install the Privoxy http proxy:
sudo apt-get install privoxy
  • Applications can be set to send their http traffic to Privoxy over port 8118; Privoxy will then in turn forward the http traffic to Tor over port 9050. (Use an IP address other than 127.0.0.1 if Privoxy and/or Tor are not on the local machine. Use localhost instead of 127.0.0.1 if using IPv6 addressing on your systems).

Note: For some older versions of Privoxy, users have reported better success designating the address of the host computer as 127.0.0.1 instead of localhost in the configuration settings.

  • Edit configuration files.
  • In the configuration file Privoxy is configured by default to listen on port 127.0.0.1:8118. See Firewall considerations. Edit the Privoxy configuration file (use the gedit text editor instead of kate if using Ubuntu instead of Kubuntu):
sudo kate /etc/privoxy/config
Add the lines
forward-socks5 / 127.0.0.1:9050 .
forward-socks4a / 127.0.0.1:9050 .

Note: socks5 allows more authentication choices, UDP for external DNS resolution, and accommodates IPv6. (By including both lines, socks4a is used as a fallback if a program does not support socks5.)

  • Restart Privoxy:
sudo /etc/init.d/privoxy restart
or
sudo service privoxy restart

Other proxies

Other proxies such as socat, Polipo can also be used with Tor instead or Privoxy. Squid can also be daisy-chained to one of the proxies.

Ensuring applications use the proxy

  • See this advice. (Note: this is labeled as "old advice.") In (K)Ubuntu, the bash configuration files are at ~/.profile (i.e. /home/user/.profile) for the current user or at /etc/profile for system-wide usage. Using this advice, edit one of those two files and add the lines at the end of the file:
http_proxy=http://127.0.0.1:8118/
HTTP_PROXY=$http_proxy
export http_proxy HTTP_PROXY

Using specific applications with Tor

  • Torchat can be used for IM through Tor. Install:
sudo apt-get install torchat
  • Other applications may allow for the http proxy and the chainloaded socks services of Tor to be used independently (in parallel). Once Tor (and the relevant proxy or proxies) are running, the http proxy 127.0.0.1:8118 and the socks proxy 127.0.0.1:9050 can be specified in the configuration settings of an application that allows for this.

Tor GUIs

  • It is not necessary to use a GUI with Tor.
  • If you will use Tor with a GUI interface (such as Vidalia or TorK), however, edit the Tor configuration file (use the gedit text editor instead of kate if using Ubuntu instead of Kubuntu):
sudo kate /etc/tor/torrc
  • Add the line so that the GUI interface can control Tor over port 9051:
ControlPort 9051
Note: There is some concern that allowing control of Tor over port 9051 is not secure. If you will not be using a GUI, this step is not advised.

Vidalia (Tor interface)

Vidalia is the recommended Qt4-based GUI frontend for Tor. If not installed with Tor, install:

sudo apt-get install vidalia

Tork (KDE Tor interface)

TorK is a KDE interface for Tor that relied on the older Qt3 platform. It is no longer included in the (K)Ubuntu repositories (as of Natty 11.04). However, if desired it can still be installed (along with the required older Qt3 libraries) by adding the Maverick repository (directly or using a package manager):

deb http://ubuntu.mirror.cambrium.nl/ubuntu/ maverick main universe
  • Installing TorK also will install privoxy and unless you have also added the Tor repository directly, will also install an older version of Tor from the Ubuntu universe repositories. See these installation tips. Install:
sudo apt-get install tork privoxy
  • Run TorK (K menu -> Internet -> TorK Anonymity Manager) for the first time using the First Run Wizard (TorK -> Tools -> First Run Wizard).
"No, tor is going to run on this PC" then "I have to start Tor manually" then "Run A Tor client with default settings" then "I want to use Privoxy..." then "Privoxy starts in the background when my computer boots up" then go through the remaining options.
I then start ("Play") TorK as a Client. I happen to like Konqueror for Anonymous browsing, since it worked the first time for me without a problem. I keep Firefox for non-Tor browsing (so I don't have to change any of its settings) or install Torbutton (see below). You may have to fiddle with your Network proxy settings in Konqueror or Firefox (if things don't work the way you expect them to).
  • Allow the Firewall (like Firestarter) to allow ports 8118, 9050, 9051, or just turn off the firewall completely, until everything is working. Then turn the firewall back on. (You should monitor your firewall carefully. TorK has settings to automatically turn it off, if you aren't careful.) No ports are required to be left open in the firewall for Tor to work, as all traffic will be directed through the socks port 9050 (which avoids the firewall).
  • Applications that you wish to "torify" (with tsocks) or "usewithtor" (with torsocks) should use port 8118 (i.e. 127.0.0.1:8118) for the http proxy and port 9050 (127.0.0.1:9050) for the socks port.
  • Once configured as a client successfully, if you have the bandwidth and a stable environment please enable the client/relay mode and/or server mode so that the Tor bandwidth is increased.
  • Note: Tork constantly monitors the network (both Tor and non-Tor traffic). This can cause slowing of the Tor traffic from your computer and even cause intermittent interruptions. (Tor runs in the background and does not require Tork to be running as a control module.) If Tor is running in a stable mode, it will be faster (and less problematic) to stop Tork (sudo killall tork) and allow Tor to run in the background.
  • Note: Traffic that is routed through Privoxy (and then presumably to Tor from Privoxy if configured correctly) will be logged as "non-Tor" traffic by Tork. As long as Privoxy is working correctly, however, this traffic is being forwarded through the Tor socket.
  • Tork does not start Privoxy properly. Privoxy must be started (prior to starting Tork) as a startup program (e.g. using the Bootup-Manager) or manually with the command:
sudo /etc/init.d/privoxy start
or
sudo service privoxy start

Prevent autostart of proxies and Tor

  • Whenever I stopped the TorK GUI and then later wanted to start it again, I had to manually kill the Privoxy and Tor processes first.
sudo killall privoxy
sudo killall tor
  • Further, Tor, Privoxy, and Polipo install themselves as automatically started services at bootup. Preventing automatic startup (at boot) of Tor and Privoxy (and/or Polipo) can be accomplished by one of the methods in this Ubuntu Forums thread. Personally, I like using Bootup-Manager:
sudo apt-get install bum
but another option is:
sudo update-rc.d tor disable
sudo update-rc.d privoxy disable
sudo update-rc.d polipo disable

which will also stop updates from re-installing the applications as startup services when updates are made.

  • If Privoxy is stopped, it must be re-started with the Bootup-Manager or using the command:
sudo /etc/init.d/privoxy start
or
sudo service privoxy start

Firewall considerations

Single computer

If you have the Tor client, the proxy client (Privoxy, Polipo, or socat), and the browser client (or other application) on the same computer, you do not need to have any open ports in order to use Tor. In such a circumstance it is safest to block all ports that connect to the Internet. The socks proxy bypasses the firewall entirely (so there is no need to leave any ports open in order for it to communicate).

By closing all ports (using a firewall), applications will be prevented from bypassing Tor (accidentally or unknowingly). Later, if you wish to have some of your traffic directed through Tor and some of your traffic traffic routed outside of Tor, you can open the ports for the traffic that will not go through Tor.

Proxy on LAN

If the proxy (Privoxy, Polipo, socat, etc.) on your LAN is on a computer different from the computer(s) that have the end-user client applications, it is best to open the port (e.g. 8118) for communication only between computers on the LAN (with the end-application clients on them) and the computer on the LAN with the proxy on it. Port 8118 should then not be open to the Internet but only to the computers on the LAN that will use the proxy.

If the Proxy and Tor client are on different computers as well, port 9050 should be open (on the LAN, not on the Internet) between the computer with the Proxy and the computer with the Tor client only, so that the Proxy can forward traffic to the Tor client (but not to the Internet). (Obviously, if the Proxy and the Tor client are on the same computer, there is no need to open the 9050 port at all.)

Blocking all non-Tor traffic using iptables

To ensure that no unprotected traffic "leaks" from applications without your knowledge, it is possible to configure your firewall iptables to prevent all traffic except that which is transmitted through Tor.

Tor network initialization

It may be necessary to open port 443 (or less desirably port 80) to allow resolution of the nodes of the Tor network. Consider using DNS privacy methods.

Troubleshooting

Upgrading to Tor 0.2.4

  • In 2013 a botnet appears to have started to operate on Tor using the v0.2.3 client (with speculations about both the USA's FBI and NSA involvement). This slowed the Tor network by increasing handshakes between relay nodes. See this info. In addition, DDoS attacks in 2014 exploit vulnerabilities in Tor versions < 0.2.4.18-rc. See this info. For these reasons it is best to use a recent version of Tor.
  • In the past, it was suggested by some users that the v.0.2.2 client (which is still available in the (K)Ubuntu repositories) was not vulnerable to the 2013 botnet. This has not been verified nor does it seem immune to recent attacks.

Router speed

  • Although applicable to p2p traffic, this information is generically applicable to Tor as well.
  • Some routers (including a certain version of the Linksys WRT54G) slow down when the incoming/outgoing connection log (cache) becomes full (which can happen with many Tor or P2P connections). Disable the Log if this problem occurs.
  • An uncommonly recognized problem (with some routers, such as the WRT54G, with heavy traffic flow on startup) is that of a connection storm. The fix is not trivial and may require using custom firmware and/or working with the iptables firewall. See this info.

Other resources

  • Tor documentation
  • Obfsproxy is a proxy to transform data between a client and a Bridge node into innocent looking data, in order to circumvent Deep Packet Inspection (DPI) censorship. See the Debian/(K)Ubuntu instructions.
  • OnionCat is a VPN adapter/service that transmits IP-based data transparently through the Tor network on a location hidden basis. (Also see this.) A Launchpad repository is here.
  • FoxyProxy is a proxy service that can connect to the Tor network. Also see the Firefox plugin download page.
  • Tails is a free, complete GNOME-based Debian Linux operating system with Tor enabled by default. Iceweasel (the free Debian version of Firefox) and other Internet tools are cryptographically-enhanced, and, for privacy, browsing and other Internet usage traces are minimised. Components include LUKS for disk-encryption, Nautilus Wipe for erasing disk traces using the Nautilus file manager, KeePassX for password generation and encyrypted password storage, the Firefox plug-in HTTPS Everywhere to ensure the usage of encrypted website portals, and Off-the-Record_Messaging for Internet Message encryption, among others.
  • Anonymous email tips -- setting up web-based email anonymously through the Tor network
  • Free webhost reviews -- any online storage site must be assumed to be insecure, so these should always be accessed through Tor and never used for private files. A popular method is to sign up for a webhost account (through Tor) using an anonymous email account (also created using Tor) then subsequently to use Filezilla with Tor to securely transfer files to the webhost. See this article if interested in using the webhost as a webseed for BitTorrent. Because many free webhost providers are insecure, you may wish to consider accessing the free webhost within a quarantined virtual machine and access the webhost only through Tor (such as with Filezilla with Tor).
  • Here are some moderated lists of Tor hidden services from the Deep Web Wiki (primarily accessible with Tor running and enabled as a proxy):

Similar networks:

Graphics and Video Applications

Graphics and Video Applications allow you to edit your favourite photos, create stunning 3D drawings, or professionally edit your videos and movies.

KdenLive (Non-linear Video Editing Suite for KDE)

Kdenlive is a GUI-based non-linear video editing suite for KDE based on FFmpeg and the MLT video framework. It is optimised for KDE 4.

sudo apt-get install kdenlive mjpegtools

Kino (Non-linear Video Editing Suite)

Kino is a widely used GUI-based non-linear video editing suite for Linux.

sudo apt-get install kino mjpegtools

Cinelerra (Non-linear Video Editing Suite)

Cinelerra Community Version is a complete high-end open source video editing suite that is a derivative of a similar commercial system. Follow the installation instructions for Ubuntu Intrepid.

Avidemux (Video editor/processor)

Avidemux is a free, GPL-licensed open source cross-platform video editor and processor that supports many filetypes (MPG/DVD, AVI, MP4, ASF). Install the QT-based version:

sudo apt-get install avidemux-qt

Dia (Diagram editor)

Dia is a free open source GTK-based diagram creation program for Gnome (but can be used in KDE). It is similar to Visio.

sudo apt-get install dia

Kivio (Diagram editor)

Kivio is an open source flow-chart and diagram creation program that is part of the KOffice Suite for KDE. It supports Dia stencils (and is therefore similar to Dia and Visio).

sudo apt-get install kivio

Gwenview (Image Manipulator)

Gwenview is the quick image manipulator installed by default in Kubuntu. Simple cut-and-paste, resizing, and format conversion are some of the graphics files manipulations that can be accomplished. Run:

K menu -> Graphics -> Gwenview Image Viewer

GIMP (Image Manipulator)

Gimp is a powerful, full-featured, free open-source graphics and image editor, similar to Adobe Photoshop.

sudo apt-get install gimp

There is an extra set of brushes, palettes, and gradients for The GIMP.

sudo apt-get install gimp-data-extras

Inkscape Vector Illustrator

Inkscape Vector Illustrator is an open source drawing program similar to Illustrator and CorelDraw.

sudo apt-get install inkscape

KSnapshot (Screen Capture)

KSnapshot is the default screen capture program included with Kubuntu. Run:

K menu -> Graphics -> KSnapshot Screen Capture program

recordMyDesktop (Desktop Session Recording)

recordMyDesktop is a desktop recording utility, which has both pyGTK and a pyQT4 GUI frontends available. Recordings are saved in Theora video/Vorbis audio files. See this tutorial. Also see this help video to enable sound recording. To install with the GTK frontend (since the Qt-frontend is not in the repositories):

sudo apt-get install recordmydesktop gtk-recordMyDesktop

Sound problems with RecordMyDesktop

See this thread for solutions.

For me, this skipping was fixed by

sudo -s
echo "512" > /proc/asound/card0/pcm0c/sub0/prealloc
  • I then added the following line under gtk-recordMyDesktop -> Advanced -> Misc -> extra options:
recordmydesktop -buffer-size 65536

My microphone is hw:0,0 (card0, device0), but clearly you have to figure out your own card and device number (see tutorial linked above). I specify this not only in the setting listed above, but also gtk-recordMyDesktop -> Advanced -> Sound -> Device: hw:0,0


Istanbul (Desktop Session Recording)

Istanbul is a desktop recorder for the Gnome desktop. It records your session into an OGG Theora video file.

sudo apt-get install istanbul

Wink (Presentation Editor)

Wink is a open source tutorial and presentation editor. It allows you to capture screenshots and use them for presentations.

sudo apt-get install wink

Note: The package is available for 32-bit systems only, although there are instructions for 64-bit installation here.

The instructions for 64-bit installation are condensed here.

Digikam (Photo Organiser)

Digikam is a comprehensive open source digital photo organiser and editor for KDE. It is installed by default in Kubuntu. If not, you can install it:

sudo apt-get install digikam kipi-plugins digikam-doc

Google Picasa (Photo Organiser)

Google Picasa is a photo editor and organiser similar to Digikam. It allows uploads to a Google web server for online exchange. For more info, see the Picasa for Linux FAQ. A self-installing .deb file is available at Picasa 2.7 downloads.

Camorama (Web Cam)

Camorama is a simple GTK-based (i.e. Gnome-based) interface for webcams using the v4l (video for linux) drivers.

sudo apt-get install camorama

UbuntuStudio (Ubuntu distribution customized for multimedia editing)

UbuntuStudio is an official derivative of Ubuntu that pre-packages many multimedia editing packages. (Each of the packages can also be installed independently.) See the website for a full list of the premier audiovisual software packages available for Ubuntu Linux.

Multimedia Applications

Multimedia applications include music and video playback, CD and DVD playback and recording, and Internet TV as well as "terrestrial" (i.e. broadcast, satellite, and cable) TV viewing on your computer.

CDs and DVDs

K3b (CD/DVD burner)

K3b (KDE Burn Baby Burn) is the default KDE CD and DVD burning utility included in Kubuntu. This includes the ability to burn VideoDVD's. K3b is included by default in most Kubuntu installations. If not, install:

sudo apt-get install k3b
Install MP3 support for K3b

Due to licensing requirements, mp3 capabilities for K3b must be installed separately. (Note: this package is automatically installed as part of kubuntu-restricted-extras). Install the libk3b3-mp3 package:

sudo apt-get install libk3b3-extracodecs

DVD Playback Capability

To play encrypted DVDs, the libdvdcss2 package is essential. libdvdcss2 is a simple library designed for accessing DVDs like a block device without having to bother about the decryption. More information about this package can be found at VideoLAN.

  • You can install libdvdcss2 as a 64-bit .deb package without installing the Medibuntu repositories:
wget -c http://packages.medibuntu.org/pool/free/libd/libdvdcss/libdvdcss2_1.2.10-0.2medibuntu1_amd64.deb
sudo dpkg -i libdvdcss2_1.2.10-0.2medibuntu1_amd64.deb
or a 32-bit .deb package:
wget -c http://packages.medibuntu.org/pool/free/libd/libdvdcss/libdvdcss2_1.2.10-0.2medibuntu1_i386.deb
sudo dpkg -i libdvdcss2_1.2.10-0.2medibuntu1_i386.deb
  • You can also use guidelines provided at Medibuntu. This will install the Medibuntu repositories on your system and then install the libdvdcss2 package:
sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update
sudo apt-get install medibuntu-keyring
sudo apt-get update
sudo apt-get install libdvdcss2
You can also install 32 bit or 64 bit Windows multimedia codecs (if you haven't already done so using kubuntu-restricted-extras):
sudo apt-get install w32codecs
or
sudo apt-get install w64codecs
  • Instead of downloading directly from Medibuntu, you could also use the script included with the libdvdread3 package to download and install libdvdcss2:
sudo apt-get install libdvdread3
sudo /usr/share/doc/libdvdread3/install-css.sh

K9copy DVD-Ripper

K9copy is the free open source DVD backup, copying, compression, and authoring utility that requires libdvdcss. You can easily create MPEG-2. MPEG-4, or DVD videos with this utility. For other info, see either this or this guide.

sudo apt-get install k9copy
  • Tips: At times you may not be able to copy your DVD directly from DVD to DVD. This may because you have a small imperfection in the DVD, or because the DVD was initially created with a non-standard burning method. There are two methods that can help solve this problem:
  • Copy the VIDEO_TS and AUDIO_TS folders from your original DVD directly to your hard drive. Then use k9copy to burn a DVD directly from these hard drive folders.
  • Use k3b (or Gnomebaker) to copy an .iso image from the original DVD to your hard drive. Then use k9copy to extract from the hard drive .iso image and then burn a DVD directly from it.

dvd::rip

dvd::rip is a DVD backup/copy program, written in GTK-based perl (for the Gnome/Ubuntu desktop), that uses the transcode video/audio processing and conversion tools. It is simjilar to k9copy. See the website for installation and official documentation. For other info, see this dvd::rip tutorial. Install:

sudo apt-get install dvdrip rar

DVD Fab DVD Ripper

DVD Fab is a favoured DVD backup tool in the Windows community for today's DVD encryption methods. It must be run in Wine (since it is a Windows application). It comes as a fully featured 30-day trial, but see these instructions for fine-tuning the trial period.

Handbrake

Handbrake is a GPL-licenced open source tool for converting DVD to MPEG-4 (iPod format) that is an alternative to k9copy. A self-installing .deb file is available from the website for download.

FFMPEG video / audio conversion

FFMPEG is the swiss-army knife of video and audio format conversion. It succeeds when no other program can. It is free and open source. If it not yet installed on your system as part of another package (it is used by many video/audio editors), then install it:

sudo apt-get install ffmpeg
Example: To convert a saved Flash video (.flv) to an MPEG-2 format playable on a DVD, convert:
ffmpeg -i samplevideo.flv -target ntsc-dvd samplevideo.mpg

Then use K3b to write the mpg file to a New DVD Data Project.

  • For PAL use -target pal-dvd. For widescreen, use -target film-dvd. For other conversion tips, see this forum. (Note: Most Flash video has very low resolution, with a screen size of 360x270, for example. You may see a slight diminishment in resolution if you wish to convert it to 720x480 (which is the NTSC standard size) or other screen size. You can keep the original screen size and resolution by omitting the -target parameter.) If your original file is 16:9 widescreen and you desire a 4:3 letterbox output for playing on an overscanned TV, you may need to pad the file so that the widescreen is not compressed (see this forum):
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58 samplevideo.mpg
  • You can also use the WinFF GUI and add the command (as above) as a "Preset," for subsequent use. For example:
Video converter (WinFF) -> Edit -> Presets ->
Preset Name: Letterbox -> Preset Label: 16:9 Widescreen to 4:3 Letterbox
Preset command: -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58
Ouput file extension: mpg -> Category: DVD
-> Add/Update -> Save
  • To convert to MPEG-4 (mp4) files, use
ffmpeg -i samplevideo.flv outputvideo.mp4
  • FFMpeg requires that multiple restricted extra codecs be installed. This can be done in a single easy step from the command-line terminal Konsole:
sudo apt-get install kubuntu-restricted-extras
FFMPEG GUI

WinFF is a free, GPL-licensed open source GUI frontend for FFMPEG. Install:

sudo apt-get install winff xterm
Run:
K menu -> Multimedia -> Video converter (WinFF)
Join video segments

Individual video segments (MPEG-2, for example) can easily be joined:

cat samplevideo1.mpg samplevideo2.mpg samplevideo3.mpg > samplevideo123.mpg
You can then write the resulting MPEG-2 file to a DVD and play it in most DVD players.

Save any streaming Flash video

An easy way is to install the Video Download Helper plug-in for Firefox.

Otherwise, most Flash videos download to the /tmp directory while you watch the video, creating a randomly-named video file there (such as Flashuh4G6s). When you close the webpage, this file in the /tmp directory will be erased. After the entire video has downloaded, but before you close the webpage, copy that file (such as Flashuh4G6s) to your home directory (where it will not be erased). Of course, for this to work, you must change your Flash (or Gnash) settings to allow an unlimited buffer. While watching your Flash video, right click to bring up the Flash -> Settings window. Set the Buffer to "Unlimited."

Once you have copied the file, rename it appropriately with the .flv added to the filename. You can then watch it using VLC or Mplayer.

Here is another method that involves making a symbolic link.

Convert Flash video audio to mp3

Once you have downloaded flash video content (.flv) from the Internet (using the Video Download Helper plug-in for Firefox, for example), the audio component can be converted to an mp3 using this command (from the command line terminal Konsole). (This will work for any type of video file, not just Flash.)

ffmpeg -i nameofvideoclip.flv -ab 160k -ac 2 -ar 44100 -vn nameoffile.mp3

where -i indicates the input, -ab indicates the bit rate (in this example 160kb/sec), -vn means no video ouput, -ac 2 means 2 channels, -ar 44100 indicates the sampling frequency. See FFMPEG docs for more info.

DVD Author

DVD author allows you to create menus and format your MPEG-2 videos onto a DVD disc so that you can play it in a commercial DVD player. DVD Author is a command line tool, but several GUI's exist. Install:

sudo apt-get install dvdauthor
QDVDAuthor

QDVDAuthor is a Qt-based GUI for DVD Author. Install:

sudo apt-get install qdvdauthor

Run:

K menu -> Multimedia -> QDVDAuthor

Follow instructions in the Quick-Start Guide:

QDVDAuthor -> Help -> Quick-Start Guide

For a tutorial on authoring DVDs, see this guide.

dvd::rip

dvd::rip is a DVD backup/copy program, written in GTK-based perl, that uses the transcode video/audio processing and conversion tools. See the website for installation and usage instructions.

Ripper X CD Ripper/Encoder

Ripper X is a GTK-based (i.e. Gnome) open source utility to rip CD audio tracks to OGG, MP3, or FLAC formats. It supports CDDB lookups.

sudo apt-get install ripperx

Asunder CD Ripper/Encoder

Asunder is a GTK-based open source CD ripper/encoder which saves to Wav, MP3, OGG, FLAC, or WavPack. Self-installing .deb packages are available here.

Audex CD Ripper/Encoder

Audex is a port to KDE4 of the KAudioCreator package used in KDE 3. It can create output for LAME (MP3-compliant), OGG Vorbis (oggenc), FLAC and RIFF WAVE. Install:

sudo apt-get install easytag

Run:

K menu -> Multimedia -> Audex

There is also a newer .deb package for Kubuntu (see the website).

EasyTag (ID3 Tag Editor)

EasyTag is an open-source GTK-based ID3 Tag Editor for mp3 and other file formats. Install:

sudo apt-get install easytag

Run:

K menu -> Multimedia -> EasyTAG

Audacity (Audio Editor and Recorder)

Audacity is the leading cross-platform free open source (GPL-licensed) audio recorder and editor. It can be used to record, splice, edit, and manipulate sound files similar to tools found in recording studios. Install:

sudo apt-get install audacity

Ardour (Digital Audio Workstation)

Ardour provides the premier open source GTK2-based digital audio editing tool used on Linux (and OSX) platforms. (Ardour is used in UbuntuStudio.) Install:

sudo apt-get install ardour

UbuntuStudio (Ubuntu distribution customized for multimedia editing)

UbuntuStudio is an official derivative of Ubuntu that pre-packages many multimedia editing packages. (Each of the packages can also be installed independently.) See the website for a full list of the premier audiovisual software packages available for Ubuntu Linux.

Music Players

Amarok

Amarok is the default music player in Kubuntu. The new version (in Jaunty) also allows you to play Shoutcast internet radio streams from within the program.

Amarok themes

Amarok themes can be downloaded from KDE Look and installed.

  • Download the theme (ending in .tar.bz2) to your home directory (or chosen directory).
  • Amarok -> Settings -> Appearance -> Install New Style
  • Select the downloaded file.
Stream Amarok output to Airport Express

Make sure your firewall is not blocking ports 5353, 5000, and 6000.

or

Audacious

Audacious is a compact, fast music player that is a fork of XMMS. It resembles WinAmp and can use WinAmp and XMMS skins. It supports many plugins and is ideal for streaming content. Install:

sudo apt-get install audacious

You can switch switch between the "PulseAudio Output Plugin" and the "ALSA Output Plugin" under

Audacious -> Preferences -> Audio -> Current output plugin.

Banshee Music Player

Banshee is a Gstreamer, Mono and Gtk-based music player for Linux and Mac OS X. It supports multiple mp3 players (including the iPod).There are plugins for podcasts, internet radio, and more.

sudo apt-get install banshee

Exaile Music Manager and Player

Exaile is a GTK-based music player that supports many formats, incorporates a Shoutcast directory, a plugin for iPod, Last.FM support, tabbed playlists, and other features. Install:

sudo apt-get install exaile

Songbird Music Player

Songbird is an open source music player from Mozilla with an appearance meant to resemble iTunes. It is in current development and does not yet have full support for mp3 players (such as the iPod). It incorporates a Shoutcast internet radio interface. The current beta version can be downloaded from the website.

Video and Music Players

Most current video multimedia players play many video formats, including the Flash video .flv format.

VLC Multimedia Player

VLC is a cross-platform multimedia player that supports many formats without need for additional codecs. It can not only receive video streams (also see here for converting to mp4), but can act as a server for video streams, as well. It is one of the only players that can view and backup almost any DVD format, no matter which copy protection is used. See these tips for using VLC to backup/rip encrypted DVDs. This is the most powerful player available and is highly recommended.

sudo apt-get install vlc vlc-plugin-pulse

Kaffeine Video Player

Kaffeine is the default video player in prior versions of Kubuntu. It is re-written for KDE4 but is not included by default. It works well in Jaunty, is very fast, and has more features than the default Dragon Player (which has few customizable options). Install:

sudo apt-get install kaffeine

MPlayer Multimedia Player

Mplayer is a video player with a wide range of formats supported (including RealMedia and Windows-codecs) and a wide variety of outputs. KPlayer is the KDE package that installs Mplayer with the KPlayer frontend.

sudo apt-get install kplayer

(Alternatively, you can install mplayer alone.)

Dump a video stream to disc

You can dump a video stream to disc using Mplayer:

mplayer -dumpstream streamurl

If you don't know the exact URL of the stream you wish to save, you can discover it from the webpage it is embedded in by using the Firefox add-on UnPlug. Do not save streams that are illegal to download.

SMPlayer

SMPlayer is an enhanced frontend for MPlayer. It is similar to Kplayer.

sudo apt-get install smplayer

Xine-UI Multimedia Player

Xine UI is a multimedia player based, of course, on the xine platform. It can also play streamed video from the Internet and supports most formats, including some uncommon ones.

 sudo apt-get install xine-ui

RealPlayer 11 Multimedia Player

The Linux Realplayer is actually based on the open-source Helix player. Helix itself can be installed as a package easily (read Helix plug-in) and used instead of Realplayer. These instructions are to install the proprietary version of RealPlayer only.

Download Real Player official linux player

Open a terminal and cd to the directory you have downloaded realplayer's .bin file. Then issue the following commands

chmod +x RealPlayer11GOLD.bin
sudo ./RealPlayer11GOLD.bin

When it asks for installation path enter /usr/local/RealPlayer

For all other questions just choose default by pressing enter.

If you have installed mozilla-mplayer package you will need to delete the mplayer firefox plugin for real player videos. Other wise all real player files will open with mplayer. For that please do this

cd /usr/lib/firefox/plugins
sudo rm mplayerplug-in-rm.*

Please remember to restart firefox and when ever you click on a real player video choose the option open with and use /usr/bin/realplay

Internet TV

Miro Player

Miro Player (formerly Democracy TV Player) is an open-source Internet TV and video player that allows you to watch Internet TV and videos. Unlike other video players, it contains a structured guide that includes more than 2500 channels, has built-in BitTorrent, and has features that can automatically save videos, such as from YouTube.

sudo apt-get install miro

Myth TV

See MythTV

Sopcast Internet TV

Sopcast is an interface to play live P2P video streams. hrough the VLC media player. Install VLC first. This is a Chinese program and most content is hosted in China and may not be legal in your area. Please consult local regulations.

  • Download and install:
wget http://sopcast-player.googlecode.com/files/sp-auth_3.0.1_i386.deb
wget http://sopcast-player.googlecode.com/files/sopcast-player_0.3.0-0ubuntu1_i386.deb
sudo dpkg -i sp-auth_3.0.1_i386.deb sopcast-player_0.3.0-0ubuntu1_i386.deb
  • For 64-bit systems, use:
wget http://sopcast-player.googlecode.com/files/sp-auth_3.0.1_amd64.deb
wget http://sopcast-player.googlecode.com/files/sopcast-player_0.3.0-0ubuntu1_amd64.deb
sudo dpkg -i sp-auth_3.0.1_amd64.deb sopcast-player_0.3.0-0ubuntu1_amd64.deb
  • Run:
K menu->Internet->SopCast Player
  • Alternate source package installation instructions:
Retrieve the package by running:
wget http://sopcast.fuerzw.de/download/3.0.1/sp-auth.tgz
Untar the package:
tar -xvf sp-auth.tgz
Move sopcast base application to /usr/bin/
cd sp-auth/
sudo mv sp-sc-auth /usr/bin/
Now you have two options to run the program:
Command Line:
sp-sc-auth sop://broker.sopcast.com:3912/6098 3908 8908 > /dev/null &
replace sop://broker.sopcast.com:3912/6098 with the stream address given to you.
Open the Stream in Mplayer or VLC player
mplayer http://localhost:8908/tv.asf
or
vlc http://localhost:8908/tv.asf

Zattoo

Zattoo is a free Internet TV player that allows you to watch terrestrial television from various countries in Europe.

  • Install dependencies first:
sudo apt-get install libgtkglext1 adobe-flashplugin
 wget http://zattoo.com/release/download.php
  • Install the downloaded .deb package:
sudo dpkg -i *.deb
  • Run Zattoo:
K -> Application -> Multimedia -> Zattoo Player
Note: you have to register for a free account when the player starts.

See the Zattoo Download page for further instructions on installation.

Media Centers and PVR (Personal Video Recorder)

There are a number of open-source Media Centers for Linux, some of which include personal video recorder functions. For a full list of open-source media centers, see this guide.

MythTV

MythTV is a media center with PVR (personal video recorder) for retrieving, recording, and playing broadcast and Internet TV and other multimedia content. It has many options and plugins for expansion. To be useful, you will need a compatible TV tuner card. For setup tips, see this guide. Install:

sudo apt-get install mythtv

Mythbuntu

Mythbuntu is an integrated Ubuntu (Xubuntu) desktop optimised for MythTV usage. In can be used instead of adding MythTV to a Kubuntu desktop.

XBMC

XBMC is a free, mature, open-source cross-platform media center. It does not have a PVR capability nor as many functions as MythTV, but has a very nice interface.

deb http://ppa.launchpad.net/team-xbmc-intrepid/ubuntu intrepid main
deb-src http://ppa.launchpad.net/team-xbmc-intrepid/ubuntu intrepid main
  • Install:
sudo apt-get update
sudo apt-get install xbmc

Boxee

Boxee is an XBMC-like open source package to allow streaming video over the Internet, including from Hulu, YouTube and other sites. It is a fork of XBMC, and is still in alpha development and testing stage. It is currently available for 32-bit systems only, and recommended for Hardy. An Intrepid version is anticipated soon. (Note: Boxee does not run Netflix on Linux, despite their ads). See these download instructions.

Elisa

Elisa is a cross-platform media center that uses the Gstreamer multimedia framework. Commercial plugins are available from Fluendo. It supports PVR and Music Jukebox . Install:

sudo apt-get install elisa

LinuxMCE

See LinuxMCE.

Multimedia Servers

MPD Multimedia Playing Server

MPD is a music server meant for LAN usage. It can be controlled from remote clients. It can also stream internet streams.

TiMidity++ MIDI Sound Server

TiMidity is a MIDI software synthesizer required by several games and other MIDI-dependent applications.

sudo apt-get install timidity

Multimedia Encoders

SOX (encodes/decodes audio)

SoX is a somewhat confusing command-line utility to convert audio formats. See this usage guide. Install:

sudo apt-get install sox

Run:

sox

Internet Radio

Internet radio streams through many different ports, so check your firewall if you are not able to play the streams.

Last FM

LastFM is a service for sharing music recommendations and individual radio streams. It is included as an option in Amarok, or can be installed separately:

sudo apt-get install lastfm

Shoutcast Internet Radio

Shoutcast is the first and last free mp3 streaming service. Hundreds of radio streams can be played through Amarok, Audacious, or other multimedia player. Simply associate the .pls streams with your favourite player (Audacious or XMMS2 recommended).

StreamTuner Stream Directory Browser

StreamTuner lists streams available on the Internet through a GTK-based interface. It lists Shoutcast and Live365 streams, among others. Install:

sudo apt-get install streamtuner

BBC program recording

  • get_iplayer allows BBC streams (through their iplayer service) for UK users, as well as Hulu streams for US users, to be recorded to mp4, wav and mp3 files (depending on content). See the website for usage.
  • iPlayer can be run in Wine using these instructions.

Home Automation / Home Theater / Home Security

Complete Systems

Linux MCE (Media Center Edition)

LinuxMCE is an integrated home theater/home security/home automation/telephone PBX/intercom system for your home. It incorporates MythTV, Pluto home automation, Motion security surveillance, Asterisk PBX, VDR video disk recorder, and other home automation/security/theater packages in an integrated platform. It is available in 32 and 64 bit versions. LinuxMCE can run either as a standalone Home Theater PC or can co-ordinate a fully networked home, using the networking capabilities that are intrinsically part of the Kubuntu Linux OS. For more info see the LinuxMCE website.

The most recent stable version runs on Kubuntu 7.10 (Gutsy). An alpha version for Kubuntu 8.10 (Intrepid) has been released, and the full version is anticipated soon. LinuxMCE can be installed at the same time as the Kubuntu OS (on a new PC with an nVidia graphics card), with a single DVD installation. Alternatively, Kubuntu can be installed first and LinuxMCE then installed from a 2 CD installation.

Home Security

Zoneminder surveillance system

Zoneminder manages surveillance cameras and stores images on the hard disk. Images can be viewed using a (LAMP) server remotely. X10 devices can be triggered using built-in perl scripts. For more info see the Zoneminder website.

Install:

sudo apt-get install zoneminder ffmpeg
Myth Zoneminder

MythZoneminder allows you to view your security cameras through Myth TV, essentially. It is a plugin that interfaces the two packages Zoneminder (which must be working on your system) and Myth TV (which must also be working.) See the installation instructions.

It can be found in Adept as the mythzoneminder package.

sudo apt-get install mythzoneminder

Productivity Applications

Office Suites

Open Office

Open Office is installed by default in Kubuntu, with Writer (Word equivalent), Presentation (PowerPoint equivalent), Calc spreadsheet (Excel equivalent), and Base relational database (Access equivalent).

Open Word 2007 Documents in Open Office

The latest edition of OpenOffice opens .docx (i.e. Word 2007) documents by default.

KOffice

Install the KOffice suite:

sudo apt-get install koffice
Import and Edit PDF files

Kword is the Word Processor package in KOffice. It allows the importing of PDF files and converts them into a format, including formatting, that can be edited in the word processor.

AbiWord

AbiWord is a fast, collaboration-enabled word processor. Compatible with both MS Word and Open Office documents, AbiWord is a much faster program than either. For the most current version see the AbiWord web site. To install from the repositories:

sudo apt-get install abiword

Personal Information Managers

Kontact Personal Information Manager

Kontact is the default PIM included with Kubuntu. Kontact includes email, an address book, a calendar, reminders, pop-up notes, a link to the Akregator News/RSS reader, time-tracking, and more. Its many functions resemble MS-Outlook. Through connectors it interfaces with many groupware servers (such as Kolab and eGroupware).

K Menu -> Office -> Kontact Personal Information Manager

Mozilla Sunbird (Calendar)

Sunbird is a standalone group calendar in the Thunderbird and Firefox family of applications, and is compatible with ICS, CalDAV (e.g. DAViCAL, and WCAP servers. (It operates almost identically to the Lightning calendar extension of Thunderbird.)

sudo apt-get install sunbird
  • A related (branded) package known as SeaMonkey Calendar can also be installed.
sudo apt-get install mozilla-calendar
  • A related (unbranded) package known as IceApe Calendar can also be installed.
sudo apt-get install iceape-calendar

BasKet Note Pads

BasKet Note Pads is a personal note-taking application that resides on your computer and can be used for creating "to-do" lists. It is great for centralising your thoughts in one place. Install it:

sudo apt-get install basket

Planner (Project planning & management)

Planner is an MS-Project-like planning and management tool.

sudo apt-get install planner

KTime Tracker

You can keep track how long you use an application with KTimeTracker. Keep records for billing or simply limit your Internet usage.

K menu -> Utilities -> KTimeTracker Personal Time Tracker

Financial Software

KMyMoney (Personal Finance Management)

KMyMoney is a personal finance manager that uses double entry accounting, the method professional accountants use. It is similar to MS-MyMoney and Intuit QuickBooks. It is designed for the KDE desktop. Install:

K menu -> Add/Remove Programs (Adept Installer) -> Office -> KMyMoney

or from the command-line terminal (Konsole):

sudo apt-get install kmymoney2

GnuCash (Personal Finance Management)

GnuCash is a free, open source GPL-licensed personal finance manager that uses double entry accounting like professional accountants. It is GTK-based (Gnome 2). The current version can be installed from source files (see the website for installation instructions), or the package version can be installed:

K menu -> Add/Remove Programs (Adept Installer) -> Office -> GnuCash Finance Management

or from the command-line terminal (Konsole):

sudo apt-get install gnucash

Moneydance (Personal Finance Management)

Moneydance is a commercial cross-platform Java-based personal finance manager similar to KMyMoney that sells for $40 per license.

SQL-Ledger (Enterprise Finance Management)

SQL-Ledger ERP is a free, open-source, platform independent double-accounting-method system and enterprise resource planner (inventory, work and purchase orders, taxes, etc.) that uses the MySQL database. It uses a web browser for an interface and be accessed remotely. It is extremely comprehensive and is available in many languages. Install:

sudo apt-get install sql-ledger

WebERP (Enterprise Finance Management)

WebERP is a free, open-source enterprise resource planner and accounting suite similar to SQL-Ledger that uses a web browser as an interface. It runs on the LAMP server. It is somewhat difficult to implement and use, but conforms to strict accounting guidelines. Set up your LAMP server first, then install using the web site instructions.

Phreebooks (Enterprise Finance Management)

Phreebooks is a free open-source enterprise resource planner and accounting suite similar to WebERP. It also runs on a LAMP server. It is in active development in 2008. A demo is available at the website.

Quasar (Enterprise Finance Management)

Quasar is a proprietary Linux-based accounting suite similar to Quickbooks. For a single user without point-of-sale or networking needs, it is free. For other users it costs CA$500 per seat. An installer for KDE-based systems is here.

Groupware

Groupware solutions include shared calendars, group email servers, groups address lists, group projects, and internal messaging. They require (one or more) servers with LAMP or similar server stacks.

Groupware Servers

Groupware servers are meant to operate on a server platform. You must install the server version of Ubuntu/Kubuntu first. Read Servers.

Kolab

Kolab is the most comprehensive open-source groupware solution available and is distributed as a multi-platform solution. (It integrates easily with both Ubuntu (including Evolution) and KDE/Kubuntu (including Kontact).) It is free and open source with a GPL license (unlike other groupware solutions), yet enterprise support is also available. It is scalable to large organizations and is Outlook (MS-Exchange) and Mozilla compatible. This is a German package, however, and documentation in English can occasionally be limited. The Kolab website provides its own instructions for installation from source (currently v. 2.2). Version 2.2 includes the Horde web interface. In brief:

  • Install the compiler and other necessary stuff:
sudo apt-get install build-essential
  • Make a directory for the Kolab installation and make it universally accessible:
sudo cd /
sudo mkdir /kolab
sudo chmod 777 /kolab
  • Optional: If you wish to mount kolab in its own partition, then create a new partition (using Gparted, for example). Figure out the device name of your extra partition:
sudo fdisk -l
It should be something like /dev/sda3.
Mount /dev/sda3 (or whatever your partition is) as /kolab by editing /etc/fstab:
sudo nano /etc/fstab
and adding the line:
/dev/sda3  /kolab  ext3  defaults,rw 0 0
then reboot and make sure there are no errors.
  • Make a directory into which to download kolab:
cd /tmp
mkdir /kolabtmp
  • Download all the current Kolab files:
cd /tmp/kolabtmp
wget -r -l1 -nd --no-parent http://files.kolab.org/server/release/kolab-server-2.2.2/sources/
  • Install Kolab (as root using sudo -s):
sudo -s
sh install-kolab.sh 2>&1 | tee kolab-install.log
  • Reboot your system.
  • Stop Kolab services and run the configuration utility:
sudo /kolab/bin/openpkg rc all stop
sudo /kolab/sbin/kolab_bootstrap -b
Obviously, you should know all your details, such as your fully qualified host name (which you can determine from hostname -f), domain details, etc., before doing this step. If you are not familiar with OpenLDAPand LDAP basics, you should learn about it, as Kolab uses the slapd OpenLDAP server daemon.
  • Restart all Kolab services:
sudo /kolab/bin/openpkg rc all start
  • Login to the web administrator interface using "manager" and the password you set at bootstrap configuration:
https://yourhost.yourdomain.name/admin
Kolab Ubuntu package
  • There is an Ubuntu/Kubuntu package for the new version of Kolab (v. 2.2), but no documentation support for it yet exists (although there is a little help here). I have not tried this new package. Install:
sudo apt-get install kolabd

Notes: Kolab uses its own server components, and it is best to run Kolab on a dedicated server. However, it is possible to run other servers on the same machine, as long as you choose alternate ports if the server modules conflict.

Citadel

Citadel is a turn-key fully open source groupware solution (that is also Kolab compliant) with a structure rooted in bulletin-board systems, and is therefore user friendly. Installation instructions are found at the website.

eGroupware

eGroupware is a robust and stable free open source groupware solution (with GPL license) based on the LAMP stack (the default server stack included with Kubuntu server) and the Postfix mail server (both of which should be installed first). There is a new version recently available, with a new corporate sponsor in Germany and a commercial enterprise version. Compatibility with many clients has been improved. Egroupware provides the easiest installation and quickest setup time of all groupware solutions. Much of the documentation for the current version, unfortunately, is not in English.

sudo apt-get install egroupware
Open-Xchange

Open-Xchange is a proprietary groupware solution (meant as an MS-Exchange replacement) that has released a "community edition" based on commercial versions. The latest .deb package is for Hardy Heron 8.04. It is compliant with many different types of clients, including Kontact, Outlook, and Palm PDAs. Installation instructions are at the website and are not trivial.

OpenGroupware

OpenGroupware is a groupware solution based on the postgreSQL database. There is an enterprise version and a limited open source version, and development appears to have been stagnant in 2008. Installation must be from source, as packages are very outdated. See the website for details.

Zarafa

Zarafa is the leading European MS-Exchange replacement/groupware solution. It is proprietary, but a GPL-licensed (except for trademarks) free open-source community edition was released in 2008. Download instructions are available from the website.

Zimbra

Zimbra is a proprietary groupware solution that offers an open source "community edition". Although currently free, the community edition is limited in features and does not have a GPL license. All submitted modifications and contributions become the property of Yahoo.

The latest version is for Hardy Heron 8.04 LTS and can be downloaded as a .tar.gz file from the website.

SchoolTool

SchoolTool is a free open source groupware solution for use in primary and secondary schools which includes calendaring, gradebooks, attendance records, and student information databases. It was created with the help of the Shuttleworth Foundation (which also sponsors Ubuntu). See these installation instructions.

Groupware Clients

Many groupware solutions have connectors to interface with clients such as Kontact/KMail and Mozilla Thunderbird (or SeaMonkey).

Kontact Personal Information Manager

The Kontact Personal Information Manager, included in Kubuntu by default, interfaces with many groupware servers.

KDE Groupware Wizard

Kubuntu provides a wizard (script) to help clients (such as Kontact/Kmail) connect to a groupware server. Currently supported groupware servers are Kolab, eGroupware, SUSE Linux Openexchange, and Novell Groupwise.

  • Run the KDE Groupware Wizard:
K menu -> Utilities -> KDE Groupware Wizard
Yahoo!zimbra Desktop in Ubuntu 8.04

Zimbra Desktop is a desktop that collaborates with Zimbra servers. For more info see Yahoo!zimbra Desktop Installation Guide.

Oracle Calendar Desktop Client

The Oracle Calendar Desktop Client is proprietary calendaring software for use with Oracle groupware/database systems.

Download Oracle Calendar Desktop Client:

wget http://www.k-state.edu/infotech/calendar/oracle-10-clients/DesktopClients/Linux/cal_linux_1011.tar.gz

Extract:

tar -xvf cal_linux_1011.tar.gz

Change into the extracted files directory:

cd OracleCalendar_inst/

Prepare the files:

mv cal_linux cal_linux.bak; cat cal_linux.bak | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > cal_linux; rm cal_linux.bak

Change permissions:

chmod +x gui_install.sh cal_linux

Start the GUI installer:

sudo sh gui_install.sh

Wiki software

Wiki software allows an organization to have a manual that can be edited by a number of collaborators. Wikipedia is the best known example.

MediaWiki

MediaWiki is the free, open source server software that Wikipedia uses. It is scalable to very large uses. It runs on the LAMP server stack (which uses the MySQL database and is available as an installation option with the (K)ubuntu server), or it can be used with a postgreSQL database. Installation instructions are here. Also see these tips. Install (version 1.13) from the repositories:

sudo apt-get install mediawiki
  • Edit the config file so it recognizes MediaWiki:
sudo nano /etc/mediawiki/apache.conf

Uncomment (remove the #) the line:

Alias /mediawiki /var/lib/mediawiki
  • Restart apache2:
sudo /etc/init.d/apache2 restart
  • Run/install MediaWiki by logging into:
http://localhost/mediawiki
You will be prompted for configuration variables to be set. The trickiest is the MySQL user/password. Hopefully you remember your MySQL superuser that you set at the time of LAMP (or MySQL) installation.
  • Copy your local settings configuration file to /etc/mediawiki (and make a backup of the original):
sudo cp /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki
sudo mv /var/lib/mediawiki/config/LocalSettings.php /var/lib/mediawiki/config/LocalSettings_at_install.php

Edit your configuration variables there:

sudo kate /etc/mediawiki/LocalSettings.php
  • If you are using a virtual host server, make a symbolic link (named in this example mywiki) from your /usr/share/mediawiki installation folder to your /var/www folder:
sudo ln -s /usr/share/mediawiki /var/www/mywiki

then make sure you have an apache2 virtual hosts configuration file (in /etc/apache2/sites-available) that points to /var/www/mywiki as the DocumentRoot. Make a symbolic link from your virtual host configuration file in /etc/apache2/sites-available to /etc/apache2/sites-enabled to enable it. Restart apache2 after enabling the sites. (Warning: MediaWiki is not secure at installation and can be easily hacked by new users. Do not publish your wiki to the Internet before reading all the instructions and changing the configuration file (LocalSettings.php) so that it is more secure.) You would then access the database at:

http://my.virtualwikihost.org

Twiki

Twiki is an open source wiki engine used by many small to medium size companies internally. It has an active development team with multiple plugins. See the website for installation instructions. Install:

sudo apt-get install twiki

Moin Moin

Moin Moin is free, open source (GPL-licensed) wiki software written using Python, with a large community of users, including the Apache, Debian, and Ubuntu wikis. See these Ubuntu installation instructions. Install:

sudo apt-get install python-moinmoin

TiddlyWiki

TiddlyWiki is an open source personal wiki. It is ideal for creating a list of things to do, note taking, or as a collaboration tool for a small team. It is a single HTML file that can reside on your computer or can even be uploaded to a web server and be used as a simple website. It is developed using a Firefox browser as an interface. Installation instructions are on the website.

Development

Kompozer Web Development Editor

Kompozer is a Gecko-based web authoring system that combines web page editing with web file management in a WYSIWYG manner, similar to MS FrontPage. It supports XML, CSS, and JavaScript in an XUL architecture.

sudo apt-get install kompozer

Quanta Plus (Web IDE)

Quanta Plus is an integrated development environment integrated with the KDE desktop. It allows webpage development, database design, and XML design and scripting, for example, using multiple development tools. The latest stable version is 3.5, however, and integrates with the KDE 3.5 environment (Kubuntu Hardy Heron). You should therefore use Kubuntu Hardy Heron with this product. (There is also a commercial version (Quanta Gold), also oriented towards KDE 3).

sudo apt-get install quanta kompare kxsldbg cervisia

Netbeans IDE

Netbeans is a free open-source integrated development environment used to create applications using Ajax, Ruby, pHp, Groovy, Java, Javascript, C++, and other scripting tools.

sudo apt-get install netbeans

BlueFish Web Development Editor

BlueFish is a GTK-based (Gnome-oriented) editor to write websites, scripts and programming code. It supports perl, Python, pHp, CSS, XML, Java, Javascript, C, SQL, and other formats.

sudo apt-get install bluefish

Subversion Version Control System

A version control system maintains the revision history details for software package repositories. Developers who submit frequent software updates for their packages will be assured of using the most current version using such a system. Subversion is the leading system in this category and is free and open source. Install:

sudo apt-get install subversion

Web Publishing

WordPress

WordPress is a popular free open source web content manager that started as a blog tool and now incorporates many publishing elements. For bloggers and small to medium-sized websites, WordPress provides the fastest installation and customization process with many modules. WordPress requires an installation of a LAMP server stack first. Then install:

sudo apt-get install wordpress
  • Make a symbolic link from your Apache2 www folder to your installation folder and install a new MySQL database named localhost to use with WordPress:
sudo ln -s /usr/share/wordpress /var/www/wordpress
sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost

Note: If you already know the name of your (virtual) host URL for WordPress, then use it as the name of your database instead of localhost. For example, my URL is mysite_x.homeserve.org so my command is:

sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress mysite_x.homeserve.org
  • If you will access your WordPress server through a virtual host, then create your virtual host configuration file in the /etc/apache2/sites-available folder. Once you have edited the file, make a symbolic link from it to the /etc/apache2/sites-enabled folder. Restart apache2:
sudo /etc/init.d/apache2 restart
  • Install WordPress through a browser:
http://localhost/wordpress
or, if you are using a virtual host:
http:/mysite_x.homeserve.org/wordpress

Note: The Jaunty repositories contain version 2.7.1, which is subject to a security worm. If you install this version, please update immediately to the current version from the Tools -> Upgrade menu. (Alternatively, install the current source version from the website.)

For the automatic updater to work, all the WordPress files, folders, and subfolders must be owned by www-data (which is also the owner of the apache2 process) prior to updating.

sudo chown -R www-data /usr/share/wordpress

Drupal (Web content publishing)

Drupal is a leading open-source package for website creation and content collaboration for large-scale websites. A modular approach to website building, from simple out-of-the-box websites to complex sites, is possible with a short learning curve. Get more info on how to get started. Drupal requires an installation of a LAMP server stack; if you have not already installed LAMP, it will be installed along with Drupal6. I have found it easier to use the MySQL database (the "M" in LAMP), but Drupal6 can also integrate with PostgreSQL if you have it installed. Drupal6 is available as a package, or from the command-line terminal:

sudo apt-get install drupal6
  • After everything is installed (and the problems below sorted out), restart the apache2 server:
sudo /etc/init.d/apache2 restart
  • Finish installation through your browser:
http://localhost/drupal6/install.php

You can then also see these tips for installation through the browser. A Drupal/Ubuntu users group is found at Drubuntu.

Installation quirks

libgd2-xpm

When I installed my Ubuntu server, it installed libgd2-noxpm. This is a graphics library (without X pixmap (XPM) or font configuration (fontconfig) support). However, Drupal requires libgd2-xpm, which is used instead of libgd2-xpm. Removing libgd2-xpm doesn't appear to be trivial, however. I could not remove it using Adept or KPackageKit.

However, both apt (from the command line) and Synaptic Package Manager appear to remove libgd2-noxpm successfully, and then libgd2-xpm is correctly installed.

Exim vs. Postfix

Exim and Postfix are mail handlers. I had installed Postfix at the time I installed my Ubuntu server (but was not using it). But Drupal uses Exim and therefore removes Postfix at installation and installs Exim instead. Therefore, it is better not to use Drupal on a mail server that uses Postfix.

Joomla (Web content publishing)

Joomla is a powerful open source website creation and content management tool that allows website creation for use in every arena from the simple to complex corporate environments. Info for beginners is a good place to start.

Scribus (Desktop publishing)

Scribus is an open-source package that provides professional-appearing desktop publishing.

sudo apt-get install scribus

KBlogger (Blog interface)

KBlogger is a KDE-oriented tool to post a blog from your desktop to an application supporting Blogger 1.0, such as Drupal and many online blog sites. It supports KDE 3 and is being re-written for KDE 4. Install:

sudo apt-get install kblogger-kde4

Plone (Content Management System)

Plone is a free, open source (GPL-licensed) multi-platform content management system used by many large organizations around the world. It is available with an integrated installer here.

Science, Technology, and Engineering Applications

What .. you thought Kubuntu was just for play? Also see Ubuntu Science.

Health applications

VistA (Enterprise Electronic Health Record)

OpenVistA and WorldVistA are two varieties of the largest and most robust CCHIT-approved electronic health record platform in the public domain. They are GPL licensed, are based on the US Veterans Administration health record system, and can be installed as an integrated database, server, and client system. See the detailed download and installation instructions for OpenVistA and WorldVistA, or visit Vistapedia for other instructions. Also see the Ultimate Server with OpenVistA EHR.

Mathematical solutions

Scilab, Octave, and Freemat are three open source solutions for solving complex mathematical equations.

Octave

Gnu Octave is a free, open source (GPL licensed) platform for solving linear and non-linear equations, similar to (and mostly compatible with) Matlab. It interfaces well with Gnuplot. For troubleshooting tips, see this thread. Install:

sudo apt-get install octave3.0

Also recommended:

sudo apt-get install libatlas3gf-base gnuplot qtoctave

Note: QTOctave is a GUI for Gnuplot or Easyplot 1.1, and and the ATLAS library is an algebra-software-optimization set of utilities.

EasyPlot 1.1 is an alternative to GnuPlot, with a version that can be used with QTOctave. It must be installed from source.

An older GUI for Octave/Gnuplot is qgfe (available as the package qgfe).

Freemat

Freemat is a free, open source (GPL licensed) platform for solving linear and non-linear equations, similar to (and mostly compatible with) Matlab. Install from Add/Remove Programs (Edutainment) or

sudo apt-get install freemat

Utilities

Utilities facilitate everyday tasks, such as keeping the clock up to date, archiving utilities, and more.

Rename multiple files at once

Krename is a tool to rename multiple files in a batch. It allows multiple plugins to save or add information to files.

sudo apt-get install krename

Archiving Utilities

BChunk

BChunk is a command-line utility that allows you to convert .cue and .bin files into an .iso file (so that they can be opened and manipulated in Kubuntu). Warning: If the bin/cue image has audio tracks, they will be lost.

Get BChunk

sudo apt-get install bchunk

To convert .cue and .bin files, navigate to the folder and run this command (replacing filenames with your own):

bchunk inputfilename.bin inputfilename.cue outputfilename.iso

After the file is converted into ISO you can mount it using:

sudo mount -o loop outputfilename.iso /media/output

Navigate to /media/output and you should see all the content there. You can then copy it anywhere.

To unmount:

sudo umount /media/output

HJSplit Files Joiner/Splitter

HJSplit for Linux (Java version).

  • Make sure you have Java Runtime Environment installed:
sudo apt-get install sun-java6-jre
  • Download the HJSplit JAR file:
wget http://www.freebyte.com/download/hjsplit/hjsplit_g.jar
  • Create the directory for HJSplit:
sudo mkdir /opt/hjsplit
  • Move the file to an appropriate directory:
sudo mv hjsplit_g.jar /opt/hjsplit/ 
  • Run:
cd /opt/hjsplit/ && java -jar hjsplit_g.jar 
Note: You could also make a terminal shortcut (menu item) in K Menu Editor.

Rar

Rar archives files into the proprietary .rar format.

sudo apt-get install rar

This application is a 40-day trial.

Unrar

Unrar extracts files archived with the proprietary .rar format. This application is free for noncommercial use. It is installed with the kubuntu-restricted-extras package. If not, install:

sudo apt-get install unrar

7-Zip

The open-source 7-Zip archive format was originally designed for Windows (and DOS) but is also available for Ubuntu. The GNU/Linux version of 7-Zip does not come with a GUI, but Ark can hook into 7-Zip to handle 7z archives. Install:

sudo apt-get install p7zip-full

Hard Drive Utilities

KDiskFree (Hard drive properties monitor)

KDiskFree is a KDE utility for monitoring free disk space, etc.

sudo apt-get install kdf-kde4

Clock Utilties

Screensavers

K menu -> System -> System Settings -> Desktop -> Screen Saver

Partition Managers

GParted Partition Manager

Gparted is a GTK (Gnome)-based partition manager that can also be used with KDE (Kubuntu).

  • This utility works best as a LiveCD. Download the Gparted .ISO image here. Follow these instructions to burn the .ISO image to CD. Use the GParted LiveCD as your partition manager. Of course, to use a LiveCD, you must be able to boot from the CD.
  • You can also install the package:
sudo apt-get install gparted


Network Monitors

There are two types of network monitors: those that monitor your own system's network settings and those that monitor network traffic. The latter includes security tools that can also be used as hackers tools. While we don't espouse the latter, it is worthwhile to know about these tools so you are aware of security risks to your network.

KSniffer

KSniffer is a network traffic analyzer for KDE. It allows the capture of packets transmitted on your network for later analysis. Install:

sudo apt-get install ksniffer

Run:

sudo ksniffer

KNemo (Network interfaces monitor for systray)

KNemo is the network interface monitor for KDE 3. It is not compatible with KDE4. Further, it does not give more information than does KNetwork Manager, and does not display active connection destinations, and therefore has limited usefulness as a network monitor. Knetstats is preferred.

sudo apt-get install knemo

Run:

K menu -> System -> System Settings -> Network Monitor -> Use KNemo to monitor your interfaces

Netstat

Netstat is the Linux command-line tool to monitor network status and functions. There are many usage parameters. See the manual for help.

netstat
Knetstats

Knetstats is the version for KDE 3.5's systray. A version for KDE 4 does not yet exist.

sudo apt-get install knetstats

Etherape (Network monitoring)

EtherApe is a graphical utility that allows you to see (in real-time) where connections are being made on your network, or between your network (or computer) and the Internet. If you are experiencing unexpected network activity on your computer or LAN and wish to see where the activity is occurring, this is an easy tool to use. Both "local" user and "root user" installations are created; in general you must use the root user installation to see all your network traffic.

sudo apt-get install etherape

Kubuntu System Administration

Automating Tasks

Tasks (cron events) can be automated/scheduled using a GUI interface.

K menu -> System Settings -> Advanced -> Task Scheduler

Boot Menu

Login Menu settings

You can change the Login menu settings from the GUI interface:

K menu -> System Settings -> Advanced -> Login Manager

You can choose an integrated theme or select individual components of the login screen/process.

GRUB boot manager settings

  • If you have multiple operating systems (OS) on your computer, you are likely using a GRUB boot manager to select which one to start at bootup. You can edit the options for GRUB from a GUI interface:

K menu -> System Settings -> Advanced -> GRUB Editor

  • To edit the settings manually from the command line terminal (Konsole):
sudo nano /boot/grub/menu.lst
  • An alternative GUI interface (for the KDE desktop) useful for editing GRUB settings is kgrubeditor:
sudo apt-get install kgrubeditor

Default Applications

You can choose which program to use as your default program for a specific task.

K menu -> System -> System Settings -> Default Applications

Kill a process

Sometimes a program (or "process") just freezes. To "kill" (or end) the program/process:

K menu -> System -> System Monitor -> highlight the errant process -> Kill process

Manage Startup Services

You can select which services will run at startup.

K menu -> System -> System Settings -> Advanced -> Service Manager -> Startup Services

Enabling NUM LOCK On Startup

K Menu-> System -> System Settings -> Keyboard & Mouse -> Keyboard ->"turn on Numlock on KDE Startup"

System Backup and Recovery

Rsync

Rsync is the directory backup and transfer tool for Linux. It is installed by default in Kubuntu. It can provide any type of backup, and options are extensive. Several GUI frontends for Rsync are listed here.

GRsync

GRsync is a GTK-based GUI front-end for Rsync (that can be used in Kubuntu). Install:

sudo apt-get install grsync

Bacula

Bacula is the most widely-used GTK-based open source (GPL-licensed) network backup utility that is used in both server and desktop installations. A catalogue of backups can be maintained using MySQL, PostgreSQL, or SQLite. For more info see the Ubuntu documentation. Both text-based and GUI frontends are available. Install the MySQL version:

sudo apt-get install bacula

Keep (Backup and Recovery)

Keep is a backup utility that was used in previous versions of Kubuntu. It has not been recently updated and is no longer included in Kubuntu by default. Install:

sudo apt-get install keep

Run:

  • K menu -> System -> Keep (Backup System)
  • Backup:
Click "Add a Directory to Backup"
Select directories you wish to backup
Select a location to place the backup
Set how often you wish the backups to take place, and how long to keep them
Click "Backup Now"
Select the directory groups you wish to backup.
  • Recover:
Click "Restore a Backup"
Select the directory groups you wish to restore.

Partimage (Partition backup)

Partimage is a free open-source utility to back up an entire partition into an .iso image. It can be used across a network, as well. Install:

sudo apt-get install partimage

User Administration

K menu -> System -> KUser User Manager

Add New Users

  • "New" button
  • Change the "Login Name" to the desired username
  • Click the "Passwords and Security" tab
  • Enter the desired password

Modify Users

  • Select the user you wish to modify
  • Click the "Modify" button

Removing Users

  • Select the user you wish to remove
  • Click the "Delete" button

Change your user groups

It is quite often necessary to have extra privileges to do certain tasks. These privileges are assigned to your user by belonging to certain groups. The tasks are allowed to be performed by any user belonging to the group associated with that task.

Example: a "sudoer" is a user who can perform certain administative tasks, such as updating the system. To become a "sudoer" a user must belong to the "sudo" group.
K menu -> System -> Kuser User Manager -> user -> Groups --> check sudo

To become an administrator, you must belong to the adm, admin, and sudo groups. To be a virtualbox user, you must belong to the virtualbox group. To change printer settings you must belong to lpadmin. To use the cdrom, you must belong to cdrom. To use hot-pluggable devices, you must belong to plugdev. To share Samba folders (on a Windows-based network), you must belong to sambashare. To access NTFS files using the virtual filesystem fuse, you must belong to the fuse group. To use many games, you must belong to the games group. The list is long, and not always obvious.

Unfortunately, while this is the feature that gives Linux such a high-level of security, it can also take diligence to remember to add your user to certain groups. It is not uncommon for programs and functions on your system not to work merely because you don't have privileges to do so because you forgot to add your user to the appropriate group(s).

Of most importance, you must already be an administrator in order to change membership in groups. Therefore, if you create a new user and intend to give that user administrative privileges (by assigning the user to the administrative groups), you must do so from your original administrator account (the one you set up at installation) or from another administrative user account.

PolicyKit

PolicyKit-KDE is the KDE frontend for PolicyKit, a toolkit for controlling system-wide user privileges.

Timekpr (Parental controls)

Timekpr is a program to track and control the computer usage of user accounts. (This is different from KTimeTracker, which merely records your usage but does not restrict it.)

  • If updating, remove any prior versions:
sudo dpkg --purge timekpr
deb http://ppa.launchpad.net/nedberg/ubuntu jaunty main
deb-src http://ppa.launchpad.net/nedberg/ubuntu jaunty main
  • Install:
sudo apt-get install timekpr
When prompted which default display manager to use, select "kdm"
  • Start:
K menu -> System -> Timekpr Control Panel

Web content filtering

DansGuardian provides web filtering capability, similar to NetNanny. It is useful for limitng objectionable content in publicly accessible workstations, or for filtering objectionable content for younger users. It integrates with ClamAV, and uses several criteria for filtering websites (which is difficult to modify). It is used with Tinyproxy (best for individual users) or the Squid proxy (best for a network server). Install:

sudo apt-get install dansguardian tinyproxy
or
sudo apt-get install dansguardian squid

See these installation instructions for setup details. In brief,

  • Edit the dansguardian configuration file:
sudo nano /etc/dansguardian/dansguardian.conf
comment out the UNCONFIGURED line:
#UNCONFIGURED
If using tinyproxy instead of Squid, change the proxyport to 8888:
proxyport 8888
  • Reinstall dansguardian:
sudo apt-get install --reinstall dansguardian
  • Set your browser to use the localhost:8080 proxy. For example, in Firefox:
  • Firefox -> Edit -> Preferences -> Advanced -> Network -> Settings
  • Manual proxy configuration -> HTTP proxy: localhost -> Port: 8080
  • A Webmin module is available to administer settings. Also, a GUI to change Dansguardian settings called Webstrict is in development.

Working with Menus

  • There are two menu formats -- Kickoff Menu Style and Classic Menu Style. To swtich between the two, you must have the Widgets unlocked:
Right-click K menu -> Unlock Widgets

the choose your menu style:

Right-click K menu -> Switch to ... Menu Style
  • To edit menus, unlock widgets as above, then:
Right-click K menu -> Menu Editor

Create an encrypted folder

With Kubuntu, you can create a folder whose contents are encrypted. See these instructions.

Printers

The new CUPS interface recognizes many printers. Specific printers not recognized can often be installed using instructions found at the Linux Foundation OpenPrinting database.

Add a Printer

K menu -> System -> Printer Configuration -> New Printer

Most of the time, your printer (if connected and turned on) will be detected automatically.

My network printer with its own IP address at 192.168.0.124 was correctly installed at

socket://192.168.0.124:9100.

You can also choose printers on a Windows system via Samba and other types of networked printers, in addition to directly connected printers.

Use CUPS web interface

From any web browser, go to the URL:

http://localhost:631


Create a symlink from a file to another location

A symbolic link (also known as a symlink) is a method in Linux of referring to a file (or directory) in one location from another location. Usage:

ln -s /path/to/source /path/to/destination

If /path/to/destination requires superuser rights, then use:

sudo ln -s /path/to/source /path/to/destination

This is similar to, but more powerful than, creating Shortcuts, with which former Windows users may be familiar.

Assign a root password

To be able to log in as root directly, you must assign a root password. This can be done with:

sudo passwd root

Afterwards, you can use

su

to get a root prompt. You would then use the root password.

Get a root prompt without using a root password

If you have not set a root password (or don't know it), you can obtain root user privileges anyway. From the command-line terminal (Konsole):

sudo -s
or
sudo su
or
sudo bash

You will use your own user password instead of a root password.

You could also get a prompt to become any other user on the computer by typing:

sudo su <username>

Use the File Manager as root

sudo dolphin
or
sudo konqueror

Manually Mount and Unmount a device

To manually mount a device:

mount /dev/hda

replace /dev/hda with the location of the device.

To manually unmount a device:

umount /dev/hda

replace /dev/hda with the location of the device.

Windows Compatibility

Mounting NTFS Partitions (with read/write privileges)

Install NTFS-3G, the NTFS manager:

sudo apt-get install ntfs-3g

Note: You should also be a member of the fuse group to use ntfs-3g.

Find out the name of your ntfs partition:

sudo fdisk -l

Method 1: In this example, the NTFS drive is listed by fdisk as /dev/sda2, but yours may differ.

Make a mount point for the drive:

sudo mkdir /media/WindowsNTFS

Edit fstab:

sudo nano /etc/fstab

Comment out the automatically added lines by Kubuntu installation:

#/dev/sda2  auto nouser,atime,noauto,rw,nodev,noexec,nosuid 0 0
#/dev/sda2 /mnt auto user,atime,noauto,rw,nodev,noexec,nosuid 0 0

and instead add the line:

/dev/sda2 /media/WindowsNTFS ntfs-3g quiet,defaults,rw 0 0

Note: There are many ways to mount the drive, depending on your needs. The fstab file controls this process. See How to edit and understand fstab and Intro to using fstab.

In this example, I indicated that the file system was an ntfs-3g filesystem, so did not use the auto option (which detects the filesystem automatically). I used rw to specify read/write privileges for all users, but umask=0 and umask=000 are accepted by some kernels.


Method 2: Edit fstab:

sudo nano /etc/fstab

When Kubuntu installation finishes, it mounts all ntfs partitions automatically with ntfsprogs, adding a line similar to the following to fstab:

UUID=8466268666267956 /media/sda1     ntfs    defaults,gid=46 0       1

Change this line to:

UUID=8466268666267956 /media/sda1     ntfs-3g    defaults,nls=utf8,locale=zh_CN.UTF-8,rw,gid=46 0       1

In this example, I have a Chinese-language Windows installation on my first partition, so I set the locale parameter (locale=zh_CN.UTF-8) so that my Chinese documents can display correctly. Setting rw (same as umask=0 or umask=000) lets me read/write the partition without sudo. gid=46 specifies that the drive will belong to the group of hot-pluggable devices (plugdev) and is not necessary unless your ntfs drive is a hot-pluggable one (such as an external USB drive). nls=utf8 is the default and is optional for most ntfs users, but there are other options for Chinese (and other specialized character-set users).

Mounting FAT32 Partitions

Follow the above instructions, but use vfat instead of ntfs-3g.

In other words, if you have made a mount point directory /mnt/WindowsFAT32 and your FAT32 drive is /dev/sda3, then edit the /etc/fstab file to include the line:

/dev/sda3 /mnt/WindowsFAT32 vfat quiet,defaults,rw 0 0

Synchronize clock to network time server

The Network Time Protocol (NTP) allows time synchronization of your computer to time servers on the Internet.To enable it:

  • K menu -> System Settings -> Date & Time
  • Check the "Set date and time automatically" option
  • Choose an ntp time server near you.

Hardware

CPU

Graphics Card

Install nVidia/ATI drivers

Jaunty Repository nVidia drivers

Upon initial installation and after the first reboot, you may be prompted whether to use the current proprietary nVidia drivers (from the repositories). If you wish to use them, follow the prompts. However, unless you have the prerequisites installed, installation will likely fail.

  • Install prerequisites:
sudo apt-get install build-essential linux-headers-$(uname -r)
or
sudo apt-get install build-essential linux-headers-'uname -r'
  • (Optionally,) you can make sure the driver modules are installed:
sudo apt-get install nvidia-glx-180 nvidia-180-modaliases 

(You may have to reboot after this step).

  • Return to the new hardware drivers activation screen:
Menu -> System -> Hardware Drivers -> NVIDIA accelerated graphics driver (version 180) -> Activate
Reboot (as instructed)

Install Latest Nvidia/ATI drivers

  • Install prerequisites:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
  • Kubuntu uses a GUI frontend to Jockey for the installation of the proprietary nVidia drivers (and other proprietary drivers).
Menu -> System -> Hardware Drivers
  • Sometimes after a kernel upgrade a proprietary driver may stop working. In such a case, try installing the new linux-headers that match the newly upgraded kernel:
sudo apt-get install linux-headers-$(uname -r)

Install Avenard NVidia package

Note: This is a private .deb packaging of the latest Nvidia drivers. (Note: All private repositories and packages not officially sanctioned by Canonical (and/or Debian) can provide an element of security risk.)

  • Install prerequisites:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
or
sudo apt-get install build-essential dkms linux-headers-'uname -r'
  • Add Avenard's repository key (see this thread for more info):
wget http://www.avenard.org/files/ubuntu-repos/ubuntu-repos.key && sudo apt-key add ubuntu-repos.key && rm ubuntu-repos.key
  • Add Avenard's repository to your system:
Menu -> System -> Synaptic Package Manager -> Settings -> Repositories -> Third party software -> Add
-> APT line:
deb http://www.avenard.org/files/ubuntu-repos jaunty release
-> Add source
-> Reload -> Mark All upgrades -> Apply
  • Make sure the packages are installed:
sudo apt-get install nvidia-glx-180 nvidia-180-modaliases nvidia-common

(You may have to reboot after this step).

  • Activate the new hardware drivers:
Menu -> System -> Hardware Drivers -> NVIDIA accelerated graphics driver (version 180) -> Activate
Reboot (as instructed)

Resolution changes

If your resolution keeps changing, use the KRAndRTray Screen Size and Rotate utility to change your settings:

K menu -> System -> KRAndRTray Screen Size and Rotate

After changing to your desired resolution, it will run in the Panel bar and maintain your resolution after rebooting.

KDE 4 Keeps Flickering on Intel graphics cards

If you have an Intel Corporation Mobile 915GM/GMS/910GML card, your screen may flicker every 5-10 seconds. To prevent this:

  • K Menu -> Applications --> System --> System Settings -> Advanced -> Service Manager
  • Uncheck "Detect RANDR (monitor) changes"

Intel graphics

The new Intel graphics drivers have bugs in them and do not work reliably in (K)Ubuntu Jaunty. See this forum post for a discussion of solutions.

Also see this easy solution for reverting to Intrepid's functional drivers.

Reconfigure xserver-xorg

sudo dpkg-reconfigure xserver-xorg

Monitors / Displays

Turn off power saving

Even when on AC power, the power saver feature of Kubuntu sometimes changes the screen brightness to the battery setting on laptops. This is a problem with the ACPI power management module.

To access the Guidance Power Manager module, click on the power icon on the desktop taskbar.
Change the brightness setting for "Battery powered" to maximum.

You can also turn off power management settings (invoked when the computer is idle):

K menu -> System -> System settings -> Display -> Power Control -> uncheck "Enable display power management"

Configure Dual Monitors with nVidia

  • Make sure that the nVidia driver has been installed and is functioning properly on your first screen. Also, make sure both monitors are connected.
  • Open the command-line terminal Konsole and type:
sudo nvidia-settings
  • Select "X Server Display Configuration".
  • You should see 3 boxes (2 if your card doesn't have an S-Video out). From here you can configure all of your card's outputs.
  • Check the "(Disabled)" box.
  • Select "Configure...".
  • The most common choice is TwinView. Select it.
  • Setup the desired screen resolutions and positions of your two active displays.
  • The new display will likely have resolution set to "Auto" to match your first. Change this if you wish.
  • Leave the first screen's position as "Absolute" and set your second display's position relative to that.
  • "Clone" means the same output on both.
  • Once you are satisfied with your settings, hit Apply to test them.
  • Note: if your displays are side-by-side, the kicker may extend across both screens as well as any maximized applications. This will be corrected when the X server is restarted.
  • If everything else is ok, hit "Save to X Configuration File". Now hit Ctrl+Alt+Backspace to restart X. You now have 2 screens!
  • (The NVIDIA X Server Settings application can be also found in K -> System Settings to change settings later, but this does not always work because settings need to be changed as the root user.)
  • Troubleshooting: if the X server fails to reload you can recover your old X configuration. In a terminal:
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

Hard Drives and USB Storage

Optical Drives

Printers & Scanners

The new CUPS interface recognizes many printers. Specific printers not recognized can often be installed using instructions found at the Linux Foundation OpenPrinting database.

Brother printers

Most Brother printers are auto-detected or can be installed directly from the CUPS interface. For information on a specific model, see the Linux OpenPrinting site.

Get Xsane to recognize a network printer/scanner

  • From the command-line terminal Konsole:
xsane hpaio:/net/Printer_name?ip=printerip
  • If this is successful you can edit the menu with the same command line parameter.

Sound

Sound in Jaunty is routed by Phonon either directly to your sound card or through the PulseAudio sound system. However, there are some bugs with PulseAudio in KDE (Kubuntu). (Unless you have a specific reason to install PulseAudio in Kubuntu, it is not recommended.) To use PulseAudio, you must install it (see below). Some experimentation with the settings in

K menu -> System -> System Settings -> Multimedia

may be necessary to make sound on your system work properly.

Try setting PulseAudio as the first sound system if you are having troubles getting sound. If that doesn't work, try making it the last choice.

Some programs require ALSA sound and try to send sound directly through ALSA drivers. If you install PulseAudio, ALSA gets intercepted by PulseAudio and then re-routed to the sound card. This doesn't always work. Check your program's preferences section to see if ALSA is selected. You may have to switch to an explicit PulseAudio plugin (for that particular program) if you can't get sound.

PulseAudio

Jaunty has PulseAudio version 0.9.14 and Pulse Audio Volume control 0.97 in the repositories. On my system I had to install them:

sudo apt-get install pulseaudio pavucontrol padevchooser

I then had to enable my user to belong to the pulseaudio groups:

K menu -> System -> Kuser user Manager -> user -> Groups ->
check: pulse pulse-access pulse-rt and audio

Configure Pulse Audio:

K menu -> Settings -> PulseAudio Preferences Sound Audio preferences

Warning: Pulse Audio still has several bugs in KDE4. Installing PulseAudio causes conflicts for some soundcards, and not all programs can use PulseAudio. You may sometimes end up with no sound at all if you install PulseAudio. Make sure you have updates enabled so that your PulseAudio package has the latest updates. If all else fails, uninstall PulseAudio.

Airport Express with Pulse Audio

These capabilities require the newest version 0.9.15 of Pulse Audio and Pulse Audio Volume Control 0.98, as well as pulseaudio-module-raop (for Airport Express). Instead of (or after) installing the default (0.9.14) Jaunty packages as above, obtain these by adding the repositories from this Launchpad site:

deb http://ppa.launchpad.net/themuso/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/themuso/ppa/ubuntu jaunty main
then download the GPG key here (you must have port 11371 on your firewall open to do this)
and save it as themuso.gpg.
then install the repository key and update:
sudo apt-key add themuso.gpg
sudo apt-get update

then install Pulse Audio:

sudo apt-get install pulseaudio padevchooser pulseaudio-module-raop pulseaudio-module-zeroconf

Then configure Pulse Audio:

K Menu -> Settings -> PulseAudio Preferences Sound Audio preferences -> Network Access

and check both:

Make discoverable network sound devices available locally
Make discoverable Apple Airtunes devices available locally

You can switch between devices and control device volume independently using:

K menu -> Multimedia -> PulseAudio Device Chooser
K menu -> Multimedia -> PulseAudio Volume Control
  • Select Pulse Audio as the output device in
K menu -> System -> System Settings -> Multimedia -> Device Preference

Note: Make sure your firewall is not blocking ports 5353, 5000, and 6000.

My AEX is discovered, but I got no sound through it until I selected it as the default sink (output) by one of two methods:

  • From the PulseAudio Volume Control:
K menu -> Multimedia -> PulseAudio Volume Control -> Output Devices
then click the arrow and set the AEX device as default
  • From the PulseAudio Device Chooser:
K menu -> Multimedia -> PulseAudio Device Chooser -> Manager -> Devices -> Sinks
I then noted the name of my Airport Express device to be raop.Base-Station-e60157.local, so I entered that as the sink:
PulseAudio Device Chooser -> Default sink -> Other -> raop.Base-Station-e60157.local

Now, any devices (or multimedia players) setup to play through PulseAudio will play through the stereo attached to the Airport Express.

Mice

Activate side-mouse-buttons in FireFox

Adding two lines to xorg.conf will activate side-mouse-buttons in FireFox.

  • This should work with most brands of the 5-button mouse. Here is a list of mice that worked with this instruction.
Logitech MX310
Logitech MX510
Logitech MX518
Logitech MX700
Logitech MX Revolution
Intellimouse Explorer (first edition)
Razer Copperhead
  • Backup X.org configuration file
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
  • Modify the X.org configuration file
kdesu kate /etc/X11/xorg.conf
  • Find the Input Device section for your mouse and add two lines as shown below.
  • You may also increase the number of buttons if your mouse has more than 7 -- just fix the rest of the section based upon the number of buttons.
Note: "back/forward", "wheel click" & "tilt left/right" all count as buttons
  • Change:
Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ExplorerPS/2"
 Option "ZAxisMapping" "4 5" 
 Option "Emulate3Buttons"       "true"
EndSection
to:
Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ExplorerPS/2"
 Option "ZAxisMapping" "4 5"
 Option "Emulate3Buttons" "true"
 Option "Buttons" "7"
 Option "ButtonMapping" "1 2 3 6 7"
EndSection

Touchpad

Synaptics Touchpad

The configuration utility ksynaptics has been removed from Kubuntu. To configure the Synaptics TouchPad settings, you can try the GTK-based gsynaptics, which has worked for some users in Kubuntu (KDE):

sudo apt-get install gsynaptics

For more info, see the Ubuntu help wiki.

Wacom Pen Tablets

Support for the Wacom pen tablet is integrated into Jaunty by default, including for hotplugging. For more info, see the Ubuntu documentation.

Remote Controls

LIRC (Infrared Remote Controls)

LIRC (Linux Infrared Control) allows you to use most infra-red remote controls, This can be installed from K menu -> Add/Remove Packages (Adept Installer) -> Settings -> Infrared Remote Control

or
sudo apt-get install lirc

Bluetooth

BlueZ is the package that allows Bluetooth connectivity in Kubuntu Linux. This package is included within the current kernel of Kubuntu. To add utilities to check whether your Bluetooth adapter's firmware is current, install:

sudo apt-get install bluez-utils bluez-firmware

then run

sudo dfutool

Kdebluetooth4

Kdebluetooth4 is the KDE framework that co-ordinates utilities for Bluetooth in Kubuntu.

K menu -> Internet -> Kdebluetooth4

WiiMote

The Wiimote (Wii Remote Control) uses both Bluetooth and Infra-red technology. It communicates with Kubuntu Linux using the incorporated BlueZ Bluetooth drivers and/or LIRC drivers. (It can function with Bluetooth alone, however.) You will need a Bluetooth receiver on your PC (such as a Bluetooth USB stick or built-in Bluetooth receiver, for example). (Note: not all Bluetooth receivers will work with the Bluez drivers. Check this list or test yours first.)

  • Install the cwiid Wiimote controller package and the lswm Wiimote discovery package:
sudo apt-get install wminput lswm
  • Install the drivers (or just reboot):
modprobe uinput
Note: You can also add uinput to the modules files so it loads automatically at bootup:
sudo echo "uinput" >>/etc/modules

Run (while pressing button 1/2 on the Wiimote):

sudo wminput

For more info, and to learn how to enable the infra-red functions, see this guide.

USB

Wireless Cards

Atheros Cards

Atheros Wireless cards should work automatically with the new kernel by installing the proprietary driver. At installation, after the first reboot, you will be prompted whether to use the proprietary drivers.

  • If not, or if you are having problems connecting, enable the proprietary driver:
K menu -> System -> Hardware Drivers
You should see a menu for the Atheros driver, which you can "Activate."
  • It should no longer be necessary to install the following package manually:
sudo apt-get install madwifi-tools 

These instructions for the Atheros 802.11 b/g integrated card are here for reference only (or if you wish to install them manually instead):

madwifi-hal-0.10.5.6-current.tar.gz
  • Extract the files
  • Make sure your linux headers and build-essential packages are installed:
sudo apt-get install build-essential dkms linux-headers-$(uname -r)
  • Unload any drivers already running.
sudo ifconfig ath0 down
sudo ifconfig wifi0 down
  • Change to the directory where you extracted the driver.
cd <directory_where_driver_unzipped>
  • From that directory, run the installation scripts:
cd scripts
sudo ./madwifi-unload
sudo ./find-madwifi-modules.sh $(uname -r)
cd ..
  • Complete the installation by compiling the source and installing it.
sudo make
sudo make install
  • Add the installed drivers to your system.
sudo modprobe ath_pci

Following this, Network Manager was able to see the wireless card and I was able to configure everything else (WEP / WPA key, etc.) from there.

Complete instructions are available at MadWifi UserDocs.

Note: Because this is a manual installation of a driver, I have to repeat these steps every time the kernel is upgraded.

3G

3G protocols allow wide area cellular communications that include not only cellphone voice transmission but also integrated broadband internet connections. This can be integrated into a single device, or communications can be received through an EVDO adapter. Examples of 3G radio interfaces include Mobile WiMax, CDMA-2000, TD-CDMA, EDGE, and DECT. For info using 3G with the Ubuntu Network Manager, see this page. For additional info on using 3G with Kubuntu, see this guide.

he220r1

he220r1 is a (K)ubuntu driver package for the Huawei e220 USB modem. It has also been found to work with other 3G devices, such as Nokia, Sony Ericsson, and Motorola. See the website for download and installation instructions.

T-Mobile Option 225 (Web'N'Walk) Stick

This website offers a driver optimised for the T-Mobile Web'n'Walk Stick/Option 225.

Virgin Huawei e169

See this Ubuntu forum solution:

sudo gedit /etc/ppp/options

find the line that says:

#-chap

and uncomment it (delete #)

-chap

this (I think) disables CHAP authentication

I also had to change the APN to VirginBroadband instead of VirginInternet which was the default, and now it's happy.

Other settings
Number *99#
Uname <your virgin username>
PW <your virgin password>

EVDO Cards

EVDO cards include USB modems and adapters to receive wide-area cellular broadband Internet connections.

Sprint

Sprint EVDO cards can be used most easily through KPPP. For instructions, read the Sprint Mobile Broadband Setup Guide. Also see the EVDO Forums.

Verizon

Digital Cameras

  • Support for PTP-mode digital cameras is available. Add support for your camera:
  1. Plug in the Digital camera.
  2. K menu -> System -> System Settings -> Advanced -> Digital Camera -> Add
  3. Select your model.

(My Canon Powershot A470 PTP mode camera is not explicitly available, although the A460 and many other models are.)

  • Install Digikam to import photos from the camera.

WebCams

See the Ubuntu webcam guide for more info. Many webcams that worked in Hardy Heron may not work in Intrepid Ibex. This may be due to a migration from v4l (video for Linux) to v4l2. See this discussion.

EasyCam

EasyCam2 is a utility for finding and installing drivers for your webcam. See these installation instructions.

iSight

Linux drivers for the digital iSight camera (connected by FireWire), using ALSA for sound, are here. The video component is already supported by current kernels (see here for more information).

Luvcview (USB webcam viewer)

Luvcview can be used to view your USB webcam to test it. Install:

sudo apt-get install luvcview

View your webcam:

luvcview -f yuv

Logitech Webcams

Logitech Notebook Deluxe Webcam

The audio from this webcam does not work with Linux (although the video does) and there is no fix. Do not purchase this webcam. Logitech webcams are not well supported in Linux.

Netbooks

Kubuntu can be installed on netbooks. While a KDE Netbook Remix is in development and may be ready in the upcoming year, the standard KDE (Kubuntu) desktop is not ideal for netbooks. At this time the Ubuntu Netbook Remix (or equivalent) is preferred, especially for new users.Ubuntu Netbook Remix is provided to several individual netbook manufacturers (such as Asus and Acer) to be optimised for that device. (You can contact your specific netbook manufacturer for specific details on this product.) If you already have Ubuntu Netbook Remix (or eeebuntu Netbook Remix) installed, you can choose to add the Kubuntu (KDE) desktop:

sudo apt-get install kubuntu-desktop
  • Asus eeePC 1000H
  • Reduce font size one or two sizes, and set the screen DPI to 120.
  • eeebuntu Netbook Remix is available for this device.
  • Acer Aspire One
  • Dell Mini 9
  • Ubuntu Netbook Remix runs on this device well. See this guide.
  • HP Mini 1000 Mi
  • A custom edition of Ubuntu is pre-installed on this version of this device.
  • See this this page for extensive laptop and netbook compatibility reviews.


Another method is to install Kubuntu onto your netbook from scratch using a USB flashdrive LiveCD.

Palm

Other

Mobile Devices

Ubuntu Linux offers an operating system for Mobile Devices (such as the Samsung Q1 Ultra or Elektrobit MIMD) with a unique and simplified interface. For more information see the Ubuntu MID Edition site.


GPS

Tux Mobil has a list of Linux applications for use with GPS devices, and compatible hardware. Two GPS packages are available from the Ubuntu/Kubuntu respositories:

  • Viking is a free open source package to view GPS data in maps, and to plot co-ordinates. This has been reviewed as the best Linux GPS mapping program.
sudo apt-get install viking
  • GPS Drive is a free navigation software package that displays your position on a zoomable map using your GPS device. It is GTK-based but can be used in Kubuntu. It uses the gpsd daemon that interfaces with a variety of GPS hardware. A .deb package of the current version is also available from the website. Install:
 sudo apt-get install gpsdrive
  • tangoGPS is a beautiful, lightweight GPS mapping program that uses map data from the Openstreetmap project. Is is a GPL-licensed open source project. A .deb package can be found here.

Networking

You may only use one GUI interface to control Network Manager.

Set a static IP address

I couldn't get the older version of Network Manager (that is installed by default in Jaunty) to accept my static IP address settings. The newest development version of Network Manager fixes the problem.

  • Add the repository key (you need port 11371 open in your firewall to use the keyserver):
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC8EBFE8
deb http://ppa.launchpad.net/network-manager/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/network-manager/ppa/ubuntu jaunty main
  • Update:
sudo apt-get update
  • Alternatively, you could uninstall Network Manager and the network manager widget completely and install wicd instead:
sudo apt-get remove network-manager
sudo apt-get install wicd
  • For wired connections, you can edit the network interfaces configuration file manually. You would then not use Network Manager to manage networking at all.
  • Edit the /etc/network/interfaces file:
sudo kate /etc/network/interfaces
and replace the line
iface eth0 inet dhcp
with the following lines (using your own LAN settings, of course):
iface eth0 inet static
address 192.168.0.35
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
  • Then restart networking:
sudo /etc/init.d/networking restart
  • Check to see if your settings are now correct:
ifconfig

Network-Manager Plasma Widget

The Network-Manager Plasma Widget is now the default GUI used in Kubuntu Jaunty to control Network Manager. It is found on the the Panel bar. Other Network Managers should not be needed.

KNetwork Manager

KNetwork Manager is a KDE tray applet that allows you to switch between Internet connections (such as wireless APs or wired connection). It is a KDE frontend for Network Manager and was formerly the default in Kubuntu. It has been replaced by the Network-Manager Plasma Widget, but can still be used if desired. Install and run:

sudo apt-get install knetworkmanager
knetworkmanager

I added it as a startup program:

System -> System Settings -> Advanced -> Autostart -> Add Program... -> knetworkmanager

Wicd Network Manager

Wicd is a GTK-dependent (Gnome) networking manager (written in Python) that is an alternative to the Network Manager Plasma widget. Many users report increased speed and stability with this network manager. To avoid networking conflicts, Wicd requires the removal of KNetwork Manager prior to installation.

sudo apt-get install wicd

Manual configuration from the command-line

These steps should not be necessary if using one of the GUIs for Network Manager listed above.

3 steps for WEP:

sudo iwconfig eth[N] essid [SSID]
sudo iwconfig eth[N] key restricted s:[PASSWORD]
sudo dhclient

WPA is more complicated:

su
mkdir /etc/wpa_supplicant
cd /etc/wpa_supplicant
echo network = { > wpa_supplicant.conf
echo ssid="SSID" >> wpa_supplicant.conf
echo key_mgmt=WPA-PSK >> wpa_supplicant.conf
echo psk="PRESHAREDKEY" >> wpa_supplicant.conf
echo } >> wpa_supplicant.conf
cd /etc/network
vim interfaces

Now add after "auto eth[N] ..." & "iface eth[N] .." (press 'i'):

wpa-driver wext # or whatever driver your network card needs
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Save the file ('Esc', ':x', 'Enter') and restart your system.

Internet connection sharing (DHCP server)

In most LANs, an inexpensive router is used to provide DHCP functions (internet connection sharing).

However, DHCP services can also be provided by a single host computer on your LAN if it is directly connected to the Internet. (This is useful, for instance, if you have a 3G or other wireless EVDO connection to your computer which you want to share with the other computers on your LAN). Other client computers on your LAN would then connect to the Internet through your host computer's Internet connection. The host computer now essentially performs the DHCP functions of a router.

All "client" computers on the LAN ought to be connected to a central LAN switch or router. (If using a router, it should have its own DHCP functions disabled -- you shouldn't have 2 DHCP servers on a LAN unless you know how to nest LANs). They should all be set up to obtain DHCP-assigned dynamic IP addresses and use the same LAN subnet settings (which in the example below is LAN IP range 10.0.0.1 - 10.0.0.250 with netmask 255.255.255.0 and gateway 10.0.0.1). The host computer to be used as the gateway/DHCP server is then connected (through its own ethernet port) either to one to the ports of the switch (if used), or to a LAN port of a router (don't use the WAN port). The host computer then connects directly to the Internet (WAN) through a second port (which in the example below will be a wireless (wifi) port (wlan0)).

(Note: This setup is easiest if you connect all computers on the LAN with Ethernet cables to the central switch or router. But also see using a nested wireless LAN router below.)

(Note: If you want your LAN to use the same subnet as your WAN, see network interface bridging.)

  • Install the DHCP server and firewall programs:
sudo apt-get install dhcp3-server firestarter
  • Rename the startup command (through a symbolic link) for the DHCP server. This is required or Firestarter will not know where to find it:
sudo ln -sf /etc/init.d/dhcp3-server /etc/init.d/dhcpd
  • Edit the DHCP server configuration file:
sudo nano -w /etc/default/dhcp3-server
Change the line
INTERFACES=""
to
INTERFACES="eth0"
  • Restart the DHCP server:
sudo dhcpd restart
  • Right click on Network-Manager -> Edit Connections... -> Wired -> Add
-> Connection name: Shared internet connection
-> IPv4 Settings -> Method: Manual -> Add
-> Address: 10.0.0.1 -> Netmask: 255.255.255.0 -> Gateway: 0.0.0.0
-> Available to all users: [x]
  • Attach the ethernet cable to (eth0).
Network-Manager -> Wired Networks -> Shared internet connection
  • Adjust your firewall to allow the internet connection sharing. Start Firestarter:
sudo firestarter
  • Tell the firewall which port is your direct Internet Connection:

Firestarter -> Preferences -> Firewall -> Network Settings -> Internet connected network device: (wlan0)

-> IP address is assigned by DHCP: [x]
  • Tell the firewall which port is for the LAN, and specify the details for the LAN:

Firestarter -> Preferences -> Firewall -> Network Settings -> Local network connected device: (eth0)

-> Enable internet connection sharing: [x]
-> Enable DHCP for the local network: [x]
-> DHCP server details -> Create new DHCP configuration -> Lowest IP address to assign: 10.0.0.2
-> Highest IP address to assign: 10.0.0.250 -> Name server: <dynamic>
Note: Use your own desired LAN settings (internal DHCP-assigned dynamic IP address range), of course. In this example I don't use the full IP range 10.0.0.2 - 10.0.0.255 for dynamic IP addresses because I want to reserve some LAN addresses (10.0.0.251 - 10.0.0.255) to be used as static IP addresses).
  • Notes:
  • If you wish to use this setup all the time, make the "Shared internet connection" profile your default connection profile in Network Manager.

Using a nested wireless LAN router

Many users will already have an established LAN that uses an existing wireless router and has client computers that are setup to connect wirelessly to the router. Here's how to maintain this setup and still use the internet connection sharing method of a single host computer as described above. This method is known as nested LANs. The wireless router will serve as a nested LAN for its wireless clients (only), but in turn will appear as a single device to the main LAN. The two LANs must have different IP ranges. For example, the main LAN may have an IP range 10.0.0.1 - 10.0.0.255 (with netmask 255.255.255.0), as in the above example. The router's nested wireless LAN must then use a different IP range (for example 192.168.0.1 - 192.168.0.255 with netmask 255.255.255.0).

  • Do not use your wireless router's WAN (Internet) port.
  • Connect the host computer (to be used as your main LAN gateway/router) to a LAN port (not the WAN/Internet port) of the wireless LAN router.
  • Configure your wireless router's LAN so that it appears to be a single device to the main LAN:
  • Setup your wireless router so that the Internet Connection type is "Static IP" (often in the "Internet Setup" section). Configure the settings so that its "Internet IP address" is within the static IP address range of your main LAN (e.g. 10.0.0.254), and make sure the subnet mask matches the one you chose for your main LAN (e.g. 255.255.255.0). The gateway setting should be set to match the IP address of your host computer of the main LAN (e.g. 10.0.0.1 in the example of the preceding section). Now the wireless router will appear to the host computer as just another device on the main LAN.
  • If your wireless LAN is already functioning, you probably don't have to change any settings, but double-check to make sure the schema are compatible. Configure the wireless router's settings for the nested wireless LAN. This is done by enabling the router's DHCP server functions (in "Network Setup" or some similar configuration section of the router). The router ought to have as its own wireless LAN gateway address a "local IP address" (or "LAN IP address") of 192.168.0.1 (for the IP address range used in this example), and a "starting IP address" (for the DHCP-assigned dynamic IP address range to be used for the wireless clients) to be 192.168.0.2 or greater. (Some routers ask you to specify the entire range (such as 192.168.0.2 - 192.168.0.255.)
  • Make sure all your wireless client computers are set to obtain their DHCP-assigned dynamic IP addresses from the wireless router (gateway IP 192.168.0.1) instead of from the main LAN gateway.
  • Now all communications from the wireless client computers will be routed to the wireless LAN router first, which will then in turn route them to the host computer (which is acting as the main LAN gateway/router), which will then in turn route them to the Internet (WAN).
  • Note: The host computer for the main LAN must have a static IP address (e.g. 10.0.0.1 as in the example of the preceding section) and it must match the gateway IP address configured in the wireless LAN router settings.

Network Interfaces Bridging

  • Install bridge-utils to be able to create network bridges:
sudo apt-get install bridge-utils
  • Edit /etc/network/interfaces:
sudo nano /etc/network/interfaces

The interfaces file should look like this after editing it:

auto eth0
iface eth0 inet manual
#
auto br0
iface br0 inet dhcp
#
bridge_ports eth0 wlan0
#
# The loopback network interface
auto lo
iface lo inet loopback
  • Restart networking with:
sudo /etc/init.d/networking restart

Using Dynamic IP addresses for a webserver

Normally, domain name servers (DNS) that are used publicly on the Internet match a web server's URL name with the IP address of the server's host computer. If your computer has a static IP address, then you can publish your own web server's URL as belonging to the static, unchanging IP address of your computer.

However, if your IP address is dynamic (always changing) because you use an ISP (Internet Service Provider) that constantly changes your IP address (using DHCP), then you will need a DNS service to constantly keep track of your dynamically changing IP address and match it to of your web server's URL. Fortunately, there are a few DNS services that will do this for you, either for a small fee or even for free. For more info, see this Ubuntu help article.

For specific tips on setting up this service, see this article.

Remote speakers for Airport Express

Audio output can be streamed over your local network to an Airport Express. Make sure your firewall is not blocking ports 5353, 5000, and 6000.

PulseAudio

These capabilities require the newest version 0.9.15 of Pulse Audio and Pulse Audio Volume Control 0.98, as well as pulseaudio-module-raop (for Airport Express). Instead of (or after) installing the default 0.9.14 packages from the Jaunty repositories, obtain them by adding the repositories from this Launchpad site:

deb http://ppa.launchpad.net/themuso/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/themuso/ppa/ubuntu jaunty main

then install:

sudo apt-get install pulseaudio pavucontrol pulseaudio-module-raop

Then configure Pulse Audio:

Menu -> Settings -> PulseAudio Preferences Sound Audio preferences -> Network Access

and check both:

Make discoverable network sound devices available locally
Make discoverable Apple Airtunes devices available locally

raop-client

A method to stream audio to the Airport Express uses raop-client, a tool written in Ruby. See information here.

GSTransmit

GSTransmit is a tool to allow GStreamer-based utilities to stream output to an Apple AirTunes Device (such as the Airport Express). It is available as a self-installing .deb file from the website.

Airfoil

You can stream media from a PC running Windows or Mac OS X connected to an Airport Express network to your Kubuntu Linux desktop, using Airfoil. (Unfortunately you cannot send media output from Kubuntu to the Airport Express network with Airfoil, only receive.) This can be useful in a distributed multimedia system, for example, in which your Kubuntu PC is connected to a media center. You must be running Mono. You can download the .deb package at Rogue Amoeba. Installation instructions are at Rogue Amoeba Linux support.

Filesharing

NFS

NFS is the default networking protocol for network file sharing in *nix systems (including Kubuntu Linux).

Samba File Sharing

Samba client

Samba is a networking protocol that allows compatibility with Windows-based networks. The Samba client is installed by default in Kubuntu Jaunty and should work seamlessly (unless you have have a firewall blocking the ports).

Samba server

The following instructions are to install a Samba server (which is not installed by default). This allows you to share your files over a Samba (Windows) network to other Samba clients.

  • Install:
sudo apt-get install samba samba-tools system-config-samba
Note: samba-tools and system-config-samba are optional.
  • Modify Samba settings.
  • Method 1:
K menu -> System -> Samba

or

System Settings --> Advanced --> Samba
(Note: this is available only if you installed system-config-samba.)

It is recommended that your user be a member of the sambashare group, as well.

  • Method 2:
Enable File Sharing Server With User Login (Very Reliable Method)
Do the following on the machine that has the files to be shared:
  • Add current user to Samba:
sudo smbpasswd username
(replacing username with your login username)
  • Open the samba config file:
sudo nano /etc/samba/smb.conf
  • Add the directories to be added (right at the end) in the following format:
[Pictures]
path = /home/username/<folder_to_be_shared>
browseable = no
writable = yes
(Replace username with your username and <folder_to_be_shared> with the folder you want to share)
Press CTRL+X and then Y to save.
  • Restart Samba
sudo /etc/init.d/samba restart
  • On Windows access the folder in the following format in Windows Explorer:
\\192.168.x.x
(replace 192.168.x.x with the actual IP address of your server which is serving the folder)
  • On Linux type the following in Konqueror or Nautilus:
smb://192.168.x.x
(replace 192.168.x.x with the actual IP address of your server serving the folder)

Note: If you use Sharing in KDE's System Settings panel, be aware that there is a small bug, reported here. In brief, you need to comment out/delete any instances of these two lines in /etc/smb.conf :

case sensitive
msdfs proxy

Change your Workgroup

To change your Samba (Windows network) workgroup:

sudo nano /etc/samba/smb.conf

Look for the line:

workgroup = WORKGROUUP

and change the setting to whatever your LAN workgroup is.

Recognizing Win98 machines

Microsoft networking is extremely quirky. To enable recognition of PCs with Windows 98, edit your Samba configuration file:

sudo nano /etc/samba/smb.conf

Then add the following lines to the file:

[global]
# THE LANMAN FIX
client lanman auth = yes
client ntlmv2 auth = no

Local Area Network

Modems / Dial-up

KPPP is the default modem dialing application.

K menu -> Internet -> KPPP Internet Dial-up

Remote Access

There are several methods of remote access. VNC sharing allows you to view and control a remote computer's desktop. (Windows users use a similar proprietary protocol called remote desktop protocol (RDP)). XDMCP allows a complete remote X-windows based login. Remote connections are hazardous unless proper security precautions are taken to prevent unauthorized logins and to ensure encryption of transmitted data.

SSH

Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel (or "tunnel") between two computers. Encryption provides confidentiality and integrity of data. SSH client is installed by default in Kubuntu so you can connect to another computer that is running a SSH server.

Connect to a remote SSH server
From the command-line terminal

Install the OpenSSH client (if not already installed):

sudo apt-get install openssh-client

From the command-line terminal (Konsole) type:

ssh -C <username>@<computer name or IP address>
Note: The -C option indicates compression, which speeds up transmission through the tunnel.

For example:

ssh -C joe@remote.computer.xyz
or:
ssh -C mike@192.168.1.1
or
ssh -C 192.168.1.1 -l mike
Note: -l specifies the login id.


If the SSH server is listening on a port other than port 22 (the default), you can specify that in your connection (with the -p option). For example, if the SSH server is listening on port 11022, connect:

ssh -C joe.friday@remote.computer.xyz:11022
or
ssh -C remote.computer.xyz -p 11022 -l joe.friday

If you have made a public/private key using ssh-keygen, the private key must be stored in /home/user/.ssh. The key should be accessible only to user

sudo chmod 600 /home/user/.ssh/identity
or
sudo chmod 600 /home/user/.ssh/id_rsa 

To login with the key:

ssh -C remote.computer.xyz -p 11022 -l joe.friday

Note: You can run the command as a menu item, but the command must be "run in terminal."

Port forwarding through SSH

See Using SSH to Port Forward for full details.

In brief, use

ssh -C <remote ip> -p <SSH tunnel port> -L <local port>:<remote computer>:<remote port> -l <user>

This specifies that any communications from your computer (localhost) going out through <local port> will be transmitted securely through the the SSH tunnel port. To use VNC through the tunnel, you would use an application like Krdc:

krdc vnc:/localhost:<local port>

Note that for VNC, the default <local port> is 5900. In general, a remote VNC server (such as Krfb) is also listening on the default <remote port> 5900 as well. The default <SSH tunnel port> is 22, as discussed above. All these can be changed, however, if you desire greater security.

For me, I noticed that I had to set <remote computer> to be the internal LAN IP address of the remote computer (such as 192.168.1.155) instead of the remote router's IP address, which is specified in <remote IP>. (If the remote computer has a static IP address (i.e. is directly connected to the Internet without an intervening router), then <remote computer> and <remote ip> would be the same.)

Example: For extra security, my SSH Server uses <SSH tunnel port>=11022. I want to VNC to a remote computer on a remote LAN with a router whose IP address is <remote ip> = 244.205.123.123. The remote computer to which I want to connect has a static IP address within the remote LAN of <remote computer> = 192.168.1.155. I have set up a Krfb VNC server on this computer that is listening on <remote port> = 6912 (instead of the default 5900). I setup port forwarding on the router of this remote LAN to forward port 6912 to this server computer. I want to VNC to this remote computer from my laptop, through the Internet. My laptop VNC client (Krdc) will use the default <local port> = 5900. My name is <user> = joe.friday. This is my story.

ssh -C 244.205.123.123 -p 11022 -L 5900:192.168.1.155:6912 -l joe.friday
krdc vnc:/localhost:5900

If you have set up a private/ public key pair with a passphrase, or if your SSH server requires a passphrase, of course, you will be prompted for the passphrase after issuing the SSH command.

Note: Port forwarding assumes that the ports are also forwarded through the router(s) and through any firewalls. See the documentation for your router(s) and firewall to learn how to do this. The advantage of SSH tunneling is that only the <SSH tunnel port> needs to be open and forwarded by a router. All encrypted communications will go through your router using this single port. This is what makes the communications secure.

PuTTY

PuTTY is a GTK-based GUI client-interface for SSH connections and eases the setup for port forwarding, SSH public key authentication, and automated login.

sudo apt-get install putty

A user would run Putty to create the SSH tunnel (instead of the ssh command) and then run Krdc. Note that PuTTY security keys are not generally compatible with SSH security keys. I was not able to get PuTTY to work with Krdc.

Connect using SSH Agent

With SSH Agent you can automate the use of public key authentication and open an XDM or VNC session using a script. See this tutorial.

Setup an SSH server

VNC

Virtual Network Computing (VNC) mirrors the desktop of a remote ("server") computer on your local ("client") computer (it is not a separate remote login, as is XDMCP). A user on the remote desktop must be logged in and running a VNC server (such as X11VNC). Keyboard and mouse events are transmitted between the two computers. VNC is platform-independent —- a VNC viewer on one operating system can usually connect to a VNC server on any other operating system.

Although Krfb is the default VNC server in Kubuntu/KDE, it does not work with KDE4 (Intrepid, Jaunty). X11VNC does work well with KDE4/Kubuntu and is recommended instead. Also see Ubuntu help on VNC for more info on other VNC servers.

Krfb VNC server

Krfb is the default VNC server in Kubuntu/KDE. It can be started from:

K menu -> Internet -> Krfb

  • You can change the listening port in the Network section. Your router must forward this port to your computer (or you must use an SSH tunnel). A user trying to connect must know the listening port as well and explicitly specify it during the VNC connection.
  • You can accept uninvited connections in the Security section. You can require a password for these connections.
  • A user can connect using Krdc or any other VNC client.

Notes: As of 12-2009 I could not reliably get Krdc to work in KDE4 (Intrepid, Jaunty). You should use one of the other VNC server/client solutions, instead, such as X11VNC or FreeNX (see below). If you must use Krfb, stick with the KDE3 desktop (that was part of Kubuntu Hardy Heron), in which Krfb works properly.

How to use Krfb with SSH tunneling securely

It is less secure to leave Krfb's listening port open to the Internet, even with a password. (This can expose you to password cracking attempts.)

It is more secure to use SSH to tunnel your VNC connection. Under SSH port forwarding, Krfb's listening port is the <remote port>. To increase security, this listening port can be changed from the default 5900. Only the Kfrb server and the SSH client need to specify the <remote port> in a secure connection.

TightVNC server

TightVNC is a multi-platform servers/client VNC solution for both Windows and Linux (Kubuntu). It currently works better than Krdc/Kfrb in Intrepid but does not display the entire screen reliably (possibly due to KDE4 widget redraws).

sudo apt-get install tightvncserver xtightvncviewer
X11VNC Server
  • Install the X11VNC server to share your desktop with other computers:
sudo apt-get install x11vnc
  • Run X11VNC without a password:
x11vnc -forever
  • See here for more command-line options.
  • You can create a password:
mkdir ~/.vnc
x11vnc -storepasswd YOUR_PASSWORD ~/.vnc/x11vnc.pass
  • Run X11VNC, requiring a password:
x11vnc -forever -rfbauth ~/.vnc/x11vnc.pass -o ~/.vnc/x11vnc.log -loopbg -display :0
  • You can create a startup script so that X11VNC is automatically loaded at startup (with password settings):
echo "/usr/bin/x11vnc -forever -rfbauth ~/.vnc/x11vnc.pass -o ~/.vnc/x11vnc.log -loopbg -display :0" > ~/.kde/Autostart/x11vnc.sh
chmod +x ~/.kde/Autostart/x11vnc.sh
  • You can test the startup script:
~/.kde/Autostart/x11vnc.sh
Using VNC with SSH

See Using VNC for additional information.

Krdc VNC client

Krdc is the default VNC client in Kubuntu. Make sure you have open ports (in your firewall) to allow the connections -- 5900 (by default) for VNC or 3389 (by default) for RDP.

  • K-Menu -> Internet -> Krdc
  • To connect to a VNC server using a command (in a menu item or from the command-line interface terminal):
krdc vnc://<remote IP>
  • To connect in fullscreen mode, using myusername on the remote server:
krdc --fullscreen vnc://myusername@<remote IP>
  • If the remote (Krfp) VNC server is using a <remote port> other than the default 5900 port, use
krdc --fullscreen vnc://<remote IP>:<remote port>
  • Krdc can also connect to a Windows server using RDP (Remote Desktop Protocol). RDP uses port 3389, so either this port must be open in your firewall, or you must allow connections to the IP address of the remote computer in your firewall settings.
krdc --fullscreen rdp://myusername@<remote IP>:<remote port>

Also see this list of other command-line options (or run krdc --help in the Konsole terminal).

  • Console mode connections are allowed (for users with administrative privileges on the remote Windows server) as an option when connecting through the Krdc GUI.
Using Krdc VNC client with SSH

See this howto for an automated setup using a script (it did not work for me, but it might for you).

In brief, you would initiate an SSH tunnel with port forwarding using Putty or the command line:

ssh -C <remote ip> -p <SSH tunnel port> -L <local port>:<remote computer>:<remote port> -l <user>
then you would start Krdc:
krdc vnc://localhost:<local port>

<local port> will usually be the default 5900, in which case you could simply use

krdc vnc://localhost
XVNC4Viewer VNC Client

You can also install XVNC4Viewer (if you prefer it over Krdc) using:

sudo apt-get install xvnc4viewer

FreeNX

FreeNX is a remote desktop display server/client solution that natively incorporates SSH tunneling (unlike VNC). It is therefore more secure than VNC (unless VNC is coupled with SSH tunneling).

FreeNX Server

The Free server .deb package can be downloaded from No Machine free server downloads.

deb http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
deb-src http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
  • Install the package:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install freenx
FreeNX Client

Download the self-installing .deb file from No Machine Client downloads.

XDMCP

XDMCP allows a separate remote login by an authorized user. This login is separate from the local user.

  • XDMCP is not secure over the Internet and should only be used within a LAN. It cannot be tunnelled through SSH. It is turned off by default in Kubuntu. To enable it, edit the KDE configuration file:
sudo nano /etc/kde4/kdm/kdmrc
  • Find and change the line from false to true so that it reads:
[Xdmcp]
Enable=true

Telnet

VPN Clients

A VPN (Virtual Private Network) allows a secure encrypted connection ("tunnelling") over the Internet between a client (either standalone or on a separate LAN) and a home or corporate LAN server.

VPN through Network Manager
  • The default Network Manager in Ubuntu/Kubuntu has a VPN client available. This includes support for IPSec and Cisco-compliant VPN connections. Install:
sudo apt-get network-manager-vpnc
  • To connect to a VPN network using OpenVPN (SSL), install the plugin:
 sudo apt-get network-manager-openvpn
  • To connect to a VPN network using PPTP (MS Windows servers), install the plugin:
sudo apt-get install network-manager-pptp
  • Configure:
Network Manager icon (in system tray) -> VPN Connections -> Configure VPN
KVpnc

Kvpnc is a KDE-based (both KDE3 and KDE4) GUI front-end for various VPN clients, including OpenSSH. It is not necessary if using Network Manager. Install:

sudo apt-get install kvpnc

It works with one or more of the VPN client packages (which must also be installed):

  • vpnc -- for Cisco-compliant (IPSec) VPN networks
  • openswan -- for IPSec (OpenSwan) VPN networks
  • pptp-linux -- for PPTP (MS Windows-compliant) VPN networks
  • openvpn -- for OpenSSL (OpenVPN) VPN networks

VPN Servers

OpenVPN

OpenVPN is a free, GPL-licensed open-source cross-platform VPN solution based on OpenSSL (not IPSec). Install the server (then see the website for further installation instructions):

sudo apt-get install openvpn bridge-utils

A GUI configuration utility (GTK-based) is available:

sudo apt-get install gadmin-openvpn-server

Also see these installation tips.

Poptop (PPTP Server)

Poptop is a free open-source PPTP-based VPN server compatible with MS-windows PPTP clients. Install:

sudo apt-get install pptpd
OpenSwan

OpenSwan is the open source implementation of IPSec-based VPN connections for Linux (and is a successor to FreeSwan). Install:

sudo apt-get install openswan linux-patch-openswan

LTSP (Thin client support)

LTSP (the Linux Terminal Server Project) adds thin-client support to Linux servers. The package is free, GPL-licensed, and the client can be used to run programs on either Linux or Windows LTSP servers. There is a module for classroom management (ltsp-controlaula) as well. Installation instructions are here. The alternate LiveCD can also be used to install a terminal server, as indicated in these instructions.

LTSP Server

Install:

sudo apt-get install ltsp-server ltsp-manager
LTSP Client

Install:

sudo apt-get ltsp-client

iTALC (Thin client for Education)

iTALC is a free, open source (GPL-licensed) thin client solution that supports both (K)Ubuntu Linux and Windows XP. It has been used widely in educational settings to monitor, share, and control multiple workstations. See the website for download and installation instructions.

Web meetings

Web meeting software allows video conferencing among many clients, with one server as host.

DimDim

DimDim OpenSource Edition is a free community version of a commercial product of the same name. Like GoToMeeting, free online group meetings for up to 20 users is available through any browser. A free open source host server for group meetings (unlimited users) is also available in a community edition, but desktop sharing is not yet available for Linux desktops (in any edition). (Scheduling and recording to notes are also not available in the community edition, although the other enterprise features are). At this time, a .deb package for the host server is not yet available, and installation must be from source (for which there are no instructions provided). However, a VMWare appliance for use within VMWare Player (or Server) is available here, and can be used after installing VMWare Player.

WebHuddle

WebHuddle is a free, open source Java-based browser client (and server) for web meetings. To install the server, first install pre-requisites, including Java, JBOSS Application Server, and xvfb.

sudo apt-get sun-java6-jre jbossas4 xvfb

For more details on setting this up in (K)ubuntu, see this.

Distance teaching

Moodle

Moodle is a free open source platform for hosting online learning courses. It can be integrated with webinar software. A LAMP server installation is required. See these Ubuntu Hardy installation tips for an overview. Install:

sudo apt-get moodle

Claroline

Claroline is a free open source platform for hosting e-learning courses and online student collaboration. A LAMP server installation is required. Installation is from source files available at the website, with instructions found here.

Security

Kubuntu by default is a fairly safe system. However, if you intend to use Kubuntu as a server, or for critical applications in which loss of data (by accident or by malicious intrusion) would be disastrous, you should learn how to make Kubuntu more secure. A good introduction to Ubuntu Security Best Practices is available.

Firewall

Network communications go through "channels" called ports. You can restrict which ports are available ("open") for network communications, creating a barricade to unwanted network intrusion. Firewalls do this job for you. But I guarantee that if you install one before you know how to use it that one or more networking programs on your system will stop working. Read every bit of documentation about a firewall before installing it -- you won't regret the time invested. All of these packages modify iptables, which is the set of rules that controls network access in and out of your computer. (You can modify iptables manually from the command line, as well, but if you are that much of an expert, you probably don't need this guide.)

Firestarter

Firestarter is an intuitive firewall manager used to set the iptables values which provide firewall capabilities in Linux (including Kubuntu). It has a very easy-to-use GUI.

sudo apt-get install firestarter

Guarddog

Guarddog is a GUI firewall configuration utility that has been used for KDE. It has a complex array of configuration, and is difficult to use for some beginners.

sudo apt-get install guarddog

Uncomplicated Firewall

Uncomplicated Firewall is installed in Kubuntu by default, but is disabled by default. It is configurable through the command-line interface (i.e. Konsole). See this usage tutorial. If not installed, it can be installed:

apt-get install ufw
Gufw

Gufw is a GTK-based (Gnome) graphical user interface for Uncomplicated Firewall. Install:

sudo apt-get install gufw

Anti-virus

If you are running a file server, interface frequently with Windows drives, or use virtualization, you will want a virus checker for your Windows files.

ClamAV

ClamAV is the open source virus tool for Linux. To install ClamAV with a KDE frontend (klamav):

sudo apt-get install klamav

Anti-spam

Spam Assasin

SpamAssasin is written in perl, and is mostly for use with a server (such as a groupware server or Apache).

Rootkit checkers

Rootkits are malicious trojan-like programs to allow an intruder to become a root user and therefore have complete administrative control over the system. There aren't many rootkits in the wild for Linux. Still, this is a growing security problem (especially in other operating systems) and it is a matter of time before more rootkits appear in Linux. Checking for rootkits isn't always successful from a system that is already infected. Your rootkit checker should therefore be run from another system, or a USB pendrive with a Kubuntu LiveCD installation. See the rootkit checker manuals for instructions how to do this. If you are infected with a rootkit, you must backup all your files and re-install your system. (Thank goodness this is easy with Kubuntu, unlike with other operating systems).

Chkrootkit

Chkrootkit checks locally for signs of a rootkit. See the chkrootkit manual for usage instructions.

Install:
sudo apt-get install chkrootkit
Run:
sudo chkrootkit

Rootkit Hunter

Rootkit Hunter is compatible with (K)ubuntu systems. See the usage instructions.

Install:
sudo apt-get install rkhunter
Run:
sudo rkhunter -c

Security hardening

Nmap

Nmap is a free open source utility for network exploration (including showing open ports and running services) and security auditing. Install:

sudo apt-get install nmap

Scan your own PC:

nmap localhost

(Once you have found out which ports are open, use a firewall to close the ones you don't want open.)

Nmap GUI

Install:

sudo apt-get install nmapfe

Nessus

Nessus is a proprietary comprehensive vulnerability scanning suite that is free for personal, non-enterprise usage. See the website for details.

AppArmor

AppArmor is a set of security enhancements developed by Novell for SUSE Linux. It is installed in (K)ubuntu by default.

Disable AppArmor

AppArmor can prevent some services from running as expected. To disable it:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

SELinux

SE Linux (Security Enhanced Linux) is an NSA (US National Security Administration) recommended set of tools for enhanced security in Linux systems. It enforces strict access controls (privileges) and is meant for mission-critical installations. It is not suitable for the casual desktop user. It was first available in Hardy Heron and is being updated for Intrepid Ibex. It is not compatible with AppArmor (which must first be removed).

sudo apt-get install selinux

Knockd (Port security)

Knockd is a small server that listens for a pre-defined sequence of port opening attempts (a "knock") before opening an otherwise closed firewall port for communications. Install:

sudo apt-get install knockd

Servers

Many individual server packages (such as Apache2, MySQL, PHP, etc.) can be installed individually on either a Desktop edition or Server edition (using the tasksel command as described below). It is not necessary in general, therefore, to install Ubuntu Server if you only wish to use a few server packages on a Desktop edition.

The Server edition is optimised for speed and ease of monitoring and maintenance when implemented in large networks. Most of the instructions for server packages will work, however, on the Server edition, the Desktop edition, or on a Server edition with an Ubuntu or Kubuntu desktop installed on top of it.

Ubuntu Server edition installation

Note that Jaunty Jackalope is not a long-term support version, and there are many changes from Hardy Heron to Jaunty Jackalope, including some new bugs in Jaunty Jackalope. Unless new features, such as Xen (virtualization) support or the Tomcat (Java) server, are desired, some users highly recommend 8.04 Hardy Heron's stability (especially if planning to use a server/KDE 3.5 desktop combination).

There are many server packages that are available for installation (from the installation menu) when using the LiveCD. It is not critical to install them at initial installation, however, because most of these server packages can later be added (as a one-step task) using the tasksel command. For a list of server packages that can be installed at any time using the tasksel command:

sudo tasksel --list-tasks

Add a desktop to an Ubuntu Server

You can add a GUI desktop to any Ubuntu Server edition. Packages that require server capabilities (such as Drupal with Apache, etc.) are often happier when a Server edition is installed as the base. If you will use a large number of server packages, it is best to install Ubuntu Server edition first and then install the Ubuntu (Gnome) or Kubuntu (KDE) desktop afterwards. Add a desktop to any existing Server edition installation with the commands:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-desktop
or
sudo apt-get install kubuntu-desktop

Strictly speaking, there is no such thing as a Kubuntu server. However, an Ubuntu server with a KDE (Kubuntu) desktop can be considered a "Kubuntu server".

LAMP server installation

During server installation, you will have the option of installing a LAMP (Linux, Apache, MySQL, PHP) server stack. Many (but not all) open source servers use this integrated server stack. Drupal, for example, needs to have a LAMP server installed. If you intend to install a groupware server, however, make sure it is compatible with a LAMP server stack before choosing this option. Many groupware servers will install LAMP (or their own variation) automatically, so you do not need to install the LAMP stack. Others will install and use postgreSQL instead of MySQL, so you would not need to install a LAMP server. If you did not install a LAMP server stack at initial installation, you can do it at any time:

sudo tasksel install lamp-server

Ultimate Server Walkthrough

  • Here is an installation walkthrough of an ultimate server for Kubuntu Jaunty. Using instructions from Kubuntuguide, this ultimate server has two wikis (MediaWiki), two Drupal websites, a Moodle online learning website, a BigBlueButton teleconferencing server, a Kubuntu desktop, and dynamic DNS access from the web. All components can be expanded and/or additional servers added.
  • To run multiple servers on multiple computers on a LAN using only a single IP address and router, see this solution using reverse proxies in Apache.

Other servers

During server installation, you can choose other servers to install, as well. These include a Mail server (Postfix with Dovecot), a DNS server (bind9), the OpenSSH server, a print server, a Tomcat Java web server, a Samba file server (for use with Windows networks), and a virtual machine host (Xen). Again, if you are using a groupware solution, you should be careful about installing these services, as they may conflict with similar (but competing) servers which the groupware solution will install by default.

OpenSSH server

OpenSSH allows encrypted communications through a designated secure port. The OpenSSH server can be installed as an option during the Ubuntu Server LiveCD installation. Alternatively, it can be installed at any time:

sudo apt-get install openssh-server

Note: An OpenSSH server can also be set up on a Windows server using Cygwin. See these instructions.

Limit authorized SSH users

See How to limit the user accounts that can connect through SSH.

OpenSSH Public Key Authentication

See this OpenSSH Public Key Authentication Tutorial.

In brief, it is necessary to generate a public / private key pair. On your client machine, generate the pair:

ssh-keygen

A prompt asks for a passphrase. If you wish to use SSH without a password from a secure client (to which no one but you has access), leave the passphrase blank. If you enter a passphrase, you will be asked for this passphrase each time you use the SSH client. By default, a 2048-bit RSA key pair is generated and stored in the /home/user/.ssh folder. The private key is named id_rsa and is meant to stay in that folder. The public key is id_rsa.pub and is meant to be copied to the SSH server. On the SSH server, there is a similar folder /home/user/.ssh (for whichever user is hosting the SSH server). In that folder is a file called authorized_keys2. The contents of id_rsa.pub must be copied into that authorized_keys2 file. (You can use a text editor or can concatenate the files with the cat command).

To keep keys private, they should be accessible only to user, the owner of the file. For example,

chmod 600 /home/user/.ssh/id_rsa

This makes the file only accessible to user. You could also make the entire .ssh folder accessible only to user:

chmod 700 /home/user/.ssh

Postfix (Mail Server)

Postfix is a free open source mail server. It can be installed as the "Mail server" option when installing the Ubuntu server from the LiveCD. It interfaces directly to Dovecot, the free open source IMAP and POP3 server.

Bind9 (DNS server)

BIND DNS servers are the most commonly used on the Internet. Bind9 is the current edition and is installed by selecting the "DNS server" option when installing Ubuntu server from the LiveCD. See the usage instruction here, and also refer to the Ubuntu wiki or Ubuntu help page. You can install it at any time:

sudo tasksel install dns-server

Apache Tomcat (Java server)

Tomcat is a free open source platform from Apache which provides a "pure Java" HTTP web server environment for Java code to run (see here for more info).

It is not part of the Apache2 web server. Installation can be done by checking the "Install Tomcat server" option at the time of the initial Ubuntu server installation from LiveCD.

Xen virtual machine host

Xen is a free open source virtualization platform that allows the host to run "guest" operating systems simultaneously (see here for more info). Xen implementation in the (K)ubuntu server is based on integration with KVM, the kernel-based virtualization platform in Linux. KVM integrates with QEMU components, which have been merged with Xen.

Note: KVM requires a 64-bit processor with a virtualization extension, i.e. an Intel VT or AMD-V CPU, therefore this package currently is successful only with the 64-bit Ubuntu server installation and on those CPUs.

Installation can be done by checking the "Install virtual machine host" option at the time of the initial Ubuntu server installation from LiveCD.

Print server

Kubuntu uses the CUPS print server, which is integrated into the desktop. Installing a print server in Ubuntu Server is necessary only if you do not intend to use a desktop (i.e. you intend a "headless" server). Because this guide is orientated towards users who will install a Kubuntu desktop on top of the server, please see Ubuntu server documentation for this option.

OpenLDAP

OpenLDAP is a community-based LDAP server that allows directory querying over TCP/IP, generally for organizations arranged by domain. Ubuntu uses the slapd daemon for the OpenLDAP server. See the official Ubuntu documentation for more information about installation and setup.

DAViCal Calendar Server

DAViCal is a CalDAV, postgreSQL, Apache and php-based shared Calendar server that works with Mozilla Thunderbird/Lightning/Sunbird, Evolution, and other calendar clients. Jaunty repositories have version 0.9.6.2. Install:

sudo apt-get install davical

Then see these detailed installation instructions.

Darwin Calendar Server

Darwin Calendar Server is an open-source port of Apple's CalDAV-based calendar server that works with Mozilla Thunderbird/Lightning/Sunbird, Evolution, and other calendar clients. Install version 1.2 from the repositories (then see the website for usage instructions):

sudo apt-get install calendarserver

WebCalendar

WebCalendar is an ICS-based server for group calendars that can use many different databases as the backend, is written in PHP, and is compatible with clients such as Sunbird/Thunderbird (Lightning), Apple iCal, and Evolution. The newest version can also be viewed using RSS clients. See the website and the wiki for installing the newest (1.2) version. Install the older (1.05) version from the repositories:

sudo apt-get install webcalendar

Network Monitoring and Management

Monitor your network or datacenter with a framework of utilities. Comparable to IBM Tivoli (which can cost thousands of dollars), these solutions are generally available as either community or enterprise editions.

  • Hyperic is an open-source network monitoring framework that can be used in either a datacenter or a cloud environment (it is used for Amazon Cloud). Both a free community version and a subscription enterprise version is available.
  • Groundwork OpenSource offers a community edition that integrates other packages such as Nagios, Nmap, and others. There is a subscription enterprise version as well. It has its roots in a university setting.
  • OpenQRM is the GPL-licensed, free open-source community successor to the very popular network monitoring solution Qlusters. It is available as a Debian/Ubuntu package. See the website for details.
  • Canonical offers the Landscape network management service for $150 per node, with a free trial available.
  • Zenoss is a commercial network monitoring subscription package (about $150/node) with a limited free "core" edition also available.

Nagios

Nagios is a free open source network monitoring solution. It is available as a package installation in Ubuntu. It is administered from a web interface (http://localhost/nagios) and is expandable using a large number of available plugins. Install:

sudo apt-get install nagios3

Cacti Monitoring Server

Cacti is a complete, free open source network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. It uses MySQL and PHP (part of the LAMP server stack). All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. For more info see Cacti Server Setup.

Cluster (cloud) computing

Eucalyptus is a project from University of California Santa Barbara to facilitate cluster computing on Ubuntu servers that have Xen enabled. It has been made available for the Jaunty Jackalope server edition, but is very much in development. It is not meant for mission-critical deployments at this time. See the website for details.

Create a root user password

Once you have completed installation of your (K)Ubuntu operating system, you can create a root user password. While performing actions as a root superuser is not recommended, at times it is easier to perform many system maintenance tasks at once as the root user.

  • Create a root user password
sudo passwd root
and enter the password you intend to use for root
  • Login as the root user
sudo -s
or
su root

Internet Cafe software

Internet Cafe (or CyberCafe) software is specialized LAN-administration software that includes time usage monitoring, billing, and administration. It can also be used in schools, libraries, and organizations with multiple monitored workstations requiring usage limits.

OutKafe

OutKafe is a free, open-source, GPL-licensed cybercafe solution based on a postgreSQL database server stack. It is run on hundreds of sites. It is GTK-based but can be run with Kubuntu (KDE).

OpenKiosk

OpenKiosk is a free open source multi-platform server/client solution for administering and monitoring groups of workstations, such as in libraries, school labs, and internet cafes. Installation is from source files. See the website for details.

CafePilot

CafePilot is a free multi-platform Java-based server/client solution for real-time monitoring and billing of Cybercafe workstations. A complete custom Ubuntu-based LiveCD server/multiple-client solution (including OS and many applications for unlimited workstations) is available for $100 here.

Enterprise Network Firewall

IPCop

IPCop is a free open source (GPL-licensed) firewall solution for use as an independent appliance (on a dedicated PC) in an enterprise network. It allows remote management and can protect multiple servers, including web and email servers. IPSec-based OpenVPN is supported. The CD image .iso and other files can be downloaded here. Installation instructions are on the website.

SmoothWall

SmoothWall Express is an award-winning, free, open source (with a GPL license) firewall solution for use as an independent appliance (on a dedicated PC) in an enterprise network. Download the installation CD .iso image here (server OS included), burn onto a CD, and install on a new, dedicated PC. Many features, however, such as VPN server, database access authentications, and content filtering are only implemented in a commercial version and are not available in the community version.

Endian

Endian is a very robust, free, open source universal threat management appliance similar to IPCop and Smoothwall. It also incorporates OpenVPN. Like Smoothwall, Dansguardian is used for content filtering (and is included in the community edition). Commercial and hardware versions with some additional features, automatic updates, and professional support are available. See the website for details.

Network Attached Server

FreeNAS

FreeNAS allows a PC with several hard drives to function as a self-contained network attached storage RAID device. It is a very small, fast system, so that an older PCs could function quite well as an NAS.

Setup RAID in Ubuntu/Kubuntu

See this thread for a discussion how to set up RAID on an Ubuntu/Kubuntu server.

Tips & Tricks

Change to black Panel bar

Intrepid used a nice black Panel bar (Taskbar) at the bottom. Jaunty uses a blue one. To change from the blue bar back to the black bar, you will have to install the Nitro desktop theme. It differs from the default Oxygen theme only in the color of the Panel bar.

Right-click on your desktop -> Appearance Settings -> Desktop Theme -> New Theme...
Search for Nitro and "Install". Then close.
Right-click on your desktop -> Appearance Settings -> Desktop Theme -> Theme -> select Nitro.
Changes will take place when you log on next time.

Autostart a program at bootup

Any program (or script) can be made to Autostart at bootup by creating a symbolic link to that program (or script) in the ~/.kde/Autostart folder.

For example, to start Firefox at bootup, create a symbolic link:

sudo ln -s /usr/bin/firefox ~/.kde/Autostart

Run a script from a menu item

It is possible to place a short script in a menu item / shortcut to answer an interactive query (such as a password query). Here is an example that is used to enter a password during an SSH negotiation. First, install the utility expect:

sudo apt-get install expect

The use a command in the Menu Item / Shortcut similar to:

expect -c 'spawn ssh -l sshuser -L 5900:127.0.0.1:5900 remoteserver.remotedomain.org -p 22 ; expect assword ; send "sshpassword\n" ; interact'

In this example the password sshpassword is returned when the ssh program requires a password. Expect waits for some text to be displayed in the command-line terminal then returns text in return. The Menu Item must be "Run in terminal", therefore.

KDialog (User interface for scripts)

KDialog allows user input to scripts. This allows the automation of tasks with the option of user input during those scripts.

Run Command

You can run any application in your path using the Run Command. Right-click on the Plasma Icon in the upper right of your desktop to find the command. You can also use Alt+F2.

Restore the Task Manager bar

It is easy to remove the Task Manager bar accidentally and find yourself with an empty desktop. Here's how to restore it to its default state at installation:

  • If you have accidentally erased your Task Manager bar completely, add it again from the Plasma icon in the upper right corner of your desktop. You can drag your Task Manager bar anywhere you want using the "handle" on the edge of the bar (which pops up unless you have the widgets locked).
  • Right-click on the Task Manager bar -> Panel Settings to configure it. You will notice a configuration bar that will pop up. While this is displayed you can drag things around the Task Manger bar how you like them. You can also change the dimensions of the Task manager bar using the arrows, and can choose the centering options for the Task Manager bar.
  • You can also (re-)add widgets to the Task Manager bar using the Add Widget option on this configuration bar as well. (Note: This is different from the Add widgets option found in the Plasma icon in the upper right corner of your desktop, which adds widgets to your desktop, not to the task manager bar).
  • The original default task manager bar at installation included the "Applications Launcher (traditional menu based)" widget, the "Digital Clock" widget, the "Pager" widget, the "System Tray" widget, and the "Trashcan" widget. Add whichever ones you have accidentally removed, then drag them around the Task Manager bar into desired positions.
  • Close the configuration bar when you are done by clicking on the red X.

Manually edit K Menu configuration

While you can right-click on the K menu icon and edit the menu that way, you can also manually edit the configuration file:

sudo kate ~/.config/menus/applications-kmenuedit.menu

Restore Konqueror as Default File Manager

  • K-menu -> Run (or use the "Run command..." option from the Plasma Icon in the upper right corner of your desktop).
  • Open KDE components -> File Associations -> inode
  • Choose directory. In the right part of the window, change the application preference order so that Konqueror would be the first app in the list.
  • Do the same with system_directory.

Remove Konqueror temporary thumbnail files

When browsing files locally, Konqueror builds up thumbnails of the images viewed. To remove these thumbnails, from the command line terminal Konsole:

cd ~/.thumbnails/normal
rm -rf *.png
cd ~/.thumbnails/large
rm -rf *.png
Note: You can substitute /home/user for ~, if you choose, where user is your username.

Screen snapshot

K menu -> Graphics -> Ksnapshot Screen Capture Program

Turn off Hot Keys

This is the most evil option on any operating system, in my opinion. A mis-stroke enables any number of random events. Unfortunately, this problem is pervasive in operating systems and is difficult to turn off.

K menu -> System -> System Settings -> Advanced -> Input Actions -> General Settings -> check "Disable KHotKeys daemon"
K menu -> System -> System Settings -> Advanced -> Input Actions -> Gestures Settings -> check "Disable mouse gestures globally"

Alternatively:

K menu -> System -> System Settings -> Advanced -> Service Manager -> Startup Services -> KHotKeys: (unticked)

If you wish to be selective about it (this doesn't often work, however), start by disabling unnecessary desktop hotkeys.

K menu -> System -> System Settings -> Keyboard & Mouse -> Keyboard Shortcuts

Also, you may want to deactivate linking gestures to sticky and slow keys:

K menu -> System -> System Settings -> Accessibility -> Activation Gestures -> uncheck "Use gestures for activating sticky keys and slow keys"

Note: You probably will have to disable hotkeys in many applications, as well.

Hotkeys from the Synaptics Touchpad can be selectively turned off using this information from the Ubuntu documentation.

Activate Suspend or Hibernate

Right-click on the Guidance Power Manager icon in the toolbar (looks like a battery icon).

Associate default applications

K menu -> System -> System Settings -> Advanced -> File Associations -> x-content -> video-dvd -> Applications Preference order -> Add...
then choose your favourite media player. There are similar options for Blu-Ray (video-bluray) and HD DVD (video-hddvd). Set each individually.
  • To assign the default player for playing mpegs (or other video formats):
K menu -> System -> System Settings -> Advanced -> File Associations -> video -> mpeg -> Applications Preference order -> Add...
then choose your favourite media player. You can do this for a host of video file formats, including .wmv (x-ms-wmv, or Microsoft WMV format), .flv (x-flv, or Flash video), quicktime, and so on.
  • To assign .pls audio streams to play through Audacious:
K Menu -> System -> System Settings -> Advanced -> File Associations -> audio -> x-scpls -> Applications Preference order -> Move Audacious to the top (or Add... it).
Make sure *.pls appears in the Filename Patterns section.

Associate files using Dolphin file manager

  • You can also associate files using the Dolphin file manager:
Right-click on a file -> Open with ... -> Known Applications ->
choose the application to associate with the file
-> Click: "Remember application association for this type of file"
Example:
From Dolphin, right-click on musicfile.mp3 -> Open with... -> Known Applications ->
choose Audacious
-> Click: "Remember application association for this type of file"
Now all .mp3 files will be associated with Audacious.

Use Windows-appearing fonts

Users who switch to Kubuntu from Windows may notice subtle differences between the default fonts in Kubuntu and those in Windows. The Microsoft Core Fonts can be installed as part of the kubuntu-restricted-extras package, or separately:

sudo apt-get install msttcorefonts

Most default fonts in Windows are Times New Roman. You can select the Times New Roman fonts in applications like Firefox to make them appear like Windows. However, the Deja Vu font in Kubuntu mimics the Times New Roman font closely, and has been found to be desirable for most users.

Deactivate KWallet

KWallet stores all your passwords in one place. Some users don't want to be prompted for passwords for everything, and don't even want to remember a single password for KWallet (and do not wish to be asked for passwords at all). If you don't want to have a password for KWallet, then just leave it blank the first time you are prompted. Then always choose "Always Allow" when a program asks if it should allow passwords to be stored by KWallet. Then you will never be prompted for a password. This method defeats the purpose of a secure password storage system, but it isn't less secure than what most users of other operating systems have to live with.

Run Kubuntu LiveCD from a USB pendrive

The Kubuntu LiveCD can be installed on and run from a USB pendrive. Settings can be "persistently" saved (but the LiveCD kernel modules can not be upgraded). Programs can be installed and run, however, and files saved to the USB drive. (The installed programs will remain installed). See these Pendrivelinux instructions. A Kubuntu Live CD is needed to do the install.

The USB "LiveCD" can also be used to install Kubuntu on computers (including netbooks) that do not have CD-ROM/DVD drives.

USB pendrives to be used to run Kubuntu should have a minimum of 2 Gb (preferably 4 Gb). If you wish to install a fast, fully functional Linux system on a pendrive that has less memory than that, use PuppyLinux.

Create a boot CD to allow booting from the USB drive

Many computers do not allow booting from a USB drive (but they do allow booting from the CD-ROM). You can create a CD-ROM using these Pendrivelinux instructions and set your BIOS to boot from this CD-ROM. When you boot from this CD-ROM, it will use the bootup files on the Kubuntu USB drive you previously created (in the step above).

USB Creator

You can make a "LiveCD" on a USB pendrive using USB Creator and either a LiveCD or an .iso version of the LiveCD stored on your hard drive. See these instructions. Install:

sudo apt-get install usb-creator

Run a Gnome desktop from Kubuntu

It is possible to install the GTK-based Gnome desktop (the default in Ubuntu) in Kubuntu.

apt-get install ubuntu-desktop

There is a risk of software bloat and some incompatibilities between modules when doing this. At login, you can choose (as an option) whether to start the KDE (Kubuntu) desktop or the Gnome (Ubuntu) desktop. Nevertheless, when there are two modules trying to perform the same function (one from each desktop), it is possible to have conflicts.

Random password generator

  • Pwgen is a command line utility to generate a block of random passwords. Run it from Konsole (in Kubuntu) or Terminal (in Ubuntu). Install:
sudo apt-get install pwgen
  • Run pwgen:
pwgen
  • UUIDgen is a default utility to generate a random UUID. Run:
uuidgen

The random UUID can also be used as a password, if desired.

Software Troubleshooting

Amarok Troubleshooting

Amarok permissions error on Amarok startup

If you get a permissions error when launching Amarok, try the following:

sudo chown -R user /home/user 
Note: Replace user with the actual username. This command changes the owner of the folder /home/user to user. -R means "recursively", i.e. including all subfolders.

K3B Troubleshooting

Cdrecord has no permission to open the device error

If you receive the "cdrecord has no permission to open the device" error while burning using K3B, open a terminal and type:

 sudo chmod 777 /dev/scd0
Note: replace "/dev/scd0" with your own device.
Note: chmod 777 is the universal option for granting full permission to a folder. The 777 mask indicates that read, write, and execute permission is given to all users.

Licenses

Linux is largely a community of volunteers and as such represents one of the largest altruistic efforts on earth. This includes companies who decide to contribute their own software into the public domain for free use. The continued success of sharing depends on licenses that keep software free and usable for anyone who wants to use it. However, there must be a method for Linux users and developers to make money, as well. Licensing helps protect each of these efforts. See the Wikipedia Free Software Licensing article and the GNU operating system licensing page for more complete information.

  • Kubuntu Derivatives do not need a license, according to its developer. See this blog article.

GPL license

The GPLv3 license (and the Affero GPLv3 license for network-based software) intends that the software module or package is free to use in any environment, and furthermore, any software that relies on that GPLv3-licensed module must in turn also be completely free. Commercial and proprietary software packages can't use or incorporate GPLv3-licensed modules.

LGPL license

The Lesser GPL license intends that the software module or package is free to use in any environment, including in commercial and proprietary software packages. This allows companies to develop proprietary packages which includes LGPL-licensed modules, from which they can make a profit. The disadvantage is that their products (which benefit from the LGPL-licensed modules) are not required to be in the public domain in turn. (Many companies often later donate their entire package into the public domain, however, after they no longer make a profit from them.)

ODbL license

The ODbL (Open Database License) is a "share alike" open license intended for databases.

Apache license

The Apache license has been around a long time. It is compatible with the GPLv3 license, but, unlike the GPLv3 license, it does not require modified software to retain the Apache license. In other words, Apache-licensed software can be modified and the modified software then made proprietary (and therefore not returned to the open source community).

BSD license

The BSD license is similar to a public domain license. There are currently many confusing iterations of the BSD license, however, mostly regarding attribution notices and advertising that is required to be provided along with any software derivatives. The BSD license allows the option of propagation of either (otherwise-licensed) free open source restrictions or proprietary restrictions. It therefore allows a mix of (otherwise-licensed) proprietary modules and open sourced-licensed modules to co-exist in the same package. This flexibility has made the BSD license popular with complex distributions (such as the (BSD Unix-based) Mac OS X operating system, for example).

Creative Commons licenses

Espoused by many large public-domain projects, there are a variety of Creative Commons copyright licenses for different scenarios. Many variations impose "non-free" limitations and versions prior to version 3 were denounced by several large open-source projects; particular variations of this license must be examined closely.

Proprietary licenses

There is a vast array of proprietary licenses, all different. You never know what your limitations for software are unless you read every word. Most are attempts by lawyers to have an opportunity to create a lawsuit in the future. Some may be called "free" licenses but have many limitations which you will not be aware of until you are in the middle of a lawsuit. No license outside of the GPLv3 license is recommended. Be careful when committing your organization to a mission-critical software package with a proprietary license. Also see this outstanding article on the Open Source Enterprise Trap.

Requests

If you have Kubuntu requests that you would like to be part of this guide, put them here.

  • Where do I get the plasmoid that shows the Little Dog Doing Backflips? I understand that this widget is only available for Kubuntu Jaunty Jackalope...
"No, that is a cross between a plasmoid and a widget, called a phidget. Phidgets seem to move around the desktop far too quickly." --perspectoff
  • I want to use the miniature version of a widget. Is that available?
"Yes, the mini widget is called a midget." --perspectoff
Personal tools
Sponsor