TL:DR – For a newcomer to Linux, likely starting out with Ubuntu or Linux Mint, installing applications that are not part of the Software Manager or Synaptic Package Manager catalog for the chosen distro is not always intuitive at first. I take a rather long look at how to get Sublime Text 2 properly installed on your machine, and do my best to explain what is going on, rather than simply provide terminal entries to copy and paste. I would be happy to hear from experience Linux users about how I might improve, or where I have explained something poorly.

A few months back, I decided to expand my horizons and explore Ruby and Rails. I also decided that I would do so in the more native Linux environment, rather than go the Ruby-on-Windows route. This was one of the best decisions I have made in terms of developing my skills and experience as a programmer.

The learning continues. I started with Linux Mint 13, which has a friendly enough GUI, but for most of what I am doing, I try to use the Bash CLI as much as possible. I've never been very comfortable with the command line, and so long as I am learning a new language, in a new OS environment, I figured it was time to overcome that limitation as well.

If you are an experienced Linux user, there is probably nothing here for you. This is really basic, and yet I had to look around and cull some information from a variety of sources in order to figure out how to do this.

Why Sublime Text 2

Unless you have been in a coma, you have no doubt at least heard of Sublime Text 2. Sublime Text 2 is a cross-platform (Mac/Windows/Linux), highly customizable text editor with an outstanding compliment of features. I have found it to be my preferred, go-to tool for text manipulation. While it is not an IDE, Sublime Text presents sufficient IDE-like features that for many purposes, you won't miss the extra cruft. Also, of course, in many programming communities (Ruby, JavaScript), code is more often written in a text editor.

NOTE: As of this writing, Sublime Text 3 is available to registered Sublime Text users as a beta release.

Sublime Text 2 is not currently part of the Synaptic Package Management system on Linux Mint (or Ubuntu). Therefore, there is no magical apt-get install command as you might use to install other software on your Linux system, so we have to do a little more work.

Of course, the straightforward method of installing Sublime Text 2 on your Linux Box is to download the appropriate (23 or 64-bit) .tar file from the Sublime Text site, unpack, and locate in the directory of your choice. You can do this manually by going to the Sublime Text 2 Downloads page and clicking the appropriate download link, or you can do it all from the terminal, as described below.

If you are not as familiar with Bash command line as you would like, see my previous posts. While these were written in the context of using Git for Windows developers, the basic Bash commands are explained:

NOTE: As of this writing, Sublime Text 2.0.1 is the most recent stable release. If the stable release is updated, the URL's in the links below will change, and you will need to copy the updated URL from the Sublime Text site.

Download the Linux 64-Bit Version of Sublime Text 2:

Extract the Sublime Text .tar file:

tar vxjf "Sublime Text 2.0.1.tar.bz2"

9/10/2013 – UPDATE: It is apparently considered a best practice to locate general third-party applications such as Sublime Text in the root-level/optdirectory, something I did not know at the time I wrote this article.I have updated the instructions and example below to reflect this.

Then you can add a sym link to the executable file with a short name for convenience (it seems to be a convention to use the alias "subl" for ease of use from the terminal. The executable file will be located in the extracted Sublime Text 2 directory. For example, if you extracted the .tar contents into the directory /opt then the sublime_text executable will be "/opt/Sublime Text 2/sublime_text" (since there are spaces in the directory name, we need to use quotes around the path).

Add a Sym link:

sudo ln -s "opt/Sublime Text 2/sublime_text" /usr/bin/subl

The above method is easiest, but does not leave you with a convenient way to update Sublime Text in the future short of removing the current installation, re-downloading, and re-installing. There is an arguably better method, which relies on the Personal Package Archive system.

Canonical, the company which supports Ubuntu, has created the Launchpad.net site which, among other things, hosts a repository for Personal Package Archives (PPA's). Here, individuals and teams can upload their own software and installation packages, and it is possible to find deployment packages for software that is not included in the Ubuntu or Linux Mint Synaptic Package Manager for your specific distribution. It is also possible to add the PPA to your Synaptic catalog, so that you can then run apt-get install, apt-get update and the like to keep your package up to date.

Or, at least as up to date as the package maintainer at Launchpad keeps theirs.

8/23/2013 UPDATE: As of 7/19/2013 the WebUpd8team also has a PPA for Sublime Text 3 (currently still in beta). If you want to use Sublime Text 3, simply substitute Sublime-Text-3 for Sublime-Text-2 in all of the commands below.Note that if you used the PPA for Sublime Text 2to install that version, this will replace the version 2 install with the version 3 beta.

The WebUpd8team at Launchpad has created (among other things) a PPA for Sublime Text 2 which is up to date with version 2.0.1 as of this writing. To add Sublime Text 2 to your Synaptic catalog, and install according to the install script published with the PPA, follow these steps:

Add the Sublime Text 2 Repository to your Synaptic Package Manager:

sudo add-apt-repository ppa:webupd8team/sublime-text-2

Update:

sudo apt-get update

Install Sublime Text:

sudo apt-get install sublime-text

8/23/2013 UPDATE: If you are installing the Sublime Text 3 Beta as discussed in the update above, use this command instead ofapt-get install sublime-text:

8/23/2013 Install for Sublime Text 3 Beta (only if using the PPA for Sublime Text 3):

sudo apt-get install sublime-text-installer

Next, check the usr/bin directory. You should see at least one file, named sublime-text-2, and you should also see two others, named sublime-text and subl. These create aliases you can use to invoke Sublime Text 2 from the command line. If the subl and sublime-text files are not present, copy the sublime-text-2 file and make them:

Create alias files (if not present):

$ sudo cp /usr/bin/sublime-text-2 /usr/bin/sublime-text

$ sudo cp /usr/bin/sublime-text-2 /usr/bin/subl

There you have it. You can now use Sublime Text 2 from you command line. Also, you should see it available in your GUI in the applications menu.

This has been a long post about a relatively simple operation. My goal has been to explain the concepts as fully as possible, under the assumption that there are those out there, like myself, new enough to Linux to need the extra handholding. Thanks for reading!

Hi, thanks for reading. From the little I know of Linux so far (but learning more daily!), I agree.

The file I speak of copying, /usr/bin/sublime-text-2, appears to me to be a script file. That said, the PPA did the same for me as you indicate - there was a similar script file already there for /usr/bin/subl. I probably should have made that clear. It would strike me as wonky to copy an executable.

Thanks for taking the time to comment - hoping to hear more from Linux folks who know what they are doing, especially if I am passing on bad information. Seems like there is plenty of bad info out there already (or outdated info - when you are just starting out, it can be hard to know what was once a former best practice but is now deprecated).

`/usr/bin/sublime-text-2` is an EXECUTABLE scriptfile. the file `/usr/bin/subl` is NOT a script file, it is merely a symbolic link to '/usr/bin/sublime-text-2`. If you open it, it appears to be a script file, but you are actually seeing (and editing) `/usr/bin/sublime-text-2`. You can see this in the output of `ls -l` which is in my previous comment, the `->` means it POINTS to `/usr/bin/sublime-text-2`.
To prove my point: rename the file `/usr/bin/sublime-text-2` to /usr/bin/sublime-text-test`, I guarantee you that `subl` no longer works (unless of course you copied the script).

The danger of copying the script is that if sublime gets an update which will change `sublime-text-2` then `subl` is not updated and is the old version of `sublime-text-2.`

PS in the first method in your post you correctly used a symbolic link ;)

Got it! Thanks for setting me straight - having it explained that way, it makes total sense. I had originally found the files we are discussing, and since they appeared to be "script" files, I made some assumptions about what was going on.

I figured that creating the Symbolic Link resulted in those files being created, but it also sounds like there is more going on there that I need to learn about. Digging into a couple books on the subject now.

I guess I will need to add an update to the article to reflect this improved information!

About the author

My name is John Atten, and my "handle" on many of my online accounts is xivSolutions. I am Fascinated by all things technology and software development. I work mostly with C#, JavaScript/Node, and databases of many flavors. Actively learning always. I dig web development. I am always looking for new information, and value your feedback (especially where I got something wrong!). You can email me at: