- The following is an essay I wrote in 2004. It is a little pompous and silly but I found it useful, and I might update it later.
Contents |
Making the Anti-Switch
Two choices lie before you. You can take the blue pill, and make the switch to Apple and wallow in its impersonal shiny interface, pretending that it's not a computer, and you will have never known reality. Or you can take the red pill, and choose console-mode Linux and the world that you have never known.
Advantages of Console Mode
- Fast as all getout.
- No more mucking about with the mouse.
- Completely and easily customizable.
- All the information you need is right on the screen.
- People can't annoy you with links to goatse, tubgirl, "What's Wrong With This Picture", etc.
Disadvantages of Console Mode
- Not as pretty. :/
- Steep learning curve (although I will make it easier with this guide).
How to Make the Anti-Switch
First, you have to install Linux and learn how to use the console. I don't have any suggestions; I learned how to do this using outdated Linux manuals from before KDE and GNOME became popular.
Now what it's time to do is make using the console as easy as using X11! This is great fun. First, you'll have to install GNU Screen-- "apt-get install screen", "emerge screen", or whatever you crazy Red Hat people use.
You may have encountered Screen before. Perhaps you heard people laud its virtues on your favourite Linux help forum, or maybe a friend recommended it to you. But when you first install Screen, you encounter an impersonal, complicated interface, and it doesn't look that much different from the terminal except that some things are disabled.
Well, that's not your fault. While some programs such as vi and emacs come with sensible default settings, GNU Screen's defaults are rather stupid. So, let's make it work! Download my configuration file for screen and save it to .screenrc in your home directory. Now here we go! Switch to the terminal again (or open an xterm if you're lazy) and run screen.
Behold! Screen is easy to use! Here are some things you need to know:
- The default Screen config would have you press Ctrl-A to issue a command. Yuck. I've mapped F12 to do the same thing, and mapped the backslash (\) to open a new window. So go ahead and press F12 on your terminal or xterm, then press \. A new number will appear at the bottom of the window. That's a new screen!
- You can switch between windows by pressing F"n", where n is the number of the window. Open another new window with F12 \ then type F1 to switch back to your first one. To switch to window 0, you'll have to press F11, because there is no F0 :(
- To kill a window, you can type F12 K, or to close it gracefully, just exit whatever is running in there.
- You can open a new window with a name by typing screen -t "newname" on the command line. The name will appear next to the window number.
- If you've decided that you want to name or rename your window, press F12 A.
- Try typing F12 W. If you have w3m installed, Google will come up in a new window! If you prefer Lynx or Links, edit the .screenrc. It's not that hard to do.
- Pasting on the terminal is a thousand times easier with screen than it is with a regular terminal. Launch any application at all-- even bash, then type F12 ESC (escape). Your program will pause. Now move the cursor over to the start of the text, press Enter, and move it to the end of the text and press Enter again. It will be copied into Screen's clipboard, and then your program will resume. To paste the text, just make sure you are somewhere where the text can be pasted (for example, insert mode in Vi), then type F12 ].
That's basically it to Screen! It's marvelously easy to use. Try editing your .screenrc to fit your tastes-- change the default name for a new window using shelltitle, or change shell to a shell you like, or map some of your favourite terminal programs in the Mapping section so that they can be launched with F12 x. You can even change the caption to something that you like better, although it's a bit complicated.
If you don't want to run "screen" every time you log in, it's easy to make it run automatically. Open up /etc/shells as root and add "/usr/bin/screen" to the list. Now, as yourself, run chsh and change your shell to /usr/bin/screen. (Make sure that the shell setting in your .screenrc is working.) Now, when you log in on the terminal, you will be greeted with the friendly Screen interface!
Learn how to use your programs under the command line. So many of them were made for it-- vi, emacs, irssi/BitchX, and of course whenever you run "ls", "apt-get"/"emerge" or "make", you need to have a terminal to look at. It's nearly as easy as X11, and much faster to navigate!
I will leave you with some links to useful console-mode programs:
Links
- Vim or Emacs
The main difference between Vim and Emacs, bloatedness aside, is that in Emacs you write text somewhat easily but have to hold down Ctrl- or Alt- a few times before every command, and in Vim you type commands easily but go into "insert mode" to write text. Choose wisely. This is like choosing your religion. - w3m
Lynx is the best-known text browser, but it's also a really old text browser. Try w3m, which gives you more control over moving through text, and also has tabbed browsing. - irssi
Internet Relay Chat is all about text-- there's no need for graphics at all. I prefer irssi just because it's the easiest to configure. - mplayer
A command line media player. Plays video from the terminal if you can manage it. If you can't, it will play your video in ASCII-art.
Good luck!
Appendix
My .vimrc
map <silent> \ :let @/=""<cr>:echo ""<cr> map <silent> H :set hls!<cr>:echo ""<cr>
(type \ to clear the highlighted search... type H to disable highlighting altogether)
Useful part of my .irssi/config
keyboard = ( { key = "home"; id = "command"; data = "window next"; }, { key = "end"; id = "command"; data = "window prev"; }, { key = "`"; id = "key"; data = "meta"; } );
(use HOME to go to the next window, use END to go to the previous window... and binds ` to "meta" because it doesn't hear my alt key.)