76

I used sudo apt-get install emacs to download emacs. I expected the command-line emacs to start when I ran emacs but instead the GUI emacs started.

How can I download the command-line emacs?

Nathan Osman
  • 32,155
prosseek
  • 1,865
  • 3
    Please consider changing your accept from the highly unwise answer that falsely implies dragging in all of the X library dependencies of the ordinary emacs package is necessary, to one of those which answers your actual question by showing how to install a headless version of emacs without all those unnecessary dependencies. – Chris Stratton Nov 01 '19 at 18:13

5 Answers5

113

That would be emacs-nox I believe. This is the meta-package that currently points to emacs24-nox .

Description: The GNU Emacs editor (without X support)

So, just as before but with that package:

sudo apt-get install emacs-nox

or alternatively

sudo apt-get install emacs24-nox

For cases like this, where you wonder what's in what package, try this :

apt-cache search ^emacs 

then

 apt-cache show <whateverpackage>
JW.
  • 103
belacqua
  • 23,120
72

The command-line emacs is installed along with the GUI.
To run it, use the -nw option. An explanation from man emacs:

-nw, --no-window-system
Tell Emacs not to use its special interface to X. If you use
this switch when invoking Emacs from an xterm(1) window, display
is done in that window.

So run the following command to use emacs from the command-line:

emacs -nw

enter image description here

If you don't want to have to type emacs -nw, you could create an alias. Put the following line in your ~/.bashrc or ~/.bash_aliases:

alias emacs="emacs -nw"

You can add this alias in one line by using I/O Redirection::

echo alias emacs=\"emacs -nw\" >> ~/.bashrc
Pablo Bianchi
  • 15,657
Isaiah
  • 59,344
  • 13
    This answer only covers running non-X emacs. This does not explain how to download emacs that is only for command line. – user2943160 May 16 '16 at 11:44
  • @user2943160 What do you mean? This answer starts out with the sentence "The command-line emacs is installed along with the GUI". We know from the question that the OP already knows how to install it. – Jon Bentley Sep 28 '19 at 00:01
  • @JonBentley hello from your necropost comment. This answer still doesn't cover a non-windowed (that is, no support for system windowed operation) installation of emacs, though such a thing isn't particularly necessary given, yes, the rest of the content. – user2943160 Oct 04 '19 at 22:41
  • @user2943160 This is a Q&A site, not a forum, so there is no concept of a "necropost". The value is in the question and the answers, not in the timing. I don't think the OP particularly cares whether or not there is no support for a windowed vesrion, so long as they can run it on the command line (and even if we interpret the question title in that way, a frame challenge would be valid given the OP's underlying objective). This answer is perfectly fine as it is in addressing the root of the question, and is a valuable alternative to the other options. – Jon Bentley Oct 07 '19 at 00:12
  • 1
    This is a very poor answer, because when the ordinary emacs package is installed via apt on a headless system not normally used with X, it will not only unnecessarily install the X version of emacs, it will install all of the X client libraries that are dependencies of that - which is a huge amount of unnecessary installation. – Chris Stratton Nov 01 '19 at 18:09
  • @JonBentley a three years later combative comment isn't particularly positive. As is evidenced by the votes on this page (my comment, belacqua's answer), the sentiment of my comment is accurate. – user2943160 Nov 02 '19 at 01:38
6

If possible, delete the old version of emacs, then reinstall the version without X. The * on the end of the command is important and will save you from a world of pain.

apt-get remove emacs*
apt-get install emacs-nox

You can also specify the version of emacs without X to install, such as emacs23-nox or emacs24.nox rather than installing the alias package.

Sure, you can mess with bash aliasing or pass in -nw, but when you use sudo, or emacs is summoned by git, you'll see that X window once again.

Ann Kilzer
  • 183
  • 2
  • 8
1

You already have installed it.

Just run emacs with:

emacs -nw
haziz
  • 2,929
1

I think I accidentally downgraded a post without intending to. emacs -nw is the correct option.

I just get tired of the vi/emacs flame warz. If the original post didn't mention vi, then mentioning vi doesn't help.

Besides, emacs has a vi mode in it - viper-mode.

Seth
  • 58,122
  • 1
    No, that is not the correct answer. The question is about installing a non-gui version, installing the huge gui version and all of its unecessary gui dependencies is not a reasonable solution, when in fact it's possible to do exactly what the question seeks. – Chris Stratton Jul 21 '20 at 00:41