Why console apps still rock

I know there’s a portion of Ubuntu (and other distro) users who resent six virtual consoles running at a time, in addition to the X desktop in a default Ubuntu setup. I would agree that six is probably overkill, but removing them completely would be nuts.

First of all, on some slow systems, a tty is preferable (for me) to a terminal emulator. I have worked with some very, very slow systems where the time taken to work through a start menu and open a terminal emulator is longer than just jumping to a virtual console.

Furthermore, there are some very kewl console applications that aren’t tied to X, so if you work with a quasi-unstable desktop system, you don’t have to worry about something dying when X falls through.

Just as examples, I run rtorrent from a virtual console, and if I want to restart X or tamper with the settings, it doesn’t interfere with seeding an upload or breaking a download. I can test settings or tweak X to my heart’s delight, without having to restart an X-based torrent client each time. And don’t get me started on how much fatter Azureus is than rtorrent.

Here’s another example: I’m in the process of moving a large number of DVDs onto an external USB drive. Unfortunately, it’s via USB 1.1, so the time factor is roughly 45 minutes or an hour between disc swaps. Rather than hitch the process to X and a GUI app, I use Midnight Commander (which old-timers will appreciate for its Norton Commander-like layout) to shuffle files between DVD and USB, and there’s no fear of X crashing or my experimentation interfering with progress. (As an added bonus, install gpm and use ‘Commander with the mouse.)

Music is another great idea. MPD is the industry standard for low-profile music access, and ncmpc is a great console app for managing it. Imagine X giving you a fit and restarting, but the music keeps playing.

The best part about these apps is that they are so lightweight and so low profile that you hardly need any processor overhead to run them. Back in September I had a 75Mhz Pentium machine (that’s right, 75Mhz — not 750Mhz) that could handle all those apps — at the same time — without any strain whatsoever. They don’t eat processor cycles and don’t need extra time to get done.

There are lots of other examples. Mutt for mail, irssi for chatting … the list goes on. If you need a good set of recommendations, look here.

My only tip for console apps is to add vga=773 to your kernel boot line, which should give you a nice, spacious 1024×768 terminal environment regardless of the console you pick. Now you won’t feel cramped any more. šŸ˜€

P.S.: The diggs are flattering, people. You’re making me feel guilty. šŸ˜³


42 thoughts on “Why console apps still rock

  1. zangzor

    Heh, it goes to show that not everything related to media needs to be graphical. Cool stuff.

  2. daaku

    have you tried screen? the best i can describe it as is: “a window manager for the console”.

  3. Pingback: Why console apps still rock « Tons of Fresh News

  4. xxxcumslut

    I’m going to second the ‘screen’ recommendation for persistent tasks – or since you like lightweight stuff, ‘dtach’. With either of these, you can start up a task (from X or from a vtty) and close your window, kill X, and reattach at any other tty on the machine (even over SSH). Screen+irssi is the killer combo on shells.

  5. Tyler

    I second the console suggestion. /bin/ed for editing files (
    at least until you get edbrowse up and running to
    browse the web *and* edit files), mutt for email,
    irssi, and that’s all you’ll need.
    Everything else is provided by unix, even a man page viewer:
    man ls | col -b >ls;ed ls;rm ls
    And yes, I’m serious about using ed/edbrowse; no joke in that department.
    Great work from both of those guys – now we need a windows ed port, without using
    cygwin, and everything will be fine.

  6. Greg

    “you’re poor”

    that is quite observant, poor indeed to not be able to afford the latest and greatest system.

  7. Pingback: Why console apps still rock « News Coctail

  8. Larry

    I agree completely. Coming from a text-based DOS background and then a migration to OS/2, 98SE, and finally Linux, I almost always prefer text based apps for speed and reliability. I would have given a lot to have been able to run Norton Commander(Yes, I ran it and still have a copy of it somewhere) in multiple virtual consoles back in the DOS/BBS era. OS/2 gave me bullet proof multitasking, but I still used text utilites. Even now, I make heavy use of Midnight Commander as well as mplayer/mencoder and other text apps. However, I’ve never cared for vi or emacs. Too much. Give me mcedit anyday for a quick text edit. Linux isn’t OS X or WinDoZe. We don’t hide our roots. We offer it to all, whether you are gonna use it or not.

    Besides, no one runs a real server with a GUI anyway.

  9. Osman S Borutecene

    I think the need for console applications is not limited to low-profile systems. I am on a Centrino 1.6 laptop with 1.2 GB of ram. I am very happy with my ubuntu + KDE desktop but i still need virtual consoles. Even though I am not a console-boy, and I don’t use console applications, it just sometimes both fun and useful to have them at your convenience.

    For the most functional part, I sometimes try and use some bleeding edge applications in full screen that may hang my X and I can still switch to tty-n and handle the situation.

    tty is both fun and functional. It’s not just for console applications but also for a set of options to manage your system.

  10. Love Calculator

    thanks a lot for this article. honestly, I’ve been sick of those lame “my top 10 ubuntu apps” posts (yeah, I’m an Ubuntu user, but still…), but this one was both informative and fun to read. I read it like two hours ago, then messed with vga=… setting, then read about mpd and screen (been using screen, but only to speed up connecting to my debian server).

    my sister has a birthday party tomorrow. it always ends up with people switching music every 3 damn minutes. if you add some “let’s listen to some _funny_ music” people to the picture, you’ll know what I mean.

    my sister’s laptop is in the living room (where the music is played). however, whenever I’m in there, I’m listening music from my own compuer (in other room) through rhythmbox / avahi combo.

    my plan:
    * figure out ncmpc / mpd, hopefully with avahi support. if not, I’ll mount my music directory via ssh.
    * ssh to my sister’s computer
    * fire up ncmpc and play music from my computer
    * detach the screen

    good luck to anyone trying to figure out how to switch music šŸ˜€

    now please, tell me I don’t need any pills.

  11. Penguin Pete

    He-e-ey! You forgot Emacs! Emacs, the command-line editor, file manager, web browser, news reader, shell, chat program, game system, programming language, and blog interface rolled into one…

    I chuckled at the Ubuntu view. That’s not an exaggeration, either – the desktop-only set really does think that we elitist snobs put the console there on purpose, just to frustrate them, and for that matter they think programming languages are another unnecessary hindrance we made up. It’s sad to think that one day they will have their way and Windows-ize Linux, and then the brains of the system will be taken away from us. Nothing left after that black day but to move to Solaris and BSD and wait for them to catch up again.

  12. Jeff O'Hara

    Other than screen my next favorite console programs are VIM & Aptitude.

    If you don’t know what aptitude is, it’s a console based package management utility for apt-get. Allows you to view new packages, installed packages, not installed packages, and others. It is great when you don’t know the exact spelling of the name of the package you want to install. There is even search built in.

    -Jeff O’Hara

  13. Pingback: Why console apps still rock « Digged Stories

  14. airtonix

    “Nothing left after that black day but to move to Solaris and BSD and wait for them to catch up again.”

    ja been there done that …. doing it again tomrrow.

    recent victims of the corporate consumer culture :

    hiphop & graffiti.
    drum’n’bass/jungle/trance/house & the rave scene.
    webdesign & coding.

    its said that a salesman knows the price of everything but the value of nothing except maybe after he has destroyed the thing in question.

    Meaning they have no imagination of their own to create and thus resort to lying to the masses that their idea is not one that was stolen from you.

  15. Alex Elliott

    Personally, I don’t ever see Linux becoming “Windows-ized”, maybe a few select distributions (like Ubuntu), but others like Slackware, LFS, etc will be doing it the plain old Linux way for years and years.

    As to the ttys, love them :-). I’ve been subject to X hanging before, and being able to jump into a tty, kill the offending process and return to a now functioning X is bliss. I have a pretty stable setup, so for the most part I stay in the X session, but if anyone tried to remove ttys, I would find that person and pursuade them politely not to, and by persuade I mean threated with a knife, and by politely I mean by stabbing them.

  16. demianxyz

    I love the command line. But sometimes we have to be realistic and realize that it is not always the best option. Specially when you are dealing with stuff like images, browsing the internet, or advanced audio tasks, etc.

    Anyways, when I discovered bash scripting, ssh, piping, etc, a whole new world started to show up. Command line is really something, if you know when to use it.

    Old hardware and command line is definitely the way to go. Command line for automation is definitely the way to go too.

    Bye the way, I tried torrent downloading on command line, but never used it on ttys to make it’s X independent, thanks for the tip.

  17. Pingback: Knowledge Base » Blog Archive » En console : Bien roots !

  18. Pingback: links for 2007-03-04 « wimac | project

  19. symbolik

    Personally, I usually like to pare the virtual terminals down from 6 to two or three. It is interesting that since using Linux and forgoing Windows, I have steadily become more and more reliant on the command line, even with capable desktop environments available from KDE, GNOME, and others. I think I can honestly say that I *can* live without a GUI, but I cannot live without a couple of virtual terminals available – I never thought I would have come to this conclusion. However, I don’t view this as a poor reflection on Linux GUI environments, but a positive reflection of just how useful and powerful the command line can be, made even easier to use by such apps as referred to in your article and these comments. Great article!

  20. Matthew

    I use terminals for somethings, but I try to avoid using them because they take up precious taskbar space.

  21. bart

    To my mind a great way to use a console within X is programs like Quake (for Gnome) or Yakuake (for KDE): Just press F12 (for yakuake) and the console is coming from top of the screen. Press F12 again, it goes away. With yakuake there is even a tab function, so that you can have several console in one. It just rocks.

  22. gunnix

    Nice post, if it wasn’t for browsing the web and the nice background in the transparent aterm I wouldn’t even start x anymore šŸ˜‰

    I think mocp is also a very nice musicplayer (besides mpd+ncmpc).
    Also cplay is worth a look, it has a nice interface (looks like ncmpc). Alsamixer is to change volumes…

    I must say I was amazed when I found out about rtorrent, very nice application indeed.

    elinks is a really nice browser, ofcourse it’s difficult to navigate some websites…

    muttng is really good for mail..

    lftp is a great ftp (but i guess mc does that too)

    midnight commander is very cool, definately as I use emelfm as gui file manager and they look a lot in common…

    vim and nano ofcourse to edit..

    irssi or weechat + bitlbee to chat on every network..

    tmsnc is a nice little easy msn program

    htop is a nice top alternative

    If you love screen you definately wanna try ratpoison in X, though I do run Icewm which is a nice wm for console lovers as well because of the very good default keyboard support. One feature I found out about quite late is that you can enter any command after hitting CTRL+ALT+SPACE in icewm (something like grun).

    mplayer and mencoder are great, I’m converting videos much faster with mencoder then with any other I tried.

    gift+giftcurs is nice to download from several networks

    The great thing about console apps running in screen is that X may crash but you can just reattach screen (screen -R) in the console and keep on going. I can also just login from another computer and attach screen.

    Another thing is that these console apps use almost no resources.. (not all though, there are console apps using a lot!). You can use them on old computers (like the 75mhz mentioned), running all at the same time while still being responsive.

    Working with the keyboard goes much faster. And it’s more healthy for your arms n fingers then using the mouse.

    I think apps should always be made console first, and then there can be added a gui. Like with weechat, gift, mplayer, mpd, …

  23. The Viking

    I wholeheartedly agree with the whole console app thing. I did, however, find an app that lets me do both.
    It’s an environment (call it a textmode Windowmanager) called “twin”. It provides terminals
    that look just like Linux terminals to any app running on them, it also provides switching between these terminals
    in a better way than screen does (no need for Ctl-A 3 when I have Alt-Down!) and on my system, I have it set up to run
    irssi, mp3blaster, centerICQ (pretty good), orpheus (alternative to mp3blaster), iptraf… in short, anything that runs
    in a console, will run in a twinterm. In fact, links-graphic (also known as links2) can even spawn new windows as twinterms
    in console mode, though not in graphical mode, obviously. And on top of that, I also gain the advantage (though I haven’t really used it)
    of multiple desktops, all controlled from a menu/mouse interface. I’ve got (and patched) 0.52, though 0.46 seems to be popular…here’s the best bit
    about twin – it supports several different ways of connecting displays – console, terminal, framebuffer, and even two different forms of X display.
    One of these even supports primitive widgets as images instead of as characters. Go take a look (if you can still find it). I love it.
    Console rocks!

  24. K.Mandla Post author

    Hi Eric. Start up your system normally, then sudo nano /boot/grub/menu.lst. Find the defoptions line and add vga=773 to that line. When you exit, run sudo update-grub and on your next reboot, you should get the 1024×768 terminal environment.

    Of course, there will be slight variations if you’re using a different version of Linux. Have fun!

  25. Pingback: Why console apps still rock « Linux and Unix Top News

  26. Pingback: Top Unix News » Blog Archive » Why console apps still rock

  27. Pingback: Top Linux News » Blog Archive » Why console apps still rock

  28. Pingback: Munich Unix » Why console apps still rock

  29. Pingback: rock » Blog Archive » Why console apps still rock

  30. Podcastoro

    Anyone can recommend some good console apps to read etext in different formats? I know, we can all use vim, emacs or just the “less” command. I’ve tried apps like reed and lpgr which do a good job with plain text files and provide bookmark facilities, but it would be nice having something able to read different formats like html, plucker, pdf, for example something like a FBReader for the command line or framebuffer. Any suggestions? What is your favorite console etext viewer? Thanks.

  31. Pingback: One week at 100Mhz: X-less and not a hiccup « Motho ke motho ka botho

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s