Table of Contents
- 0.1 General concepts
- 0.2 What are repositories?
- 0.3 How to add / remove programs on my distro?
- 0.4 Using a graphical interface for the package manager
- 0.5 Using the terminal
- 0.6 Are there other ways to install programs in Linux?
- 0.7 Where to get good software
- 0.8 Previous clarifications before viewing the suggested programs.
- 1 Accessories
- 2 Office Suites
- 3 Safety
- 4 Program
- 5 Internet
- 6 Multimedia
- 7 Science and research
- 8 Miscellaneous Utilities
General concepts
As explained in more detail in section Distributions, each Linux distribution comes with different programs installed by default. An important part of them even come with an advanced office suite and powerful audio, video and image editing programs. These are two important differences with respect to Windows: a) not all distros come with the same programs, b) many distros come with very complete programs already installed, so you do not have to get them separately.
The way you install programs can also vary between distributions. However, they all share a common idea, which differentiates them from Windows: the programs are downloaded from the official repositories of your distro.
What are repositories?
A repository is a site - more specifically, a server - where all the packages available for your distro are stored. This system has SEVERAL and advantages compared to the one used by Windows, in which one buys or downloads the installers of the programs from the Internet.
1) Increased levels of security throughout: Since all packages are located on a central server and a very considerable percentage of open source programs are covered (that is, anyone can see what they do), it is much easier to control whether or not they contain "malicious code" and In the worst case, control an "infestation" (it would be enough to remove the package from the repositories).
This also prevents the user from having to navigate through unreliable pages in search of their favorite programs.
2) More and better updates: this system allows you to keep ALL your operating system updated. Updates are no longer handled by each of the programs, with the consequent waste of resources, bandwidth, etc. Also, if we take into account that in Linux EVERYTHING is a program (from window management to desktop programs, through the kernel itself), this is an appropriate method to keep even the most minute and hidden programs that your user uses up to date. system.
3) Only the administrator can install programs: all distros come with this restriction. For this reason, when trying to install or uninstall programs, the system will ask you for the administrator password. Although this is also the case in new versions of Windows, many users accustomed to WinXP may find this configuration somewhat irritating (although, I assure you, it is essential to obtain a minimum of security on the system).
How to add / remove programs on my distro?
We have already seen that this must be done, fundamentally, through the repositories. But how? Well, each distro has a corresponding package manager, which allows you to manage the programs. The most common in "newbie" distros, generally based on Debian or Ubuntu, is APT, whose most popular graphical interface is Synaptic. However, you need to know that each distro chooses its package manager (in Fedora and derivatives, RPM; on Arch Linux and derivatives, Pacman) and of course you also choose your preferred GUI (if it comes with one).
Click here to read a post on all program installation methods or read on to read a short summary.
Using a graphical interface for the package manager
As we saw, the most common way to install, uninstall, or reinstall packages is through your package manager. All graphical interfaces have a fairly similar design.
As an example, let's see how to use the Synaptic package manager (which came in older versions of Ubuntu and is now superseded by the Ubuntu Software Center).
First of all, it is always a good idea to update the database of available programs. This is done using the button Recharge. Once the update finishes, enter your search term. Lots of packages will probably be listed. Click on the ones that interest you to see more details. In case you want to install a package, do right click and select the option Mark to install. Once you have selected all the packages you want to install, click the button Apply. To uninstall packages the procedure is the same, only you must select the option Mark to uninstall (uninstall, leaving the program configuration files) or Check to uninstall completely (delete all).
Using the terminal
One thing you are going to learn with Linux is that you have to lose your fear of the terminal. It is not something reserved for hackers. On the contrary, once you get used to it, you will have a powerful ally.
As when running the graphical interface, it is necessary to have administrator privileges to install or remove programs. From the terminal, this is usually accomplished by starting our command statement with sudo. In the case of apt, this is achieved like this:
sudo apt-get update // update the database sudo apt-get install package // install a package sudo apt-get remove package // uninstall a package sudo apt-get purge package // completely uninstall the apt-cache search package package // search for a package
The syntax will vary in case your distro uses another package manager (rpm, pacman, etc.). However, the idea is essentially the same. To see a complete list of commands and their equivalents in the different package managers, I recommend reading the Pacman rosetta.
Regardless of the package manager you use, when installing a package it is very likely that it will ask you to install other packages, called dependencies. These packages are essential for the program you want to install to work. At the time of uninstallation you are likely to wonder why it did not ask you to uninstall the dependencies as well. That will depend on the way the package manager does things. Other package managers do this automatically, but APT requires doing it manually by executing the following command to clear unused installed dependencies by any application currently installed on your system.
sudo apt-get autoremove
Are there other ways to install programs in Linux?
1. Private repositories: The most common way to install programs is through the official repositories. However, it is also possible to install "personal" or "private" repositories. This allows, among other things, that the developers of the programs can offer their users the latest versions of their programs without having to wait for the developers of your distro to assemble the packages and upload them to the official repositories.
This method, however, has its security risks. Obviously, you should only add "private" repositories from those sites or developers you trust.
In Ubuntu and derivatives it is very easy to add these repositories. Simply search for the repository in question at Launchpad and then I opened a terminal and wrote:
sudo add-apt-repository ppa: repositoryname sudo apt-get update sudo apt-get install packagename
For a complete explanation, I suggest you read this article about how to add PPA (Personal Package Archives - Personal Package Archives) in Ubuntu.
It is worth clarifying that other distros, not based on Ubuntu, do not use PPAs but allow adding private repositories through other methods. For example, on Arch Linux based distros, which use pacman as package manager, it is possible to add AUR (Arch Users Repository) repositories, very similar to PPAs.
2. Loose packages: Another way to install a program is by downloading the correct package for your distribution. To do this, all you have to know is that each distro uses a packet format that is not necessarily the same. Debian and Ubuntu based distros use DEB packages, Fedora based distros use RPM packages, etc.
Once the package is downloaded, just double click on it. The package manager graphical interface will open asking if you want to install the program.
It should be noted that this is also not the safest way to install packages. However, it can be useful in some specific cases.
3. Compiling the source code- Sometimes you find applications that do not provide installation packages, and you have to compile from source code. To do this, the first thing we must do in Ubuntu is install a meta-package called build-essential, using one of the methods explained in this article.
In general, the steps to follow to compile an application are the following:
1.- Download the source code.
2.- Unzip the code, usually packed with tar and compressed under gzip (* .tar.gz) or bzip2 (* .tar.bz2).
3.- Enter the folder created by unzipping the code.
4.- Execute the configure script (it is used to check the system characteristics that affect the compilation, configuring the compilation according to these values, and create the makefile file).
5.- Execute the make command, in charge of the compilation.
6.- Run command sudo make install, which installs the application on the system, or better yet, install the package checkinstall, and run sudo checkinstall. This application creates a .deb package so that it does not have to be compiled the next time, although it does not include the list of dependencies.
The use of checkinstall also has the advantage that the system will keep track of the programs installed in this way, also facilitating their uninstallation.
Here is a complete example of running this procedure:
tar xvzf sensors-applet-0.5.1.tar.gz cd sensors-applet-0.5.1 ./configure make sudo checkinstall
Other recommended reading articles:
- How to install applications on Linux.
- How to install applications from PPA.
- How to install applications from GetDeb.
Where to get good software
Let's start by clarifying that Windows applications -in principle- do not run on Linux. In the same way that they do not run on Mac OS X, for example.
In some cases, these are cross-platform applications, that is, with versions available for different operating systems. In that case, it would be enough to install the version for Linux and problem solved.
There is also another case in which the problem is less: when it comes to applications developed in Java. Indeed, Java allows the execution of applications regardless of the operating system. Again, the solution is very simple.
In the same vein, there are more and more alternatives "in the cloud" to desktop applications. Instead of looking for the clone of Outlook Express for Linux, you may want to use the web interface of Gmail, Hotmail, etc. In that case, there would be no Linux compatibility issues either.
But what happens when you need to run an application that is only available for Windows? In this case, there are 3 alternatives: leave Windows installed together with Linux (in what is called «dual-boot"), Install Windows" inside "Linux using a virtual machine o use Wine, a kind of "interpreter" that allows many Windows applications to be run within Linux as if they were native.
However, before falling into the temptation to carry out any of the 3 alternatives described above, I suggest previously ruling out the possibility that there is a free alternative to the program in question that runs natively under Linux.
Precisely, there are sites like LinuxAlt, freealts o Alternativeto in which it is possible to look for free alternatives to the programs you used in Windows.
Some time ago, we also made a listing, although it may not be 100% up to date.
In addition to the recommended links, below you will find the "crème de la crème" of free software, grouped by categories. However, it should be mentioned that the following list was created for guidance purposes only and does not represent a complete catalog of the excellent and increasingly numerous free software tools available.
Previous clarifications before viewing the suggested programs.
{} = Search for posts related to the program using the blog search engine.
{} = Go to the official page of the program.
{} = Install the program using the Ubuntu repositories installed on your machine.
Do you know a good program that is not on our list?
Send us a Email specifying the name of the program and, if possible, include additional information or, failing that, tell us where we can get it.
Accessories
Text editors
- Más populares
- Very programming oriented
- Console
- Multipurpose
docks
- Cairo Dock. {
} {
} {
}
- awn. {
} {
} {
}
- Docky. {
} {
} {
}
- wbar. {
} {
} {
}
- simpdock. {
} {
} {
}
- Gnome-do. {
} {
} {
}
- Kiba Dock. {
} {
}
Pitchers
File managers
- Dolphin. {
} {
} {
}
- EmelFM2. {
} {
} {
}
- GNOMECommander. {
} {
} {
}
- Konqueror. {
} {
} {
}
- Krusader. {
} {
} {
}
- Midnight commander. {
} {
} {
}
- Nautilus. {
} {
} {
}
- PC Man File Manager. {
} {
} {
}
- Thunar. {
} {
} {
}
Office Suites
- OpenOffice. {
} {
} {
}
- LibreOffice. {
} {
}
- Star Office. {
} {
}
- K Office. {
} {
} {
}
- Gnome Office. {
} {
} {
}
Safety
- The 11 best hacking and security apps.
- Autoscan Network, to detect intruders on your wifi. {
} {
}
- Prey, to find your laptop if it is stolen. {
} {
}
- Tiger, to perform security audits and detect intruders. {
} {
} {
}
- KeepassX, to store all your passwords. {
} {
} {
}
- clamtk, antivirus. {
} {
} {
}
Program
IDEs
- anjuta. {
} {
} {
}
- Eclipse. {
} {
} {
}
- QtCreator. {
} {
} {
}
- Netbeans. {
} {
} {
}
- Monkey Develop. {
} {
} {
}
- geany. {
} {
} {
}
- CodeLite. {
} {
} {
}
- Lazarus. {
} {
} {
}
Internet
Exploradores
- Firefox. {
} {
} {
}
- Epiphany. {
} {
} {
}
- Konqueror. {
} {
} {
}
- Chromium. {
} {
} {
}
- seamonkey. {
} {
} {
}
- Opera. {
} {
}
- Lynx. {
} {
}
- Gwibber. {
} {
} {
}
- Pine. {
} {
} {
}
- gTwitter. {
} {
} {
}
- choqok. {
} {
} {
}
- buzzbird. {
} {
} {
}
- Qwit. {
} {
} {
}
- Qwitik. {
} {
} {
}
- Twitter. {
} {
} {
}
- Twitter. {
} {
}
- yasst. {
} {
}
Instant Messaging
- The best instant messaging clients for Linux.
- Pidgin. {
} {
} {
}
- Kopete. {
} {
} {
}
- Psi. {
} {
} {
}
- Jabbim. {
} {
}
- Cheer up. {
} {
} {
}
- Empathy. {
} {
} {
}
- BitlBee. {
} {
} {
}
- Gyache Improved. {
} {
}
- emesene. {
} {
} {
}
- aMSN. {
} {
} {
}
- Mercury messenger. {
} {
}
- KMess. {
} {
} {
}
- minbeef. {
} {
} {
}
IRC
- Top 5 IRC Clients for Linux.
- Pidgin. {
} {
} {
}
- conversation. {
} {
} {
}
- xchat. {
} {
} {
}
- chatzilla. {
} {
} {
}
- irssi. {
} {
} {
}
- Chatter IRC. {
} {
} {
}
- smuxi. {
} {
} {
}
- KVirc. {
} {
} {
}
- ERC. {
} {
} {
}
- weechat. {
} {
} {
}
- ScrollZ. {
} {
} {
}
FTP
- fileZilla. {
} {
} {
}
- gFTP. {
} {
} {
}
- FireFTP. {
} {
}
- kftpgrabber. {
} {
} {
}
- NCFTP. {
} {
} {
}
- Free Open FTP Face. {
} {
} {
}
- LFTP. {
} {
} {
}
Torrents
- Top 9 Bittorrent Clients for Linux.
- Transmission, ultra thin and powerful client (although not as "complete"). {
} {
} {
}
- Deluge, perhaps the most complete Bittorrent client for GNOME. {
} {
} {
}
- Ktorrent, the equivalent of Deluge for KDE. {
} {
} {
}
- tornado, one of the most advanced clients. {
} {
} {
}
- QBittorrent, client based on Qt4. {
} {
} {
}
- torrent, ncurses client for the terminal. {
} {
} {
}
- air2, another good client for the terminal. {
} {
} {
}
- Vuze, powerful (but slow and "heavy") Java-based client. {
} {
} {
}
- torrentflux, client with web interface (manage your torrents from your internet browser). {
} {
} {
}
- Torrent Episode Downloader, to download the episodes of your favorite series automatically. {
} {
}
Multimedia
Audio
- Audio Players
- Audio Editing
- Sequencers
- Synthesizers
- Composition and musical notation
- Converters
- Others
Video
- All video players.
- Tools to record your desktop.
- Video Players
- VLC {
} {
} {
}
- GXine {
} {
} {
}
- Totem {
} {
} {
}
- Mplayer {
} {
} {
}
- SMPlayer {
} {
} {
}
- KMPlayer {
} {
} {
}
- UMPlayer {
} {
}
- Coffee {
} {
} {
}
- ogle {
} {
}
- Helix {
} {
}
- Real player, realaudio format player. {
} {
}
- Miro, platform for television and video on the internet. {
} {
} {
}
- Moovida Media Center, platform for TV and video on the internet. {
} {
} {
}
- gnash, play flash videos. {
} {
} {
}
- VLC {
- Video edition
- Converters
- Animation
- DVD Creation
- Webcam
- Desktop recording
Image, design and photography
- Viewers + adm. photo library + basic editing
- Advanced image creation and editing
- Editing vector images
- CAD
- Converters
- Scanning
- Others
Science and research
- Astronomy
- Biology
- Biophysics
- Chemistry
- Geology and Geography
- Physics
- Mathematics
- 10 reasons to use soft. free in scientific research.
Miscellaneous Utilities
- System administration
- File management
- Image burning and virtualization
- Brazier, to burn / extract images. {
} {
} {
}
- ISOMaster, to manipulate ISO files. {
} {
} {
}
- K3B, to burn CDs and DVDs. {
} {
} {
}
- GMountISO, to mount ISO files. {
} {
} {
}
- gISOMunt, to mount ISO files. {
} {
} {
}
- Furius the ISO mount, to mount ISO, IMG, BIN, MDF and NRG files. {
} {
} {
}
- AcetoneISO, to mount ISO and MDF files. {
} {
} {
}
- Brazier, to burn / extract images. {
- Others