Atom – A Hackable Text and Source Code Editor for Linux

These days Atom text editor is making a lots of news. Atom is a free and open-source text and source code editor, available for cross platform Operating Systems – Windows, Linux and Mac OS X. It is released under MIT License, written in C++, HTML, CSS, JavaScript, Node.js and Coffee Script, Atom is based on Chromium.

Atom Editor
Atom Editor

A Quick Time Travel

Atom project was started by the founder of GitHub, Chris Wanstrath in the mid of year 2008. Nearly 6 years later, the first public beta was released on February 26, 2014. Nearly 15 months later the release of first public beta (and 7 years since the idea was conceived), on June 25, 2015 Atom got a stable release.

Features of Atom text/source code Editor.

  1. Cross Platform support (Linux/OS X/Windows)
  2. Polished edges
  3. Modern and approachable editor that can be customized to core.
  4. Built in Package Manager – Search and install from within. You may develop your own package.
  5. Smart Approach – Ensures you write code with speed, flexibility and auto-completion.
  6. Embedded File System Browser – Browse and open file/project/group of projects with ease in one window.
  7. Split Panel – Multi-panel feature to compare and edit code from single window. No more switching between windows.
  8. Find and replace text in one file or all your projects.
  9. There are some 2,137 Free and open-source Packages, that you can use.
  10. As of Now it supports some 685 themes to pick from.
  11. Plug-ins supported
  12. Can be used as IDE (Integrated Development Environment)
Prerequisite
  1. C++
  2. Git
  3. node.js version 0.10.x or node.js Version 0.12.x or io.js (1.x) [Any one of three]
  4. npm Version 1.4.x
  5. Gnome Keyring (libgnome-keyring-dev or libgnome-keyring-devel)

How to Install Atom Editor in Linux

There are binary package available for DEB and RPM based distributions for 64 bit architecture only, hence no need to compile it from source.

However if you want to compile it from source for any system including DEB and RPM based distribution, follow the below instructions.

Installing from Binary Packages

To install Atom on Linux, you can download DEB or RPM binary package for Debian and RedHat based systems from the main Atom website or use following wget command to directly download the packages into your terminal.

$ wget https://atom.io/download/deb		[On Debain based systems]
$ wget https://atom.io/download/rpm		[On RedHat based systems]

On Debian based systems, use dpkg -i command to install the binary package.

$ sudo dpkg -i deb
[sudo] password for tecmint: 
Selecting previously unselected package atom.
(Reading database ... 204982 files and directories currently installed.)
Preparing to unpack deb ...
Unpacking atom (1.0.0) ...
Setting up atom (1.0.0) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...

On RedHat based systems, use rpm -ivh command to install the binary package.

# rpm -ivh rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:atom-1.0.0-0.1.fc21              ################################# [100%]

Installing from Source

If you just want to build Atom from source, you can do by following up-to-date detailed build instructions on Linux systems.

To build Atom from source, you need to have following required packages to be install on the system, before building the Atom from source.

On Debian / Ubuntu
$ sudo apt-get install build-essential git libgnome-keyring-dev fakeroot
$ curl --silent --location https://deb.nodesource.com/setup_0.12 | sudo bash -
$ sudo apt-get install --yes nodejs
$ sudo apt-get install npm
$ sudo npm config set python /usr/bin/python2 -g
On RHEL, CentOS or Fedora
# yum --assumeyes install make gcc gcc-c++ glibc-devel git-core libgnome-keyring-devel rpmdevtools
# curl --silent --location https://rpm.nodesource.com/setup | bash -
# yum install --yes nodejs
# yum install npm
# npm config set python /usr/bin/python2 -g

Once the required packages has been installed, now clone the Atom repository from git.

$ git clone https://github.com/atom/atom
$ cd atom

Checkout the latest Atom release and build it.

$ git fetch -p
$ git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
$ script/build

Note: If Atom build process failed with below error message:

npm v1.4+ is required to build Atom. Version 1.3.10 was detected.

That means you must have latest version npm (i.e v1.4) installed on the system, to get the latest version of npm you need to add node.js PPA to your system to get the latest version of Nodejs and NPM.

$ sudo apt-get install python-software-properties
$ sudo apt-add-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs

Next, install the atom and apm commands to /usr/local/bin directory by executing following command:

$ sudo script/grunt install

Atom Testing and Usage

1. Fire Atom from Application Menu, or by typing command ‘atom, in the command prompt.

$ atom

When you launch Atom for the first time, you should see a Welcome screen of atom something like below.

Atom Text Editor
Atom Text Editor

This welcome screen gives you a brief idea about on how to get started with Atom editor.

You may Download your favorite flavor theme and native packages from the links below and install it using Settings Menu.

  1. https://atom.io/themes
  2. https://atom.io/packages
Just for Information
  1. Atom send usages data to Google Analytics. It does so to collect information about those features that are mostly used. These information will be used to enhance the user experience in further release.
  2. GitHub Reports Atom has been downloaded 1.3 million times and is used by more than 350,000 users per month.

Conclusion

Atom is a wonderful source code (and Text) editor. It functions like IDE. Supports of nearly 700 themes, ensures we have a lot to choose from. 2K+ packages makes it possible to customize Atom, as per user’s need. It has been developed by GitHub Founder and other developers/contributors, so we can expect it to be more than just a normal editor.

Though it be a nightmare for a lots of people since HTML, JavaScript, node.js and CSS have been used in the project. The fact is all these Programming/scripting languages are not appreciated by advanced users. At times the above languages have shown flaws, attack and even compromised.

What you think of this project? Is this editor going to live long? The trend says Yes! Let us know yours view. Signing off! Keep connected, Stay tuned. Enjoy!

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Avishek
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

4 Comments

Leave a Reply
  1. Nice text editor with great ability to view two files side by side but no compile or execute option. I like to just press F5 to run the code to test it.
    All in all an impressive piece of code!!! Thank you.

    Reply
    • As a matter of fact Atom is an application from founder of GitHub. You should not accept anything less than this.

      Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.