Thursday, November 5, 2009

The Linux desktop

I'd like to switch gears for a little bit here, and talk about the Linux desktop. This is a topic I'd like to return to on this blog, from time to time.

I've been a Linux user since 1993. While the Linux desktop was very immature at this point, I was drawn immediately to the concept of virtual desktops. This allowed me to keep my work separate and organized - rather than cluttering up a single desktop with lots of application windows, I could put related programs on their own virtual desktop.

If you followed the "virtual desktop" link above, you can see a tour of some older Linux desktop environments. Many people who dismiss Linux on the desktop may have had their first experience on TWM or FVWM. I'll be honest - looking back, those were not great window managers. They were good for the era, but they don't age well compared to modern desktops.

So I'd like to introduce you to the Linux desktop today. I've been using Fedora 11 since June (but Fedora 12 is due soon.) Here is what my desktop looks like: (click to see larger version)

I created a "demo" user to take this screenshot, so that all the settings are at their default values. This is what a fresh install of Fedora 11 would look like.

Looks kind of like Windows, right? It's not too far off, although there are some differences:

The "Start" menu is at the top of the screen (Windows puts this at the bottom.) The Fedora logo is that blue-circle "F", so you click that (labelled "Applications") to launch programs. That top bar also has menus with bookmarks to folders, or to run system tools (like, to add a user or change your password.)

At the bottom of the screen, you have a window list (shown empty in my screenshot, because I'm not running any applications) and the workspace switcher (virtual desktops!) By default, Fedora 11 gives you 4 virtual desktops.

I usually explain the two "task bars" as: the top bar shows things you can do, while the bottom bar shows things you are doing.

By the way, making that screenshot was dead simple. Press the Print Screen key (may be labelled "PrtScr" on some keyboards) and Linux saves a screenshot of your desktop to a file: (click to see larger version)

If you don't want to save a file, you can choose to copy the screenshot to the clipboard, and paste it into a document later. Or to grab just the active window, use Alt-PrtScr.


  1. This comment has been removed by the author.

  2. I have to agree. The modern Linux desktop is highly usable, and should satisfy most user's needs assuming they don't have a requirement for some Windows-only application that doesn't have a replacement.

    Just today I upgraded my work computer to the new Mandriva edition (2010.0) that just came out Tuesday. I'm a big KDE fan and it's probably the best KDE distribution.

    Now, this is an older work computer, a P4 without HyperThreading but with SSE3, 1 gig RAM, 80 gig HDD. The system boots (time from the selection on the boot menu to login screen) in 23 seconds! It's usable less than a minute later after login. I know Microsoft has put lots of effort into speeding boot, but I know the XP this station came licensed for took much longer to start.

    Oh, and all the device drivers work (I'd have to download the network driver on a different system when installing XP) out of the box - even the ancient "IBM PC Camera" webcam that has been abandoned on Windows. Setting up dual monitors was really easy as well.

    All in all, desktop usage of Linux has come a long long way (I remember playing with RH5.2 when it first came out) to get the speed, flexibility, and usability it now has. If people have tried Linux on the desktop even a year ago, it's worth another look - things improve in Linux at a very fast pace.

  3. youngmug, I liked your comment about how quickly Linux boots, even on this older machine. Reminds me of some posts here a while back - I'll take this opportunity to share them again.

    I've discussed before how quickly Linux boots compared to Windows.

    On my system (Dell Latitude D430, Intel Core2 CPU @ 1.20GHz, 2GB memory) Linux/Fedora11 boots and gets me to a web page in just over 1 minute. On the same machine, Windows Vista boots and gets to the same Google search page in just over 2 minutes.

    This is interesting, because both Linux and Windows went from BIOS to login prompt in about the same time (36-40 seconds.) On your system, you have similar results.

    And yes, I'm sure XP took longer to boot. I compared boot times on an older Linux/Fedora10 laptop, to a newer Windows XP laptop. Linux was about a minute faster despite running on older, slower hardware.

  4. @JH: I have no problem with XP startup times (in fact it seems to start up faster than Debian Lenny) - but then it is actually running as a virtual guest under Lenny. It's great - whenever WinXP hangs I can get back to work in under a minute. :) I did manage to get Lenny upset though (and have to log in from a separate machine to sort things out). I think I'll be much happier when I'm running a kernel with no more trace of the ancient Big Kernel Lock.

  5. I just want to reiterate what a Good Idea virtual desktops are. This is especially true when you get a whole ton of them and start basically putting each program on its own desktop and can easily switch between them with keyboard shortcuts. I just had my work machine switched from Linux to Windows, and that's like the one real thing I miss in the transition. I used a tiling window manager called Awesome before, and had (*looks at my config*) 29 virtual desktops on each of two monitors. (In fairness, I could have easily made due with about half as many.) I'll explain my setup.

    Each desktop got a key which, when pressed in combination with Mod4 (the Windows key), would switch to that desktop on the current monitor. The keys were the numbers 1-0, F1-F10 (it looks like F11 and F12 weren't assigned... I don't think there's any reason for that really), and the letters W, A, R, M, I, C, E, Y, and X. Some of the letters were inherited from my friend whom I got the config from and didn't bother to change, but Y, I, and X are particularly notable. The reason for this is that I used the Dvorak keyboard layout and use an ergonomic keyboard, and those letters (along with 6 and F5) are exactly on the "split" between the halves of the keyboard, so are particularly easy to hit without straining.

    I would thus set things up as follows:
    - On my left monitor
    -- On Y was Pidgin
    -- On I was Thunderbird
    -- On X was Firefox (in contrast to Windows, where I often have many windows open at once, I almost always stuck to 1 when in Linux as using multiple windows in the way I tend to was a bit more obnoxious with the tiling WM)

    - On my right monitor, whatever I was working on primarily got the primary real estate of Y, I, and X.
    - A couple programs that I started at login and kept running (for a variety of reasons I didn't have them start in .xsession or whatever) were put on desktop 1 since that's a little awkward to switch to with one hand.

    Beyond that I tended to expand to whatever keys were convenient. At any given time I was likely to have probably 10 desktops in use on each monitor.

    And it was really really nice to just be able to hit Win-I to check my mail then Win-4 or whatever to get back to what I was working on, and other similar things. None of this "reach over to the mouse and switch to the window" or "use alt-tab a few times to get to what you want" that you have to deal with if you start having a lot of windows overlap (which you get almost immediately if you don't have virutal desktops).

    Finally, I first used the Gimp on Windows, and I hated it. And the reason, as I realized later, was that the only way it's remotely usable is if you don't have to spend time managing its windows. If you can stick the Gimp on its own virtual desktop -- and switch desktops if you want to search online for instructions or something like that -- then it's not bad. If you can't do that -- and have Gimp windows intermixed with other programs you're using -- then it's awful. In Windows, you're in the latter case.

    Now if you think about what I was actually doing There are other ways of achieving a similar goal. What I was really doing with my setup was getting a way to quickly and easily switch between different programs with the keyboard. You could imagine a setup that would just have everything on one desktop, and you could hit a keyboard shortcut to raise and focus that program. While I'm not really aware of anything that does this reasonably, I think it'd work decently well.

    Windows has third party programs (and at least one first-party, powertoy-like program) that provide virutal desktop support on Windows, but... they're not very good. Switching desktops is usually kinda slow, and not all programs work very well with them. (I've had two with my recent tests. One of them would always open off screen, and the other would not sometimes switch desktops with me for some reason.) It's much more seemless with Linux window managers.

  6. TLDR version: Virtual desktops are the biggest UI feature, and maybe the biggest feature period, that I wish MS would put into Windows.

    (BTW, I'm posting from a new completely clean Windows installation with a clean Firefox 3.5.4 installation, and I still can't navigate this text box with arrow keys/home/end, copy from, or paste to it. This is the same problem I had on this computer with FF under Linux and have on my other two computers when posting from Firefox on Windows. Any idea what's up? Am I alone here somehow? IE and Opera both work fine.)

  7. @evaned: "BTW, I'm posting from a new completely clean Windows installation with a clean Firefox 3.5.4 installation, and I still can't navigate this text box with arrow keys/home/end, copy from, or paste to it. Any idea what's up? Am I alone here somehow? IE and Opera both work fine."

    Firefox works fine for me, on Linux and Mac. I can navigate with the keyboard ok.

  8. Right now I'm using Linux Mint 7, but I'd like to switch over to Fedora 11.
    I tried doing so yesterday through a live USB (UNetBootin), but the installer crashed and would not get past the partitioner.
    Why is this?
    Thanks for the help!
    a Linux Mint user since 2009 May 1

  9. PV, I haven't used UNetBootin, but I have used LiveUSB-Creator with great success. Try that.

    JH, I think it's great to see more Linux stuff here. Keep it up!

  10. Useability studies have found that having clickable things near the edge of the screen cuts down on wasted time due to overshooting the target.

    And I can't navigate with the arrow keys in Firefox either.

  11. Well... at least I'm not alone. Weird that some of us can and some can't.

    Anyway, I installed an extension that puts a little "edit" button below <textarea> fields which opens Emacs to type the post. Way better anyway, and solves the "damn, I hit 'close tab' after spending 15 minutes typing something up" problem too. ;-)

  12. I've just loaded Fedora 11 on my Acer One netbook (10" screen). I found some windows (like Config Display Settings) when open have the "OK/Cancel" buttons below the visible part of the screen making it impossible to change anything (although there is only one resolution listed). Trying to resize the window doesn't help as it seems to be as small as I can make it. Anybody have this problem also?

    Ozzie Oswald


Note: Only a member of this blog may post a comment.