Minimizing Linux Maximally

I find it interesting that Linux hackers have by and large conflated two or three kinds of “minimal” in their discussion of “minimal installs” and implementations thereof. To me, “minimal” could include any one or more of the following:

1) Minimal stuff installed on the hard drive;

2) Minimal services or other processes running; and

3) A minimal desktop, meaning, minimal stuff visible on the screen.

I have a laptop that I’d like to minimalize. In so doing, I do not care about number 1. In fact, I’d like to have maximal in that area. I have no problem with a zillion different apps installed on my hard drive. Other than the extra strain on the menu system for a given desktop, who cares? I have a pretty large hard drive. I can double the size of my hard drive for very little money. I have a screwdriver and I know how to use it.

If I was using Windows, that would not be the case. In at least some versions of windows, installed software takes up memory even when it is not running (though only a little) and most MS Windows apps are so honking huge and inefficient that indiscriminate collection of apps can’t be done even with the largest laptop hard drive. There simply isn’t enough room on the largest hard drive to have all those choices when running MS Windows. (Linux apps take up very little room.)

I have a modest amount of memory on my laptop, so I’d like to have minimal processes running, or at least, not maximal. On the other hand, most of what I do with my laptop is to manipulate text files. In other words, I could have most of my memory dedicated to stupid flashy or geeky stuff like eyes that follow me around or funny mouse cursors and it would hardly matter. However, minimizing processes, or at least, keeping what’s running down to a modest amount of computing, has another benefit: No matter what you do, some of the items you are bound to run will be less than perfectly behaved. It isn’t so bad that each process takes away a bit of memory and processing power. It is bad that each process has a slight chance of making something bad happen as it plays on your computer. This is not too much of a problem with Linux (compared to Windows) but it is a factor. (On Windows, obviously, every single program you run increases the chance that your computer will stop working by a significant percentage, so be careful being an app-slut with Windows.)

I do want a minimal desktop in the third sense, as in having very little screen real estate used for anything other than what I’m doing. However I’m not sure what the best way to achieve that is. I can tell yo that I don’t like super tiny icons on a tool bar (Gnome or Firefox). But I can also tell you that when I look at my Firefox or emacs screen, and see the menu items on one line and the toolbar on another, with vast empty space on both, I become enraged. Well, not really enraged, but annoyed. Why do I need to have 60% of two or three or four strips along the top of my screen (title bar, menu bar, toolbar, some other tool bar) empty? Why!?!??

A computer that has a desktop configured naturally, in that you go along doing your thing and now and then clicking “yes” on something, installing the occasional plugin, etc., can be very cluttered. For instance, here is my blog on a typically configured laptop:

i-9f39f778d8dd8b2ebe654cbd4bedec13-01myblog_on_bad_desktop.jpg

Notice that you can barely read the title of the first post. Having numerous space-grabbing items on the top of the blog post does not help, but the menu bars on Gnome and all those tool bars on Firefox don’t help either.

Here is my blog with the Gnome tool bars configured the way I usually have them: Narrowed down to 25 pixels, and with what is usually the “top” bar over to the left, where it uses the breadth of my widish screen. I’ve also turned off some of the firefox toolbars.

i-598b20b5803fe0685a0150c67867ff77-02Myblog_a_little_better.jpg

Here is my blog with the tool bars shunted away.

i-7677d9bf9108b9a8782a4250ce3ddace-03myblog_even_better.jpg

And, here is my blog after touching F11, which could have been achieved from any of the above states. Finally, I can read some of it before down-arrowing or using the scroll bar.

i-85bd76c19d24880c5113d4e21677f5e8-04myblog_best.jpg

If you want help configuring a minimal desktop of type 3, in other words, one which increases or maximizes screen real estate, try this. Maximus is one item you may check out. It removes some of the window decoration so the business part of the window gets more room. In Gnome, you may try an app that puts a smaller version of the application switcher on a toolbar, and thus, lets you have (perhaps) only one tool bar. I have experimented with both of these mods, but found that bad behavior resulted so I trashed them. Perhaps at another time I’ll try to figure out what went wrong.

My ideal laptop configuration might have these features:

  • Two or three F11 like hotkeys (perhaps alt-F11, shift-F11, and regular F11?) rather than just one, that work across all apps, and that remove toolbars, window dressing, etc. configurable stages.
  • All applications open by default in maximized mode. Dicking around with windows is for large screens, not little laptops.
  • Correlated hotkeys and toolbar/menu bar items, so that I could work indifferently with mouse and keyboard and use the physical menu and toobars as hints to the hotkeys (and thus learn them).
  • A web browser that runs inside emacs.

That last one might sound silly, but it could work. In particular, blogs have a fairly consistent structure. It should be possible to convert most blog posts from a web-readable state to something close to a simple text file in an emacs friendly hyperlinked format. I don’t know of any projects currently working on this, but it seems like a good idea. Or, at least, it is geeky enough that it is rather surprising to have not happened yet.

Like this:

i-c56fb951ded2f1ef8010c7f8e71ce662-05BestPossibleView.jpg

I do have an F11 function for emacs. In the not too distant future, I’ll be sharing my dot-emacs file, along with one or more blog posts describing it. You can have it then (or write it yourself now … it is trivial).

Comments

  1. #1 Alisdair
    July 6, 2010

    Widescreen monitors (or laptop screens) only make the situation worse, as regards vertical space. I’ve taken to rearranging the desktop so that the panels are at the sides, leaving a “normal” (i.e. approximately 4:3) work area in the middle. If only I could do the same with toolbars for Firefox et al.

  2. #2 SimonG
    July 6, 2010

    I would tend to think of a “minimal install” as one where nothing which wasn’t actually required was installed. So only the drivers for ones specific hardware, only those apps which would be used. In a server, not even a desktop. (Although increasingly, key applications like SAP and Oracle require a graphical interface.)
    Mind you, that view developed when disks weren’t as big and trimming out the fat was required in order to complete the installation. Minimal services running tends to go along with that approach.
    A minimal desktop as you describe is more a matter of personal preference – one I’d go along with although I tend to describe it as a “clean” desktop.

  3. #3 Dann
    July 7, 2010

    What really grinds my gears is that the 1920×1200 resolution is being phased out of monitors because it’s more expensive to produce. Instead, they are going with the cheaper 1920×1080 resolution.
    The hell…

    It may only be 180 pixels, but it’s vertical room, which as you acknowledge, is vitally important for things such as reading and viewing and using a computer.

    I am in favour of minimalism in most every way (though compatibility with various multimedia types is important to me). My archlinux tablet with openbox uses 1-10% of cpu and about 5-10% of ram even scaled down to 600MHz for basic editing/browsing.

  4. #4 Grant Wagner
    July 7, 2010

    I too try to run a fairly minimal desktop, at least in the 3rd sense you gave. I even just now for the first time put my panel on the left side. My only complaint about it is that my window list degrades to nothing but little buttons with “…”. I may attempt to install DockBarX to get something more usable.

    A few tricks which I do like to use though. For 99% for my “web browsing” I actually use liferea to read RSS feeds, so it helps a little more than a full web browser. I also have all of the Debian repositories mirrored locally using apt-mirror. I have just enough space for that and my ~40G flac collection on the data partition of my 160G netbook HD. A full set of music and apps whenever I want them have proven to be very nice indeed.

  5. #5 Nemo
    July 7, 2010

    Re: Firefox, I’d X out the “Find” bar — it will reappear (well, as “Quick Find”) if you just hit “/” outside of a text entry window — and turn off the option that displays the tab bar even with only one tab. But yeah, F11 is still helpful.

    Some of the netbook-oriented distros (like the old Ubuntu Eee, which I’m still using) include Maximus as standard. It auto-maximizes, as well as removing the title bar (or rather, merging it into the top panel), although you can manually unmaximize.

    For blogs, I use Google Reader, which strips out a lot of cruft, although it adds some of its own (at the top, which is unfortunate). But that strategy is thwarted here, since you typically put a lot of stuff “below the fold”, which doesn’t come across in the RSS feed.

    Of course there are some RSS readers for Emacs.

  6. #6 Greg Laden
    July 7, 2010

    I had not thought of an RSS reader for emacs.

  7. #7 Adam
    July 7, 2010

    Might I suggest a tiling window manager instead of a full desktop environment? You can get started with Bluetile in Gnome or try dwm or wmii (at suckless.org). Most distros should have all three in the repositories.

    As a fellow Emacs user, I prefer Musca (with bmpanel for a minimal panel) because its keyboard controls don’t clash with Emacs bindings. It’s also one of the easier TWMs to configure, IMHO. It’s in the AUR if you’re using ArchLinux.

    Oh, and for the Emacs browser, w3m should work for most text-only needs, and Conkeror is a XULRunner-based browser styled after Emacs.

    Hope this helps!

  8. #8 Roger
    July 7, 2010

    GNU Screen started in framebuffer virtual terminal, and when X/DWM is started — then I use URxvt + GNU Screen.

    DWM is the way to go for a minimal X desktop.

    Using Gentoo and only compiled with needed USE flags — switching all default USE flags off.

    USE=”X -acl cups -directfb -gnome -gtk -qt3 -qt4 -svga -xft -tk”

    One could even disable -cups and use LprNG — but if they’re using a fairly recent printer, using cups won’t save much in resources.

    Some other minimalists apps: geeqie, dillo, dmenu, elinks, mutt, abook, cdw, cmus.

    The latest I’ve app I’ve found, linux-dvb now has atsc_epg for pulling EPG data from a TV card into a normal text file. One could use VDR, which is appears a lot lighter then MythTV’s bloat, but I’ve found it difficult to setup — and, still heavy as my tv card only needs mplayer/mencoder — even “cat” will pipe the mpeg to a file!

  9. #9 TGM
    July 8, 2010

    @Dann

    Ever tried reconfiguring your monitor and mounting it sideways? 180 pixels doesn’t matter when you’re running 1080×1920!

  10. #10 Dune
    July 8, 2010

    You must love Microsoft Office 2007

  11. #11 scorp123
    July 8, 2010

    Re: Text interface browser for Emacs

    You know that there is a browser called “w3m” and that that one does have a Emacs plugin?

    http://en.wikipedia.org/wiki/W3m

    “… w3m is also used by the Emacs text editor via the w3m.el Emacs Lisp module. This module gives fast browsing of web pages inside of Emacs. However, rendering of web pages isn’t done in Emacs Lisp; only final display is handled in Emacs Lisp with the rendering done by the w3m application. There is a native web-browser in Emacs, called Emacs/W3, which does both rendering and display computation entirely in Emacs Lisp, but w3m.el is much faster … “

  12. #12 JohnP
    July 8, 2010

    Why can’t we have a minimal Linux install by default?

    A few weeks ago, I found myself needing a media center-like install. It needed to run on a Via CPU with a built-in GPU and 512MB of disk.
    XBMC would fit, but it required OpenGL 2.x (really 1.4, but the GPU was only 1.2 capable). Next I looked at smaller sized, yet popular distros – Ubuntu can’t be installed on less than 600MB according to their wiki. I didn’t want a 2.4.x kernel, so DSL and puppy linux were out. I kept searching.

    Then I found TinyCore. 11MB base install, which includes X/Windows. 2.6.3x.xx kernels. Lots of packages available. Install only the apps you want. Dependencies will be included in the install. I was able to get firefox, thunderbird, vlc, mplayer, and a few other apps installed in just over 180MB.

    Programs run FAST. Really FAST.

    TinyCore isn’t perfect, but definitely worth a look if you want small installs, very few excess programs, AND minimal desktop clutter. The launcher is very Mac-like.

    Oh, and emacs stands for Eats Memory And CoreS. We all know that. ;)

  13. #13 dezza
    July 8, 2010

    Openbox with your favorite panel is the way to go minimal.

    Fluxbox is a cluttered piece of crapcode left from Blackbox which breaks compatibility with every theme ever created for Fluxbox because it changes it’s syntax in every release ..

    Also, use a CLI program whenever available if you can handle it.

    Other than that, I would avoid anything KDE* or GNOME* dependant and only rely on GTK or QT dependant apps.

  14. #14 Hadret
    July 8, 2010

    CrunchBang FTW! (:

  15. #15 Scot McPherson
    July 8, 2010

    You know, if you want a truly minimal install, then do Linux From Scratch. You choose atomically which software bits to install, which drivers and modules to compile into the kernel, and configure the desktop precisely the way you want from the beginning rather than undoing the distribution defaults.

  16. #16 DC
    July 21, 2010

    Very interesting topic and tips are great.

  17. #17 Ubuntu Linux Tricks
    July 28, 2010

    Linux is now more safer than Microsoft operating system.It is giving huge platform to work with.

    Rajesh Shah