Linux/Unix commandline. Part 1
Thursday, November 23, 2006 2:24:00 AM
Unix (including Linux, I'll just use Unix from now on) is actually kernel and collection of utilities from various sources. For example yes is an utility that prints y on infinite loop. So next time you see program that asks stupid questions that can be dismissed with just y (or any other letter), yes could be handy. I'm not going to show how to use it right now though (maybe in some later post). And yes, it's included in most Unix-style operating systems.
So you can imagine, that somebody got irritated babysitting program that wanted users to answer yes to questions and developed a utility to do the task for him/her and continued being lazy (as good programmers and sysadmins are). I would imagine too that someone saw that the utility was useful and wanted a copy. And then it gets part of the standard, though I'm not sure if yes is part of the POSIX standard or not. Maybe not, as it's not exactly essential utility for the standard at all.
I'll start with something that's bit more easy to grasp, programs that actually have some kind of user interface. Good thing about these programs is that they don't take up much memory, startup doesn't take long and they don't need that much bandwidth if you use them remotely. Downside is that learning curve is usually bit higher than with usual GUI programs, there are keyboard shortcuts to learn and configuring usually happens by editing configuration files with text editor. And that means you have to first find the examples to work with.
Window manager: Screen
Screen is so versatile that it deserves whole article. In short it's like window manager on command line, windows take up full screen though, so screenshot doesn't make much sense. It keeps running if you log out, so most people use it to keep Irssi running while they are logged out from the remote computer where Irssi runs in, but that's only one of its features. For example you can create new windows, share session with yourself or with other user account.
Chat: Irssi
Irssi is IRC-client done right. No public away messages by default (though you can do that with a script, if you want to do that for some strange reason), support for multiple servers and it's easy enough to use for people that don't use command line much otherwise, or at least with some help from someone who knows how to use it. Only thing it lacks is (always) visible user list (though there are at least one script to fix that). If you have friends that don't use IRC, you can use Bitlbee to connect to various instant message networks.E-mail: Mutt
Mutt is just a e-mail client, so there's no calendar. But it starts up real fast, and every function has keyboard shortcut. It's not so hard to use once you learn most important keyboard shortcuts. There's some tricks though how to use it effectively. For example you can delete message matching certain pattern and change folder with new messages with few keypresses. Which folder it suggests depends on their order in config file, so you can check always messages in most important folders first, no matter which folder you have open. But whole feature means you need to put those folders into config file, otherwise you can just browse the folders manually as they are on disk.
Text-editor: Vi...wait...Emacs...whatever
There has been war going on between vi (or vim) and Emacs users since they were developed, but most people don't really understand either one of them. By default vi is on command mode and you can't really write anything until you press the right key. And both of them are not easy to even exit (ctrl-x-c in Emacs. esc and then :q! in vi). Both of them take some time to learn properly and are very efficient editors. And any Unix you use, vi is always available, so learning it has some benefits. But if your time is not worth it, try Nano. Or if you miss that paperclip from MS Office, try Vigor

WWW-browser: Lynx, Links or Elinks
All three are browsers, but links is actually black sheep here. It actually can display pictures and use the mouse if it's in graphical mode. Still very fast, if you don't mind that most of the pages look bit strange. Great browsers if you want to open browser instantly, even if you're not in graphical mode (in more technical terms, X). You can also use them to debug things from remote computer, for example if you are suspecting that some firewall is blocking your connection to some site. Or save pages from scripts.News-reader: slrn
If you're into news (I mean Usenet, not just news in general), slrn is great program. Default settings are almost sane (I don't like automatically subscribing to new groups though, but at least I found how to automativally unsubscribe from new groups) and it supports non US-ASCII character sets just fine (I had some problems with TIN). It's also possible to read messages straight from server, which didn't also work so well with TIN. Not that hard to use, but as always, there are some keyboard shortcuts to learn to use it effectively. Help is easily available with ?, so no need to panic if you forget some keyboard shortcut.Multimedia
Sound is not a problem in command line, you just need a player that doesn't need a gui. At least MPD or XMMS2 should be fine enough and there's even more players available. Both are more userfriendly with some nice frontend. Frontends can be graphical too. Separate backend means that you can quit frontend and music keeps playing.
As for movieplayer, MPlayer is good, if you can't display graphics at all for some reason, you can render the video in textmode. Some SDL based games work also, at least Kobo Deluxe did, others that I have tried didn't. There's also NetHack, which doesn't need graphics mode at all. I'm sure that's there at least one picture viewer, but I have not researched them much yet.
I wrote this article on request (or at least sort of, request was to write about Linux command line), so as always, you can make requests. One of the possible ones would be more in depth look into some of the programs that I mentioned, but that happens much faster if there's clearly demand for one, so please let me know if you want to know more.
PS: Screenshots are taken with terminal with transparent background. All pictures are links, so you can see the picture in original size. They almost fit in this blog, but limit for pictures resolution is just little bit lower that the originals have. And sorry about that last picture is JPG, it got automatically converted and filesize actually grew a bit. PNGs size is bit smaller, but resolution is bigger. Well, at least page layout should be alright in most cases.








Illidan the Rune MakerIllidan # Friday, November 24, 2006 7:40:49 AM
I prefer MPlayer to Xine, because MPlayer has a friendly command line interface while Xine doesn't, even though Xine has powerful GUI frontends like Kaffeine.
Generally, I depend on both GUI and command line interface.
Antero Hytönenanzah # Friday, November 24, 2006 7:04:13 PM
I actually like MPlayer because the GUI is optional. I remember anyway most important keyboard shortcuts, so GUI would get in the way.
Unregistered user # Tuesday, January 30, 2007 4:58:58 PM
Antero Hytönenanzah # Tuesday, January 30, 2007 8:18:38 PM
I remember that I had some problems with it, but it might be good enough for you.
MrPingouin # Sunday, May 6, 2007 1:38:44 PM
Antero Hytönenanzah # Sunday, May 6, 2007 1:57:00 PM