A graphical guide for all new users with a Windows background using Ubuntu Revision 4
Having problems installing something on your new Ubuntu operating system? "Where's the EXE?", "Where do I need to extract this to?", "How do I run it?", "Where did it go?" - have you been thinking questions like these? Don't worry, installing software, themes and other things on Ubuntu is actually very easy! This guide will help you understand with screenshots, instructional videos and to-the-point language.
Translations: Português (Portuguese), Magyar (Hungarian) Coming Soon!
Note: The guide was written for Ubuntu 6.06 - The Dapper Drake using the tools of the Gnome desktop environment as its base. The program names and paths will undoubtedly vary if you're using Kubuntu or Xubuntu.
Linux applications are almost all open source  and they're, unlike typical Windows programs, highly dependant on external libraries to work. You don't have to understand what libraries are, but just that Windows programs typically include parts of libraries in their installers, taking up lots of space after they've been installed because the same libraries have duplicates many places on your harddisk; Linux programs usually don't do this.
Most Linux operating systems have evolved a system where you can download the program, along with any needed dependencies, without having duplicates scattered all over your harddisk saving you lots of space. At the same time, this system allows you to have a central location from which to install and update packages. This system is called the package manager and on Ubuntu you'll meet it in the form of apt-get, aptitude, Add/Remove..., Update Manager and Synaptic. All these programs are frontends to the same package manager built right into Ubuntu.
Synaptic is a graphical program for installing packages and probably the one you'll feel the most comfortable with. You can launch it from System → Administration → Synaptic Package Manager (paths will vary depending on your locale, the System menu is the third menu on the menubar at the very top of your screen); as a safety precaution it will ask you for your password before proceeding! It's not because it's dangerous, Ubuntu is just very strict with trying to keep you, and more importantly, non-administrator users, from messing up your system.
See a screencast of the 3-step install process
Trust me, it probably is. If it isn't, here are some of the reasons why it's not and how to fix it:
Usually your Applications menu is updated with a launcher to your new program, but sometimes this doesn't happen automatically. Here are some ways to find a link to your new program:
muineending with a press on the return/enter key. Muine fires up. Note that the application will close when you close the terminal window! To avoid this behavior, press Alt + F2 and the Run Application window will show up; Type in
muineto start it. Sometimes the command isn't called exactly the same as the package; try typing the beginning letters and then press tab twice. This will either give you the name of the command or a list of names to choose from.
When you want to remove a program, you do exactly the same as when installing - just select Mark for Removal instead of Mark for Installation in step 2. If you want to remove configuration files as well (maybe you want some weird modifications undone) select Mark for Complete Removal. Remember to apply the changes!
Very often, you'll see other Ubuntu users saying "You can install program ABC with this code ..." and then they'll provide you with a command you can input in the terminal. This not unlike what Synaptic does. In fact, Synaptic uses these commands below the friendly user interface! You can find the terminal at Applications → Accessories → Terminal. The two commands that you can use are:
sudo apt-get install ABC and
sudo aptitude install ABC
ABC is just a fictious package in this case, not a real one. The
part of the command means you temporarily grant
super-user/administrator rights to the command, provided you supply a
correct user password. It's the same thing that happens when you open
up Synaptic, only in the terminal instead! If you run aptitude by
itself like this
sudo aptitude, you get something that looks like a command-line version of Synaptic.
It's also possible to search from the command-line like it is in Synaptic. Try this:
apt-cache search ABC or
aptitude search ABC
To uninstall a package:
sudo apt-get remove ABC and
sudo aptitude remove ABC
Removing configuration files as well:
sudo apt-get remove --purge ABC and
sudo aptitude purge ABC
Though the command-line can be scary for new users, as you can see it's fairly simple and straight-forward to use and has many of the same features as Synaptic when it comes to installing software. Some users prefer installing software through the terminal, others don't. You decide for yourself what you like best.
See a screencast of the terminal search & install process
Are you absolutely sure you can't find the package in Synaptic? Did you try enabling extra repositories? If you've tried all this with little or no success, here's how you do it the Windows-style way. Download a package (.deb, .rpm, .tar.gz, .package, klik:// → .cmg, .sh, .bin, .exe) and let's have a look.
dpkgwhich is what the package manager uses to manipulate Debian packages (or short: debs). The syntax is as follows: if your package is located on your desktop and your username is carl, then you install the package test.deb with
dpkg -i /home/carl/Desktop/test.deb. You need to take care of dependencies yourself, so it's not the optimal way of installing software.
sudo alien -i /home/carl/Desktop/test.rpm.
See a screencast of package contents being extractedTo proceed you must have the compiler tools installed. They all come with the package build-essential, available in Synaptic. When you're sure you have the compiler tools installed, you fire up the terminal and change directory to the one you've just extracted (if you're not sure how to do that see: Navigating the terminal.
./configure. The purpose of the configure script is usually to check for dependencies and then create the makefile. If the script fails for some reason and tells you to install certain packages, look up the names in Synaptic (Important! If you find packages in Synaptic named almost the same but with a -dev extension, remember to install those as well! They're development packages and are needed for compiling). Don't worry if it complains that there is no configure script - many packages don't come with one! Then you compile it with
makeand after it's been compiled you can install it. There are two ways:
sudo make install. To remove the temporary files you run
make clean. To uninstall the program you run
sudo make uninstall. These two clean-up commands don't always work, though, the programmer needs to have enabled them.
sudo checkinstall. This will take slightly longer than a normal install and quite possibly you'll have to supply a description of the application yourself (and edit the other information slightly). If the need arises, this will be easy to take care of from inside the checkinstall program.
See a screencast of a package being installed from source
/home/carl/Desktop/test.package. The installer will ask you some questions, likely what your password is.
wget klik.atekon.de/client/install -O -|shwhich downloads and installs the Klik client. Klik completely bypasses both your package manager and your file-system; everything you need to run the program is included in a .cmg-file located on your desktop after the installation is done. You simply double-click the file to start your application. To remove it again, simply delete the .cmg-file
sh. If the script is called test.sh and is on the desktop of user carl, you can install it with
sh /home/carl/Desktop/test.sh. Keep in mind that the script might not have permission to execute in your file-system.
/home/carl/Desktop/test.bin. Keep in mind that the installer might not have permission to execute in your file-system.
wine PATHin the terminal where PATH is the path to your EXE. If the user carl has an EXE called test.exe inside his home folder, he'll run the command
wine /home/carl/test.exeto execute it. Be adviced that running Windows programs in WINE is often very buggy and probably won't work to your satisfaction; very often it doesn't work at all!
The following isn't directly connected to installing software and themes.
On a standard Ubuntu installation, Ubuntu is configured to use the main repository. There are however, other official repositories (or sections on the Ubuntu server) that aren't available right away. There is one called Universe which is the largest one. It's a pool of community-maintained software, but it is not officially supported by Ubuntu. There is also a section called Multiverse which has software under questionable licences. The third section is called Restricted and is a very small pool of software with restricted copyright.
To enable the rest of the Ubuntu repositories you open Synaptic and select an option in its menubar: Settings → Repositories. Here is a list of the current repositories. To enable the missing section select each of the packages that are labeled binary, click on Edit and tick the boxes outside the sections of the Ubuntu repositories you want to enable.
See a screencast showing how to enable the extra repositories
When you're done, Synaptic will probably ask you to reload your list of packages; agree to do that. Now your list of available packages should have increased significantly.
The best way to install new software in Ubuntu is to be connected to the Internet, but sometimes this is not possible. When you install Ubuntu the first time, your install CD should have been added as a repository. If it isn't, you can add it from the same window you enable extra repositories from. There's a button labeled Add CDrom; press this, insert your install CD and it will be added to the repositories.
You can now install software through Synaptic without being connected to the Internet, provided the install CD is inserted. Note that the install CD has software solely from the main repository, not Universe, Multiverse or Restricted! You now can download the entire Universe and Multiverse repositories on a set of DVD's and CD's courtesy of a volunteer effort. There is an ongoing project to create an Addon CD or DVD with select packages from the other sections of the Ubuntu repositories. You can download a preliminary CD ISO file for Ubuntu 5.10 'Breezy Badger' and try it out if you want to, but this guide will not go further into the subject.
The standard terminal on Ubuntu is Gnome Terminal which can be found in Applications → Accessories → Terminal.
A terminal is in a way very similar to a file manager in that it's
always inside a specific folder and is able to navigate to other
folders and do regular file management. By default it will be inside
your home folder when you run it. To confirm that your terminal is indeed browsing your home folder, type
pwd ending with a press on enter. The pwd command will output the path to the current folder.
To see a list of files and directories inside the current directory, run the command
ls. If you want to navigate up the directory tree run
cd ... If you want to navigate down the directory tree run
cd NAME where NAME is the name of the folder you want to navigate to. Example: if Tom is inside his home folder and there's a directory called test inside it, he will run
cd test to change directory. If he wants to go back he can run
cd ... I he ever gets lost he can run
cd by itself; this will take him back to his home folder.
These are well-known from Windows. Launchers are shortcuts to your application allowing you to easily run it. To add a launcher, right-click somewhere on your desktop and select Create Launcher.... This will open a dialog from which you can enter information about the launcher. Remember to enter a name as well as a path to the executable. This is what carl would enter if he wanted a launcher for the executable named test located in his home folder:
See a screencast showing how to create a launcher
To change permissions so that the file is executable, you right-click on the file on the desktop and select Properties; a window will open. Click on the tab labeled Permissions inside the window. There will be some boxes you can tick which tell the system what you're allowed to do with the file. Tick the box that says Execute outside the label that says Owner.
You can also run the command
chmod +x /home/carl/Desktop/test.bin to make the file executable.
See a screencast showing a file being made executable
The easiest way to help a new user install something is to provide a command that will accomplish it. That is not in my opinion the best way to make a new user understand how Ubuntu works. It's also sad how you can leave the impression that Ubuntu needs to be used through a command-line for the simplest of tasks, when capable graphical tools exist for the same purposes. I hope this guide will help new users understand everything a little bit better. As they say in China: "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime."
Created by Simon Gray © 2006