A day without X
Would you be able to survive one full day without using the X server? Linux offers us a wide assortment of CLI based tools which use curses and/or framebuffer for functional user interfaces. There is no reason why you shouldn’t be able look up stuff online, read your email, look at pictures, watch movies and listen to music as you are trying to configure X.
I was inspired by this post on Motho ke motho ka botho and decided to compile a list of useful command line applications myself. I will break them down into categories so that we can cover all the bases. If I’m missing something, or if I omitted some cool applications please let me know.
Web Browsing
The biggest problem in living without X is web browsing. You will be limited to text browsers, which generally do not support CSS and do not play nice with AJAX. The good news is, that most of the AJAX heavy web-pages now have mobile versions which are surprisingly text-browser friendly.
There are quite a few text browsers out there but I will recommend one:
Elinks [elinks.or.cz]
Why elinks? Because it supports both frames and tables, displays nice colorful output, and works great with mouse. Of course you can also use Lynx, Links, or w3m but in my experience elinks beats all of them hands down. Here is how my page looks in Elinks:
There also seems to be a framebuffer browser out there called Zen but it is a bit unstable no longer in active development.
If you are a gmail user like me, you are in luck. Google has a javascript-less version of their interface which actually works beautifully in elinks:
Neat, eh? For everything else there is Mutt:
Mutt [mutt.org]
I previously covered Mutt several times, showing you how to set it up for IMAP and how to send out emails without full blown sendmail or exim setup just using basic SSMTP. There is also Pine which is a damn fine mail client too - if you can deal with editing your messages in pico.
Chat
Chatting without X is pretty easy. It depends on what you are into though. For example, if you are a GTalk user I can recommend the excellent Freetalk which I covered before:
Freetalk [gnu.org/software/freetalk]

If you are on AIM, then naim will probably be the tool for you:
Naim [naim.n.ml.org]
Naim is a little bit funky but once you get used to it just works. It also supports ICQ and IRC protocols. Of course if you want full blown IRC support, there is probably no better client than irssi:
IRSSI [irssi.org]
It is a bare bones but full featured client. I don’t use irc that much, so I can’t tell you how good it is, but it seems perfectly functional - especially if you are a hard core irc junky.
Reading RSS
If you are like me, you subscribe to way to many RSS feeds. Unfortunately neither Google Reader nor Bloglines works in elinks (or for that matter any text based browser) so we have to rely on local clients if we want to survive without X. I recommend raggle:
Raggle [raggle.org]
Raggle has a clean and intuitive interface, is fast and takes up almost no memory. Perfect for a day without X. Go ahead, import your OPML file using a command line switch, and give it a go. You can also try Newsbeuter.
Btw, that feed list in the screenshot is the default set you get after installation. My feed list is way bigger. ;P
File Management
When you are not browsing, chatting, reading feed or writing emails you probably move around files on your hard drive. Midnight Commander will make this task easier with the classic Norton Commander like interface:
Midnight Commander [ibiblio.org/mc]
You young whipper-snappers probably have no clue what Norton Commander was - but I grew up on it. Whenever I use MC I feel nostalgic for the good old days.
Viewing Images
So let’s say you are living your one day without X and someone sends you an awesome picture. For example it might be a picture of a cat with a caption (ZOMG! Invisible bike!). Or maybe it’s one of those demotivational posters. Hell, it can even be some dancing bunnies!
So what do you do? You open it with a framebuffer image viewer like zgv of course:
I have no screenshot for this one because you can’t run it in X, but I can confirm it works. So you will never be without your cat macros!
Watching Video
Sure Luke, but how do I watch my p0rnz you ask? I haven’t personally tested it, but it seems that both Mplayer and VLC are capable of framebuffer output. How well do they actually work in that mode - beats me. Maybe at some point I will test them out, but at this point I don’t have any solid recommendations beyond that.
Text Editing
If you use Linux, you should already have a near religious attachment to a text editor that can be used without X. There are essentially 4 kinds of Linux users: vim/vi users, emacs users, users who can use both editors, but neither of them well, and n00bs. And guess what - if you think that you don’t fit in any of these categories, you are a n00b. Personally - I use both, but I’m more familiar with vim than anything else. Here are my recommendations:
VIM [vim.org]
Emacs [gnu.org/software/emacs]
Playing Music
The fact that you are not running X should not prevent you from listening to your favorite t00nz. Cplay is a lightweight audio player that is perfect for our X-less day:
Cplay [mask.tf.hut.fi/~flu/cplay/]
If you struggling with it, there is an awesome overview of cplay here.
Btw, you can always control your audio volume with alsamixer (if you have ALSA, and you probably do - you have alsamixer installed).
P2P
Luke! I has no Toonz! How I get some without X?
Well, it’s easy my friend. You can do it with rtorrent1:
RTorrent [libtorrent.rakshasa.no]
It’s yet another nifty curses application with negligible memory footprint. RTorrent can easily compete with the windows based uTorrent for size and memory. Unfortunately it is somewhat counter intuitive using Emacs like key bindings. The learning curve is a bit steep, so here is a nice primer to get you started.
Window Management
Yes, you heard me right - window management. The fact that we are not using X does not mean that we can’t have windows. Twin is a nifty curses app which will open sub-terminals inside a curses environment:
Twin actually stands for Textmode Window Environment which is exactly what it is. As you can see from the screenshot, it will allow you to have elinks, mutt, raggle and essentially any other application I mentioned here today open on the same tty. How awesome is that? It removes one of the very annoying issues that we face when working without X - the inability to have multiple “windows” open on the same screen-space at the same time.
Will I actually attempt to survive a day without X? Maybe I will at some point. And if I do, I will definitely blog about it, and tell you about my experience. But it won’t be today because I actually have some relatively time sensitive work to do.
Maybe we can all try this together? Let’s set a date (preferably on the weekend so we don’t struggle at work) and let’s try to survive a day without X. Let’s make it an annual linux geek holiday or something.
1 - I neither endorse nor condone downloading music. If you are downloading legally, then more power to you. If you are sharing without permission - make sure you don’t get caught.
Note:
If you want to translate this text, please go ahead as long as you give me credit and link back to this post. This work is published under Creative Commons, Non-commercial, Share-alike license.
Y HALO THAR Digg users! Thrilled to have ya here.
Related Posts:











May 21st, 2007 at 4:06 pm (4435) [Quote]
And here I thought I was the only sick bastard that knew how to live in a TTY only world!
I tip my hat to you, sir!
Posted usingMay 21st, 2007 at 4:36 pm (4436) [Quote]
Hehe. We’re not sick - we are just more capable than the rest of them.
So, do you have any cool TTY apps I forgot to add here?
Posted usingMay 21st, 2007 at 5:14 pm (4438) [Quote]
No, I think you got them all . . .
I am one of the few that have watched the movie Tron using mplayer and aalib displayed on a vt100! I am such a geek . . .
Posted usingMay 21st, 2007 at 6:29 pm (4440) [Quote]
Ah, I haven’t seen Tron in ages. My favorite thing in the movie was the floating bit that could only say yes or no. I fucking wanted one of those.
Then again I was pretty young when I first saw it. Heh…
Posted usingMay 21st, 2007 at 9:51 pm (4441) [Quote]
Cool list… I really like using MPD with one of the many clients (read: ncmpc) to play music though. Definitely worth at least mentioning
Posted usingMay 21st, 2007 at 10:48 pm (4442) [Quote]
Oh, good one Mitch. Thanks! If I get enough of those I will do part two of this post at some point in the future.
Posted usingMay 21st, 2007 at 11:57 pm (4443) [Quote]
There is a ncurses version of the instant messaging app Pidgin (formerly known as Gaim), called “Finch” which uses libpurple, and therefore supports all the IM protocols Pidgin does. http://www.whatsbeef.net/wabz/finch.png
Posted usingMay 22nd, 2007 at 12:07 am (4444) [Quote]
Wabz - thanks! Finch looks really cool. I will definitely check it out!
Posted usingMay 22nd, 2007 at 12:12 am (4445) [Quote]
I really recommend screen for text window management. There are lots of benefits to running it. My personal favorite is the persistent connections.
Posted usingMay 22nd, 2007 at 12:18 am (4446) [Quote]
Heh, I use screen so often to manage persistent remote sessions that I totally omitted it in this post.
Posted usingMay 22nd, 2007 at 12:48 am (4448) [Quote]
For instant message, i’ll recommend using bitlbee along with irsii. With this couple of app, you can then access all the im networks.
For mpd, you also have mpc, which is command line only (whereas ncmpc is ncurses)
For rss reading, snownews is also worth mentionning, but newsbeuter seems promising.
Posted using W3M 0.5.1May 22nd, 2007 at 12:49 am (4449) [Quote]
More sollutions for IMing would be centericq or bitlbee together with any IRC-Client. Most geeks out there use bitlbee together with irssi.
Posted using Unbranded Firefox 2.0.0.3 onAlso, for music there are mp3blaster, orhpeus and last but not least mpd with one of its many console-clients.
May 22nd, 2007 at 12:55 am (4450) [Quote]
[…] I added Gravatar support on my blog tonight. Gravatar is a free service where you upload an avatar image and whenever you reply on some blogs on the web using the same email address you used to register at Gravatar, you avatar will automatically appear next to your comment. Such examples are here, here and here. […]
Posted usingMay 22nd, 2007 at 1:04 am (4451) [Quote]
I would recommend this application to burn CD/DVDs using Curses” Bashburn.
Posted usingMay 22nd, 2007 at 1:05 am (4452) [Quote]
I would recommend this application to burn CD/DVDs using Curses” Bashburn.
(retrying to post, I got PHP errors earlier)
Posted usingMay 22nd, 2007 at 1:30 am (4453) [Quote]
Thanks for all the suggestions guys! I’m taking notes, and will put them into “A Day Without X: Part 2″
Posted usingMay 22nd, 2007 at 2:17 am (4454) [Quote]
I’ve used mplayer quite a bit on a framebuffer and it works quite nicely. Its got excellent support for the Matrox G550 I was using. For sheer amusement, check out -vo aalib. From a distance its almost not half bad.
& FYI - fbi for images.
Posted usingMay 22nd, 2007 at 2:17 am (4455) [Quote]
links: frames, tables, a bit of color
Posted usingw3m: frames, tables, a bit of color, unicode, images w/framebuffer or w/xterm
Especially Unicode is important nowadays. Want more?
mplayer -vo cvidix blafasel.avi
or -vo svga. -vo vesa sadly seems to fade out of the working set, since it was/is faster than SVGA. aalib and caca (color AA) is nothing (=fun but can’t really use it).
twin is hard on compilation (it’s just really old).
May 22nd, 2007 at 2:18 am (4456) [Quote]
Xine has an ascii video driver (http://xinehq.de/images/releases/aaxine.jpg). I just tried it in Ubuntu Feisty and it didn’t work, but I have used it in the past. There are also programs to convert images into ascii art. So you don’t even need to resort to the frame buffer.
Posted usingMay 22nd, 2007 at 2:21 am (4457) [Quote]
This is a very practicable post…
Posted usingAnother music player that I’m using is MOC. This music player is my favorite one even while I’m using X.
MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.
May 22nd, 2007 at 2:24 am (4458) [Quote]
There’s loads more apps;
Posted using Debian IceWeasel 2.0.0.3 onabcde (cd ripper)
abook (address book)
podget or bashpodder (download podcasts)
wget
lftp
bsd-games
antiword
live-f1 (formula 1 info/results)
shell-fm or lastbash (listen to last.fm streams/radio)
tagger of lltag (id3tag editor)
gnuchess
netris
bc (calculator)
and of course, bash and the coreutils.
May 22nd, 2007 at 3:42 am (4459) [Quote]
mmh .. and what about pdf-reader? It was the only problem I had when using a text-base only terminal.
great job!
Posted using Unbranded Firefox 2.0.0.3 onMay 22nd, 2007 at 3:43 am (4460) [Quote]
[…] Un día sin X. En: Linux — May 22, 2007 […]
Posted usingMay 22nd, 2007 at 3:44 am (4461) [Quote]
[…] http://www.terminally-incoherent.com/blog/2007/05/21/a-day-without-x/ Entry Feed Retroenlaces Del.icio.us Digg Technorati […]
Posted usingMay 22nd, 2007 at 3:58 am (4462) [Quote]
raggle suckz. It doesnt work with national characters (russian in my case)
Posted usingMay 22nd, 2007 at 4:03 am (4463) [Quote]
Don’t wanna be a PITA, but you’re still using an xterm in all your examples
Posted usingMay 22nd, 2007 at 4:18 am (4464) [Quote]
you can make screenshot of what you run in a framebufer tty with fbgrab or fbshot
look at http://home.tele2.fr/solsTiCe/img/fbconsole.png that was when i was using slackware
Posted usingMay 22nd, 2007 at 4:39 am (4465) [Quote]
There are essentially 4 kinds of Linux users: vim/vi users, emacs users, users who can use both editors, but neither of them well, and n00bs.
There’s a few of us who don’t like any of that weird stuff and just want a very basic yet intuitive text editor, like nano.
Posted usingMay 22nd, 2007 at 4:59 am (4466) [Quote]
You definitely have forgotten screen. Without it you are doomed to use only one terminal at the time, unless you use different ttys — but how can you do that via ssh?
Posted usingMay 22nd, 2007 at 5:08 am (4467) [Quote]
what distro were u using? i tried to compile twin on debian 4.0 but make failed, too lazy to troubleshoot but i like the idea of twin, i had no idea something like that was possible.
Posted usingMay 22nd, 2007 at 5:23 am (4468) [Quote]
Hi,
Very nice article. I want to blog this !!
What license are you using for your contents ?
send reply to my email-id.
Posted usingMay 22nd, 2007 at 5:32 am (4469) [Quote]
Not something for everyday use, but deserves a mention:
tethereal - a text version of ethereal, the network packet examiner.
Posted usingMay 22nd, 2007 at 6:00 am (4470) [Quote]
Has anybody heard anything new about the supposed framebuffer port of Mozilla Firefox 2.0? Is it useable already?
Another question: is there any WYSIWYG editor with at least RTF support?
Posted usingMay 22nd, 2007 at 6:00 am (4471) [Quote]
music on console: easy than mpd an ncmpc…both ara very good
Posted usinghttp://moc.daper.net/
May 22nd, 2007 at 6:30 am (4472) [Quote]
As Instand Messenger, and maybe even for Chat, one can use Finch, the text version of Pidgin (formerly known as Gaim).
Posted usingMay 22nd, 2007 at 6:47 am (4474) [Quote]
Hello! There is most beautiful jabber client: mcabber. It also could be used as gtalk client (w/out voice support).
Posted usingMay 22nd, 2007 at 7:12 am (4475) [Quote]
I recommend centericq as Instant Messendger
Posted usingand orpheus as Music Player.
Thank you. I did not know about twin. We must try
May 22nd, 2007 at 7:23 am (4476) [Quote]
pretty funny - i was reading this in elinks, and tried to respond but couldn’t because of your “security code”.
Posted usingMay 22nd, 2007 at 7:40 am (4477) [Quote]
Great job
Mplayer has an ASCII mode that works incredibly well (mplayer -vo aa videofile.xxx) but I’d never thought that all this tasks could be so well covered under the console mode. Uauh.
I’m doing a series of articles/tutorials on Linux in my blog, and I’d like to know if I could translate your post to Spanish on it, without the reference to the source at the beginning and end of the article, of course.
Just let me know, and congrats,
Javi
Posted usingMay 22nd, 2007 at 7:53 am (4479) [Quote]
nice summary! I hope your idea gets into practice. I’ve had my year without X when i blew up my mobo and had to cope with the spare dual pentium for music/browsing/chat, i.e. count me in
btw how the **** can I post here using text-mode browser? Can’t see the auth code hehe
Posted usingMay 22nd, 2007 at 7:53 am (4480) [Quote]
I had to load up dillo because of the security code… anyway I do use X for Fluxbox but for the most part I stick using console applications. I will look into Twin though.
Posted usingMay 22nd, 2007 at 8:16 am (4481) [Quote]
And for the brighter side of life — games: NetHack, Slash’EM, ADOM, Crawl, Angband …
Posted usingMay 22nd, 2007 at 8:29 am (4482) [Quote]
I hate to pimp myself, but I hate Raggle. I wrote an RSS client about a month ago to specifically avoid using it or Snownews. Try it, if you can’t stand having three “windows” open, or just want to skim headlines.
Posted using Unbranded Firefox 2.0.0.3 onMay 22nd, 2007 at 8:56 am (4483) [Quote]
azureus works in text mode perfectly fine. more memory of course, but works much better..
same, gaim-text (over centericq), don’t forget either aalib-based games (like Quake I with aalib) etc..
finally.. you’re talking about a day without X, yet everything you tested was IN X with a terminal and you didn’t even test framebuffer-aware applications.
Posted usingHow can you call this WITHOUT X ?;)
May 22nd, 2007 at 9:13 am (4485) [Quote]
mplayer -vo vesa is what i need to watch movies. pretty and flawless. the only distro that shipped with vesa-supported mplayer’s binary is mandrake 9.x. tell me if there are/is another distro(s) did it.
and for music, mpd with mpc is more than enough.
and nowadays when X is running in my pc, there are still some command-line apps i can’t live without them: cdrecord, fdisk, lvm, zip, unzip, and rar (hard to believe that there is no good enough front end for them. for example: no gui apps that have ability to repair/fix archives. may be there is a reason behind it? tell me if i’m wrong)
no x no cry
Posted usingMay 22nd, 2007 at 9:15 am (4486) [Quote]
great tips, just though i would add that im using the txt version of pidgin and it works great
Posted usingMay 22nd, 2007 at 9:18 am (4487) [Quote]
A few years back I ran Debian, without X, on a very old (then) machine. IIRC, I even had a nice spreadsheet application, but for the life of me, I can’t remember it’s name (no, it wasn’t Lotus 123….)
Anyone remember?
Posted usingMay 22nd, 2007 at 9:25 am (4488) [Quote]
Emacs Lisp soft is better than this junk times infinity.
http://emacswiki.org
Posted usingMay 22nd, 2007 at 9:41 am (4491) [Quote]
For PDFs try… pdf2ascii!
Again, mplayer -vo aa does not cut it. mplayer -vo caca maybe, but there is currently no caca0.9 patch for mplayer. CVIDIX is just best when it comes to console. _Now_ you know why it is worth to have minimalistic onboard graphic chips in servers.
a>pretty funny - i was reading this in elinks, and tried to respond
b>I had to load up dillo because of the security code…
If you had used w3m (given FB or X)…
Posted usingMay 22nd, 2007 at 9:51 am (4492) [Quote]
PDF: ps2ascii
Posted usingMay 22nd, 2007 at 9:56 am (4493) [Quote]
lucaramel said:
Hehe. I know, but I wasn’t sure how to take screenshots on the TTY.
zebul666 said:
Now I know! Thanks so much for this tip!
Peter said:
Oh man! You just walking right into it. lol Nano is nice btw - nothing wrong with using it. I was using Pico when I started my adventure with Unix back in the day. I have fond memories of that editor, but at some point I found it was not enough for my needs.
ramjet said:
Kubuntu Dapper - and twin was in the repositories. I’m pretty sure you can find some deb files of it floating out there.
Raghu Nayak said:
As usual, my stuff is under Creative Commons Attribution-Noncommercial-Share Alike License. I will update the post with licensing info. In other words, all I ask is that you link back to me and give me credit when you cite or translate me.
jaymz said:
Yeah, yeah - I know. It helps to cut down the spam though.
javipas said:
Javi, see the reply above. I’m always thrilled when people want to translat