Which additional software can I install in Tails?

Tails includes a limited set of applications but you can install more software.

This software is distributed in packages that are made available from the Debian repositories, which are similar to an app store.

To know which packages are available in Debian:

  • Browse locally with the Synaptic Package Manager:

    1. When starting Tails, set up an administration password.

    2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

    3. Wait until Synaptic finishes downloading new package information from the Debian servers.

    4. You can:

      • Browse the packages by sections from the left sidebar.

      • Search on titles and descriptions of packages with the Search button.

  • Search the Internet for alternatives to other software.

    For example: "debian alternatives to photoshop".

  • Ask a friend who is knowledgeable about Linux.

  • Search the Debian website.

Be careful about what you install

The packages included in Tails are carefully tested for security. Installing additional packages might break the security built in Tails. For example, installing OpenVPN might modify the firewall rules that Tails uses to force network traffic to go through Tor. So, be careful with what you install.

If you are unsure:

  • Packages that use the network need to be configured to go through Tor. They are otherwise blocked from accessing the network.

  • Some software might, for example, modify the firewall and break the security built in Tails. But other software like games or office tools are probably fine.

  • Software not officially included in Tails might have not been tested for security. We also cannot provide support or documentation for it.

  • Only applications that are packaged for Debian can be installed and they are under public scrutiny.

Examples of additional useful software

  • VLC, a multimedia player with advanced features.

  • Pitivi, a video editor.

  • Scribus, a page layout application.

  • Cheese, an application to take pictures and videos from your webcam.

  • Mumble, a voice chat application.

  • Calibre, an EPUB reader and library manager.

  • GtkHash, a utility to calculate the checksum of files.

Language packages and dictionaries

Replace lang with the code for your language. For example, vi for Vietnamese.

Tails already includes language packages and dictionaries for Arabic, German, Spanish, Farsi, French, Hindi, Bahasa Indonesia, Italian, Portuguese, Russian, Turkish, and Simplified Chinese.

Installing additional software

To install a package using Synaptic:

  1. When starting Tails, set up an administration password.

  2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

  3. Click Search and search for the name of the package.

  4. Right-click (on Mac, click with two fingers) on the name of the package in the search results and choose Mark for Installation.

  5. Synaptic calculates the additional changes for your package to work. Click Mark to confirm those changes.

  6. Click Apply to download, install, and configure the package.

If you are comfortable with the command line, you can use apt instead.

Installing additional software automatically when starting Tails

To install an additional package automatically when starting Tails:

  1. Turn on the Additional Software feature of the Persistent Storage.

  2. Install the package using Synaptic or the apt command.

  3. After the package is installed, a notification appears to ask if you want to install this package every time you start Tails in the future.

    • If you choose Install Every Time, the package is saved in the Persistent Storage and will be reinstalled automatically every time you start Tails.

      The package will also be updated automatically when you connect to the Internet.

    • If you choose Install Only Once, the package is also saved in the Persistent Storage but won't be reinstalled automatically every time you start Tails.

The same package can be reinstalled faster for some time because you won't have to download it again.

Using additional software

Once installed, applications that don't use the network usually work out of the box. However, Tails has some differences in terms of additional configuration and network access.

Additional configuration

To save the configuration of additional software across different Tails sessions, you can use the Dotfiles feature of the Persistent Storage.

Each application handles its configuration very differently, so we cannot give general instructions on which files have to be saved using the Dotfiles features.

Network access

Tails only allows connections to the Tor network. Additional software that uses the Internet must be configured to go through the Tor network otherwise, their connections are blocked by default for security.

To make an application use the Tor network, you can either:

A. Configure the application to use Tor as a proxy with the following parameters:

  • Type: SOCKS5
  • Host: 127.0.0.1
  • Port: 9050

For example, to use Mumble in Tails, you can configure Tor as proxy in the network configuration of Mumble:

Network configuration of Mumble with proxy settings

B. Run the application using torsocks on the command line.

Execute the following command in a Terminal. Replace application with the command line of the application that you want to run:

torsocks application

For example, to use Mumble in Tails, you can also execute the following command:

torsocks mumble

Technical networking considerations

  • Only TCP connections can go through the Tor network.

  • UDP connections, for example in many VoIP applications, and ICMP connections, for example in the ping utility, cannot go through the Tor network and are blocked in Tails.

  • DNS requests go through the Tor network if the application uses the system configuration otherwise, DNS requests will fail to resolve.

  • IPv6 connections are blocked in Tails.

  • The default Tor port in Tails (9050) forces the use of different Tor circuits for each different destination IP and port, also called "stream isolation".

Checking your list of additional software

To see which packages are installed automatically every time you start Tails, choose Applications ▸ System Tools ▸ Additional Software.

Click the button to remove a package from the list.

The same list is also available from the Persistent Storage settings, by clicking on the button of the Additional Software feature.

Removing additional software

When you installed the package, if you chose:

  • Install Only Once, you can remove it by restarting Tails.

  • Install Every Time, you can remove it:

    • Using Additional Software:

      1. Choose Applications ▸ System Tools ▸ Additional Software.

      2. Click the to the right of the name of the package.

    • Using Synaptic:

      1. When starting Tails, set up an administration password.

      2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

      3. Click Search and search for the name of the package.

      4. Right-click (on Mac, click with two fingers) on the name of the package in the search results and choose Mark for Removal.

      5. Click Apply to remove the package.

    • From the command line using apt.

    After the package is removed, a notification appears to ask if you want to remove this package from your list of additional software.

Freeing space in your Persistent Storage

After you installed many packages that you are not using anymore, you can free some space in your Persistent Storage:

  1. When starting Tails, set up an administration password.

  2. Choose Applications ▸ System Tools ▸ Root Terminal to open a Root Terminal.

  3. Execute the following command:

    apt clean

Configuring additional APT repositories (for advanced users)

The packages available in Debian are submitted to public scrutiny.

Configuring additional APT repositories might break the security built in Tails and might install software that has not even been approved by Debian. Be even more careful with what you install.

This step is usually not needed to install additional software and might be necessary only in very rare occasions.

Sometimes, you might need to configure additional APT repositories. For example, to install packages from the non-free section of Debian. To do so:

  1. When starting Tails, set up an administration password.

  2. Create an apt-sources.list.d folder in your Persistent Storage:

    sudo install -d -m 755 /live/persistence/TailsData_unlocked/apt-sources.list.d

  3. As root, edit /live/persistence/TailsData_unlocked/persistence.conf, the configuration of the Persistent Storage, and add the apt-sources.list.d folder as a feature of type link:

    /etc/apt/sources.list.d  source=apt-sources.list.d,link
    
  4. Write your additional sources.list files in the apt-sources.list.d folder.

    For example, to add the non-free sections of Debian 11 (Bullseye), backports, and security updates, you can create a file named /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list with the following content:

    deb tor+http://ftp.us.debian.org/debian/ bullseye non-free
    deb tor+http://ftp.us.debian.org/debian/ bullseye-backports non-free
    deb tor+http://security.debian.org/ bullseye/updates non-free
    

    File names must end with .list and must only contain the following characters: letters, digits, underscore, hyphen, and period.

  5. Correct the ownership and permissions of your additional sources.list files to be owned by root and only readable by others. For example:

    chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list
    chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list
    
  6. Restart Tails to apply the changes.