I have installed a minimal installation of CentOS 6.3 inside a VirtualBox VM. Now, I would like to install Emacs for use from the command line only.

When I do a search for emacs using yum search emacs the only application level package seems to be "emacs" so I run yum install emacs and it shows me the list of dependencies it wants to download.

These dependencies libcairo, libasound, and a ton of libX* packages that have no business being downloaded and installed for a copy of Emacs that will be used from the command line only (I am trying to keep this minimal since this will be cloned 10 times per developer machine for network simulation but a text editor really is necessary).

So, are there some flags to set to prevent all the graphical related packages from installing? I remember Gentoo's emerge had paremeters like that, or am I just installing the wrong package?


No. There is emacs-nox on CentOS and Fedora.

$ sudo yum -y install emacs-nox
  • Absolutely correct if you want to avoid pulling in all the GUI dependencies. But it is worth noting that even if the system will not be running a GUI console, if you have users that log in remotely from computers running an X server, they may want to run the GUI version of emacs, which will need these packages. – David C. Feb 26 '18 at 17:38

I loath the GUI. Try this:

Download the latest tar: http://mirror.sdunix.com/gnu/emacs/

## extract it *24.5 is the current.    
$ tar -xvf emacs-24.5.tar.xz

## get emacs dep libs.
$ sudo apt-get build-dep emacs24

## mv to extracted dir.     
$ ./configure --with-x=no

## build.
$ make

## mv binaries system wide.    
$ make install
  • 1
    Why did this get downvoted with no comments? Is there something wrong with this? This was exactly what I needed for installing to a headless CentOS server. Before using ./configure --with-x=no I kept getting emacs: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory. I knew I did not need gtk-3 for a headless installation and after using this, it ran without any problems. When I used sudo yum -y install emacs-nox I got No package emacs-nox available Error: Nothing to do. – Steven C. Howell Jun 26 '15 at 23:32
  • Probably downvoted because apt-get is not yum. The answer is otherwise ok. – chriskelly Oct 18 '15 at 13:41
  • 2
    @stvn66 Because it ignores the stated OS (CentOS 6.3) and the stated package manager (yum). Providing from-source build instructions for a different OS with dependencies from a different package manager is objectively the wrong answer. – rvalue May 8 '16 at 3:38

I follow these steps to install Emacs on my cloud Ubuntu server without X support:

  1. sudo apt-get install autoconf automake texinfo libncurses5-dev
  2. ./autogen.sh
  3. ./configure --with-x=no
  4. make
  5. sudo make install

And now you can use Emacs in the terminal.

autoconf and automake are the required system tools.

If you miss texinfo, you'll get:

configure: error: You do not seem to have makeinfo >= 4.7, and your source tree does not seem to have pre-built manuals in the 'info' directory. Either install a suitable version of makeinfo, or re-run configure with the '--without-makeinfo' option to build without the manuals.

If you miss libncurses5-dev, you'll get:

configure: error: The required function 'tputs' was not found in any library. The following libraries were tried (in order): libtinfo, libncurses, libterminfo, libtermcap, libcurses Please try installing whichever of these libraries is most appropriate for your system, together with its header files. For example, a libncurses-dev(el) or similar package.


I tried to install emacs from yum (the package manager of CentOS), but the installed emacs version was so outdated.

So I had to download the latest emacs distribution from ftp.gnu.org using wget and built from source.

#If you are on a clean "minimal" install of CentOS you also need the wget tool:
yum install -y wget

wget ftp://ftp.gnu.org/pub/gnu/emacs/emacs-25.2.tar.xz

tar xf emacs-25.2.tar.xz

cd emacs-25.2

#configure without x11
./configure --with-x=no


make install

The installation went smootly and I didn't encounter any issues during the process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.