How to start Tor Browser on Linux

I refer to INSTALLATION | Tor Project | Tor Browser Manual. According to the paragraph For GNU/Linux/ Graphical method, in file manager I right-clicked start-tor-browser.desktop and chose Properties and checked Executable as program. When I double-click it, it opens as text file. How do I start Tor Browser?


Which distro do you use? Is your “start-tor-browser.desktop” is reconized as an executable file?


It’s Fedora.

I don’t get what you mean by ‘reconized’? It seems, it’s not.

For me if the script is opened with the notepad, it means the OS doesn’t interpret it like a executable file. If you do a right-click on it, do you have the possibility to execute it?

IANALinuxExpert … but I do test multiple releases in linux VMs (test builds, alpha, stable, nightly … ) and the problem here is GNOME made changes in Nautilus

we need to update that tor doc, and/or find a better way for users to launch the app - meanwhile you can run it via the terminal, or what I do which is a bit messy, is I locate the exe and right click and run that as program (it opens a terminal in the background)

1 Like

I opened update docs and/or do something about launching app on GNOME/Nautilus (#42379) · Issues · The Tor Project / Applications / Tor Browser · GitLab

1 Like

When I right-click, there’s a Execute as Application option. When I pick that, a window pops up for half a sec. or so and disappears. Can’t see or read what’s in that window. Nothing more occurs. Tor Browser isn’t launched.

here’s what “works” for me in debian - find the executable in the Browser directory and right click that - mine says Run as a Program

apparently this a bad idea, but it’s the only thing that works for ME on my VM (and I’m just testing, not using)


Can someone post here if docs are updated and/or launching from GNOME file manager works again?

Please use the start-tor-browser executable rather than firefox.
firefox is lacking the preparation of the environment as we do it in start-tor-browser.
Maybe we should just unify the two scripts (the reason for having two is that it was needed for the updater in systems that ships an older libstdc++6 than the one we link against).

If start-tor-browser doesn’t work for you, could you please try to open a terminal in the .../Browser directory (you can open a terminal with right click, or open a normal terminal and then do cd "/home/..../Browser").
Once you are there, please use this command: ./start-tor-browser -v.
It will enable the verbose output, allowing us to understand if there’s something wrong with the script.

closed my issue as a duplicate - the original issue is start-tor-browser.desktop hack will soon stop working (#21939) · Issues · The Tor Project / Applications / tor-browser-build · GitLab

1 Like

When you write start-tor-browser executable (without .desktop), do you mean the start-tor-browser shell script in the directory Browser, the subdirectory of tor-browser where start-tor-browser.desktop is?

What do you mean with firefox? Do you mean I should rather use Tor Browser than firefox?

I normally don’t use the .desktop (I usually launch from the terminal…), but the .desktop is also supposed to work, if your system supports it.

Tor Browser is a Firefox fork.
You can customize the name of the binary, but we didn’t know it, and eventually also the main binary of Tor Browser is called firefox (firefox.real, actually). For Mullvad Browser, we knew this, and called the binary mullvadbrowser.

In particular, there are the following files in the Browser directory:

  • start-tor-browser: a shell script that does some environment customziation (rewrites $HOME, set a custom fontconfig configuration, etc…). This is one of the two script to use to start Tor Browser.
  • start-tor-browser.desktop: calls start-tor-browser, but it has a custom icon (if your file manager supports it - notably Nautilus doesn’t to avoid attacks from untrusted .desktop files). This is also a way to start Tor Browser, if your system supports it.
  • firefox.real: this is the real compiled binary. You shouldn’t launch it directly, because it will be missing some protections that the custom environment set by the other two files would prepare. You might be fingerprintable from other Tor Browser users if you use it directly.
    • The only case in which you need to use this is if you want to launch Tor Browser inside a debugger. In that case, please remember to customize your debugging environment to look like the environment we create. However, when you build Tor Browser/Firefox for debugging, you won’t need to launch it inside a debugger, because Firefox integrates some utilities to tell you the PID to attach to it if it crashes.
  • firefox: this is a wrapper for firefox.real. It checks if your system has a recent enough, and if it doesn’t, it adds the directory that contains the we ship to LD_LIBRARY_PATH. It was created for updating purposes, I don’t know if it’s still needed/it still works. You shouldn’t launch directly this, like firefox.real it lacks the custom environment.

These files are not related at all to the firefox command that usually is the official Firefox, packaged by your distribution and you can usually find in a directory such as /usr/bin.
I was talking about the firefox script with execution permission we ship.

1 Like