How to Live a Text-Based Life
---------------------------------------------------------------------
There's probably not too many Linux users how have their desktop Linux distros set to be console only
as opposed to using an X server or a GUI. There's plenty of reasons to take this route and many ways to go about it, and I'll attempt to show you a (mostly) unbiased view on this choice, especially centered around the way I do it.
Here's my setup:
Dell Inspiron 1545, Core 2 Duo, 4 GB RAM.
I have Windows XP, Ubuntu 8.04, and my main OS: Debian Squeeze.
|*********************|
| UBUNTU USERS!!!!!! |
|_____________________|
Debian Squeeze is probably the best option for a Ubuntu convert. Making Ubuntu console based is kinda hard and not recommended by me because it's such a large OS, and living in a text only computer is generally a minimalist idea, so having such a bulky base is both memory intensive and kinda gross.
Debian uses apt-get, so people who grew up in a Ubuntu environment should feel at home with the sudo commands and such.
1. Why would anyone want to do this when GNOME can be so awesome with all that added flair?
Console-only boxes are much faster and zippier because of the less amount of resources text-based apps use. Opening up programs and running them and using them takes up much less power than a GUI based app would.
Pointing and clicking and waiting for GUI's to load up may not seem like a big deal right now, but after you get used to typing something in and having it work, going back to a desktop environment and having to move your mouse to an Applications menu button, scroll down to internet, click Firefox and wait seems like a much longer time than typing “elinks google.com” and having it pop up pretty instantly. It's faster not only in the sense of resources, but also user time to get stuff done; more efficient.
It's just cooler.
2. Does anything detract from the coolness factor?
Yeah, not viewing images kinda makes it suck a little bit.
Also youtube videos and such.
But, you can just run startx and check it out real quick if it's a big deal!
3. How do I do this?
That's a great question. Like I said before, there are so many ways to go about doing this that it's pointless to try and cover all of them. Generally it's a matter of personal preference, and this guide should be the push you need to get set up like I have it.
And hey, if you like my set up, you're welcome to keep it and use it!
So I'll be going over how I installed Debian and how I use it like I do
Getting it Usable
1. Make the text nice and pretty.
* Click here:
http://kmandla.wordpress.com/project...fer_resolution
* Read
2. Install the drivers for wireless.
* On my Dell I have a “Broadcom Corporation BCM4312 802.11b/g LP-PHY” running the show.
* Follow this:
http://wiki.debian.org/wl to get it (and a few other Broadcom cards working)
3. Install wicd and wicd-curses. This makes it really easy to actually get wireless.
That's pretty much it for making it usable. All I really have left are my software suggestions and how to ween yourself off the GUI.
A. Software:
tmux: You can basically split your screen up into plenty of different portions and run different apps in
each.
ex.
http://kmandla.files.wordpress.com/2.../screen-vs.png (That's actually a program called GNU screen, but in my opinion tmux does a better job at the same idea.)
finch: a text-based version of Pidgin. I use it all the time!
Tty-clock: In that screenshot for tmux (screen :P), the green clock thing? Yeah, that's tty-clock.
It's not in the normal Debian repos, so here's the download:
https://github.com/xorg62/tty-clock
Just extract it, cd to the folder, run su and login, then type “make”, and “make install”
When you want to run it, type “tty-clock” and it should work. If it's not “make”ing correctly,
you probably don't have the ncurses development package installed...
Code:
sudo apt-get install lib32ncurses5-dev
That should fix the issue...don't worry, I had the same problem too
ncmatrix: displays the scrolling green letters from the matrix, and I believe it changes colors depending on network traffic...not the most useful, but hey, it adds cool points. Google, find
the source, make make install...the usual.
Hnb: a little, note taking sort of app. It basically lets you type a topic and make little topics inside, and if you want, more topics inside of those. It's cool for dates, to do lists, homework things, you know, just little notes. I usually use it to keep track of things I want to set up on my laptop and remind me of my progress.
Vitetris: a text version of everyone's most favorite game: Tetris

more source finding, compiling and such... not to hard by now!
http://victornils.net/tetris/#download download the tar.gz and do the routine.
Wicd-curses: the simplest way I know of to choose a wireless network. Apt-get should handle it...just checked and it does.
Nano: Chances are it's already installed and I personally prefer it over every other text editor out there...guaranteed someone's going to disagree with me, but hey, I like it. Simple, cool name, and it edits files. That's all I need it to do.
Elinks: I love elinks. Take the functionality of Firefox and the snappiness of Chrome, remove the flair of the internet, and make it faster and what do you have? Elinks. I love it so much. Cracked.com and Slashdot and Digg are my main websites that I crawl upon, and they all are perfectly displayed, minus the flair. Well okay, sometimes I run “startx” to see the funny pictures on Cracked, but not everything in the console is perfect, just the same as the GUI.
Cmus: It's basically pure awesome. It's a very powerful ncurses music player. Sometimes it's annoying to get set up...can't find your sound device or whatever...But I found another link that solved that problem for me:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593595
htop: I like this one a lot. It's a colorful system-resource monitor. If you're a minimalist (or maximalist depending on what computer I'm on) like me, you'll enjoy this. It's a reminder that you're running 144 tasks and usign 1.4% of your RAM. Feels good man.
And that's basically all I use in the console! There are a few other console games I have, mainly one snake game called cNibbles...once again, find the source and compile, not too hard. But that's all you need for a nice, functional console.
B. TMUX:
Tmux is great because it lets you do the cool things I mentioned before, like splitting up your screen and such. But how do you run tmux?
That. Simple, right? Yes and no...That gives you a fresh command line and a little green bar at the bottom. Now how do you split things? Type “Control-b” then “ to split the screen horizontally. From now on Ctrl-b will be typed as C-b, as it is with most tmux tutorials.
C-b “ splits horizontally
C-b % splits vertically
C-b x kills a pane (a region of split screen space)
C-b [insert arrow key here] lets you move from pane to pane.
Using these controls we can split things up rather nicely and in different sizes. I usually split mine up like:
Code:
__________________________________________________
| | | |
| | | |
| | | 6 |
| 2 | 1 |_________|
| | | |
| | | 5 |
| | | |
| | |_________|
|______|_______________________________| |
| 3 | | 4 |
| | 7 | |
|_______|______________________________|_________|
1: Whatever I'm mainly using...elinks most likely, or vitetris, or nano.
2. ncmatrix
3. hnb
4. cmus
5. htop
6. tty-clock
7. bash, normally. Sometimes finch
For this, you have to do a little bit of...well, K.Mandla put it the best: origami. Basically, you have to figure out exactly how to fold the screen to make it work like you want. To make the top half of a screen bigger than the bottom half, split it in half, split the bottom in half, go back to the top one and kill it. That's basically the main principal of it. The same ideas get applied to vertical splits too.
So that's pretty much all there is to tmux!
(Hey, if anyone knows a way that you can go about automating that process when tmux starts, please DO NOT HESITATE TO TELL ME!!!!! I've been ripping my eyes out reading documentation for ways to do this!)
C. Weening yourself off the addictive looks of GNOME or KDE or whatever DE you use.
Everyone in the world can make Ubuntu have a desktop cube, or draw fire on their screen, or make windows jiggle when they move, and don't get me wrong, that's really cool and all...but now that it does all that, do you ever find your computer slower? I always did...it takes me forever for my Ubuntu, littered with coolness, to start up and be actually usable, and even then GNOME is really slow for me. Now with this Debian install, I still have an X server and GNOME, but I try to stay away from it. And even though it's GNOME, it's pretty vanilla. No flashiness. I noticed that speeds it up a bit but still, it's slower than tmux.
So, if you have this shiny new desktop and it looks beautiful to you and you love it, then fine, by all means stick with it. Just at least recognize that you're willingly wasting system resources. It's always going to be slower than a console. But the console isn't for everyone !
If you really want to do this and get rid of GNOME or KDE or whatever, then you obviously have a reason. Either you think the console is cooler, you wanna freak people out when they see your computer, you think it's more efficient, whatever, but you still have a reason. And assuming you have a reason, it shouldn't be too hard to let go of your precious, eyecandy Ubuntu desktop.
Install Debian and keep the vanilla GNOME for your backup and remove gdm from the startup scripts with this:
Code:
run update-rc.d -f gdm remove
To kill GNOME (more specifically the X server that GNOME is running in) with CTRL-ALT-BACKSPACE, read this:
Quote:
“Modification to /etc/X11/xorg.conf
New xorg disables zapping with Ctrl+Alt+Backspace by default. You can enable it by adding the following line to /etc/X11/xorg.conf
Option "XkbOptions" "terminate:ctrl_alt_bksp"*
to InputDevice section for keyboard
If you use input hotplugging
If you are using hal to manage your keyboard, you must add the following to /etc/hal/fdi/policy/10-keymap.fdi to enable this behavior. If that file does not exist, copy it from the template at /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
Restart hal after making the modification.
Another way is to add the following line to ~/.xinitrc
setxkbmap -option terminate:ctrl_alt_bksp
Note: If you use a login/display manager like (K/G/X)DM or Slim, you'll need to run the above setxkbmap command around your WM/DE's login time. ~/.config/autostart is usually respected for such (using .desktop files). It may also work in ~/.bashrc.” - Arch wiki
|
As far as weening yourself off goes, you should just do it. You know that the eyecandy is inefficient. You also know that running “startx” will make all that crap come back if you ever want it. Just do the above and get it over with, you'll come around soon enough
The end.
############################################################
Thanks for reading this everyone! It's my first tutorial I've ever written. Any suggestions and comments are very welcome
