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:

Screenshot of Elinks

There also seems to be a framebuffer browser out there called Zen but it is a bit unstable no longer in active development.

Email

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:

Gmail in Elinks

Neat, eh? For everything else there is Mutt:

Mutt [mutt.org]

Mutt

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]

Freetalk

If you are on AIM, then naim will probably be the tool for you:

Naim [naim.n.ml.org]

Naim

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]

IRSSI

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

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]

Midnight Commander

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:

ZGV [svgalib.org/rus/zgv]

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/]

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]

RTorrent

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 [twin.sourceforge.net]

Twin

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. :mrgreen:

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.


Creative Commons License

This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License
.
Update 05/22/2007 10:10:11 AM

Y HALO THAR Digg users! Thrilled to have ya here. :mrgreen:

Related Posts:

  • Monster Weekend (but not for me)
  • Happy Independence Day!
  • Constitution Day
  • Happy Independence Day
  • Happy Independence Day
  • I can’t take a day off…
  • One day in September
  • We have won!
  • Page Rank and Advertising without Net Neutrality
  • MySQL: find week start/end given week number

  • 184 Responses to “A day without X”

    1. [...] Rovistando nei repository è sorprendente quanto software utilizzabile da console esista. Di certo non sono user friendly, ma una volta presa la mano sono più rapidi e leggeri delle controparti grafiche e cliccose. Non avranno effetti stupefacenti, ma fanno il loro lavoro e in genere lo fanno piuttosto bene. Ho deciso quindi, ispirato da un paio di post di altri blog, di elencare alcuni dei programmi più conosciuti (o anche meno) per console. Di fatto in caso di emergenza quasi tutto si può fare anche da una poverissima riga di comando. [...]

    2. jwlockhart UNITED STATES Konqueror Linux says: Reply to this comment

      nice article, though i would like to see one on longer term usage of the commandline in preference over x

    3. ladoga FINLAND Mozilla Firefox Debian GNU/Linux says: Reply to this comment

      Nice article.

      I’m currently using centericq and irssi for IM. I prefer these to graphical IM clients even if im running in X. Plus side is ofcourse that I can use them remotely via ssh.

      Mplayer rocks on command line and I use mplayer -vo fbdev quite often, which works just perfect. No different than watching movies in X.

      Caca ascii output is just fancy and not very useful when you’ve already got great quality got framebuffer video, but I have to admit it looks cool. click here for screen

    4. Luke Maciak UNITED STATES Mozilla Firefox Windows says: Reply to this comment

      Yeah, the ASCII thing is a really cool trick you can use to impress your friends but I can’t imagine actually watching a movie this way.

    5. anonymouse UNITED STATES Opera Linux says: Reply to this comment

      CAPTCHA: sudo… interesting

      Anyway, could you do an article on directfb on Intel, NVIDIA, and DAAMIT?

      Thanks

    6. cracker RUSSIAN FEDERATION Internet Explorer Windows says: Reply to this comment

      Yes this certainly good idea, with such set of the programs, x-server in outline not it is necessary!

    7. dennyhalim INDONESIA Mozilla Firefox Linux says: Reply to this comment

      tried links2?? http://links.twibright.com/
      it support framebuffer so you can browse the web with full graphics.

      or nanozilla under nano-X?
      http://alllinuxdevices.com/news_story.php3?ltsn=2000-10-18-002-03-NW-D V

    8. Scott UNITED STATES Safari Mac OS says: Reply to this comment

      I’m coming late to the discussion, but I struggled with the command line RSS aggregators. Turns out that Bloglines Mobile page works well in elinks. Be forewarned that unless you explicitly disable it from your regular bloglines page, it will run your outgoing page links through Skweezer to optimize the download time.

    9. Mackenzie UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      Links2 can display webpages with framebuffer, so you’ve got all your images and everything.

    10. Chris Lees AUSTRALIA Internet Explorer Windows says: Reply to this comment

      I keep promising myself that, one of these days, I’ll try running my computer without X. Also note that you can play individual audio files with “play” – it comes with sox. Just install sox and then type “play audiofile.mp3″ and it will play “audiofile.mp3″.

      P.S. I’m using IE on Windows XP but only because the head office has stopped Firefox from working :-(

    11. Juan PANAMA Mozilla Firefox Linux says: Reply to this comment

      Yo tengo Xubuntu y FreeBSD en mi Dell Inspiron 1420n y en mi FreeBSD no tengo entorno grafico. Pero aunqué técnicamente puedo hacer todo sin mi entorno grafico, no me gusta por el simple hecho de que me gusta cacharrear con DE’s (mi preferido es Xfce 4.4.2) y me gusta el compiz-fusion. Además no logro entender cual es el interes en tener los entornos más aburridos y feos en nombre de la “productividad” y el ser “profesional”.

      Ahora para los interesados conozco un par de editores de texto que funcionan bajo la consola.
      Vigor
      Jed
      Le
      Jove
      ee

      Y si tenes el pico (nano no lo incluye) también tenes un gestor de archivos que funciona como el pico y se llama pilot.

    12. qubodup GERMANY Mozilla Firefox Ubuntu Linux says: Reply to this comment

      Dude! Ever heard of not making screens of window decorations? ^^

    13. corky UNITED STATES Safari Mac OS says: Reply to this comment

      Also late to the party, but I want to mention a few things that no one else has.

      - None of the curses-based RSS aggregators (snownews, newsbeuter, raggle, nrss) I’ve seen meet my needs. I’ve settled on rawdog instead. It generates a local webpage than I can then read with a text-mode browser (or with Firefox if I’m working in X). Easily automated with cron. It uses Mark Pilgrim’s feed parser, so it supports just about everything that’s out there, and since it defers formatting and display to the web browser, it doesn’t have some of the shortcomings of the aggregators that try to do this themselves. IMO, a fine example of doing one thing and doing it well.

      - I use dvtm to tile the terminal or console window. Using it, for example, I can view a manpage while typing in vim. I find this to be a much more productive way to work than switching between virtual terminals in screen or between tabs in a terminal emulator. (Yes, I know screen supports split windows, but dvtm’s approach is nicer.)

      - For downloading podcasts, I like podracer. But the original bashpodder is OK too.

      - For backups, I use rdup.

      - Someone already mentioned vifm. But I want to add my vote for this lightweight alternative to the more popular Midnight Commander.

    14. Gaia Herbs UNITED STATES Mozilla Firefox Windows says: Reply to this comment

      Lmao rickroll. nice post

    15. alh84001 CROATIA Opera Windows says: Reply to this comment

      I’m quite surprised that noone mentioned a usenet client: slrn

      Also, can someone recommend a minimal USB distro on top of which I could put all these programs?

    16. corky UNITED STATES Safari Mac OS says: Reply to this comment

      corky said:

      can someone recommend a minimal USB distro on top of which I could put all these programs?

      I haven’t tried it myself, but you might want to consider ttylinux.

      If that’s still not small enough, you could recompile the userland utils to use ucLib or dietlibc. (I haven’t tried that either, but it’s on my todo list.)

    17. bracksisahobo AUSTRALIA Mozilla Firefox Debian GNU/Linux says: Reply to this comment

      Thanks for making my geriatric laptop useful :)

    18. Ioky UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      Man, that is so sweet, I get almost everything that I am looking for. I get a fairly old Laptop, That is exactly what I want to do with it. Instead a base Linux Distro, and Run it purely in CLI. I will organize the post, and list out all the software that was mentioned.

      One thing I would like to ask is that, is there a good CLI Graphical/Scientific Calculator? What I mean by Graphical is just like a way to making plot / graph. If there is That would be perfect.

      awsome Post

    19. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux says: Reply to this comment

      Luke Maciak said:

      One thing I would like to ask is that, is there a good CLI Graphical/Scientific Calculator? What I mean by Graphical is just like a way to making plot / graph. If there is That would be perfect.

      Well, there’s GnuPlot. I think you could redirect the output into an image, and then view the image using one of the CLI image viewers that were mentioned somewhere in this post.

    20. trastornau UNITED STATES Mozilla Firefox Windows says: Reply to this comment

      trastornau said:

      One thing I would like to ask is that, is there a good CLI Graphical/Scientific Calculator? What I mean by Graphical is just like a way to making plot / graph. If there is That would be perfect.

      If you don’t want accuracy but just to look at the general trend, use the dumb terminal option on gnuplot:

      http://t16web.lanl.gov/Kawano/gnuplot/misc3-e.html

    21. Ioky UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      I made a list that listed out all the software that is mention on this page, Just so people wouldn’t need to dig for them.

      and one quick question, is there a nice software that do Latex in CLI?

      here is the list

      Linu (Linux without X)

    22. Luke Maciak UNITED STATES Mozilla Firefox Windows says: Reply to this comment

      Luke Maciak said:

      and one quick question, is there a nice software that do Latex in CLI?

      Yeah, it’s called Emacs ;) No, seriously – it’s a pretty good LaTex editor. :)

    23. Ioky UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      Thanks so much Luke

    24. zmjjmz UNITED STATES Flock Linux says: Reply to this comment

      Ceni I hear is good for wifi, splitvt will split one tty into … two… no more…
      And dvtm, while I can’t figure it out, looks like ratpoison for the console.

    25. doorknob60 UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      Sweet, I’ll have to try that sometime :D

    26. I am trying to get ubuntu onto my iBook and I apparently needed to use the alt. Install CD so untill then I am using X on my iBook, I have been using your programs to help me along (luckly most are in the ubuntu res so i only need to apt get and not compile)

    27. doorknob60 UNITED STATES Konqueror Debian GNU/Linux says: Reply to this comment

      I thought of something else to add, nano! It’s easier to use than vi(m) or emacs, I don’t know why it’s not on there. (it’s for the n00bs)

    28. tag UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      if you are not too partial to naim, finch is a great ncurses based interface based on purple ( read: pidgin / gaim ). one of my favorites. also, for images aalib is just great, and it has a great video out device for mplayer that real-time encodes the movie to text.

      cheers man, great article,
      Tag

    29. doorknob60 UNITED STATES Mozilla Firefox Debian GNU/Linux says: Reply to this comment

      +1 for finch :) It’s very similar to Pidgin (not only based on it but made by the same people). It’s the best choice, and multi protocol :)

    30. cAm NEW ZEALAND Mozilla Firefox SuSE Linux says: Reply to this comment

      screen for sure!
      strings for reading MS Documents
      pdf2html for converting pdf files to html then use lynx etc
      finch for msn and irc.

    31. Fred Richards UNITED STATES Mozilla Firefox Linux says: Reply to this comment

      When I tell people I can’t drive a standard transmission car, many people laugh. The funny thing is, I’ve been a computer nerd my entire life, and a command line person. I believe many people are “trained” to think the GUI == The Machine.

      It’s healthy to escape outside your comfort zone for a while. For the record, I’m a big Cisco guy, and much of the power of their equipment is on the command line. Sure the GUIs are getting better, and are nice and fun to use, but you never know when you’ll need to drive that manual transmission in an emergency.

      I think I could fake it.

    32. candra INDONESIA Google Chrome Windows says: Reply to this comment

      thank for the information, really usefull
      but I have my own choise for non-X application
      this is the list
      web browser:lynx
      download manager:wget
      email client:pine
      mp3 player :Mpg123

    33. Krzys UNITED STATES Mozilla Firefox Ubuntu Linux says: Reply to this comment

      Dude, did you forget screen?

    34. doorknob60 UNITED STATES Konqueror Linux says: Reply to this comment

      ^ IMHO twin is better and easier to understand than screen. I never understood screen that much TBH.

    Leave a Reply