Open Source: Multitasking with X and Linux

Are you in the market for a new laptop, desktop or server PC with Linux installed? Please give us the opportunity to quote a preloaded Linux laptop, desktop or server system for you.

I am talking about human multitasking here, not operating system multitasking. Every time I have to work on repairing a Microsoft Windows based system for a client I feel as if I am restricted to typing with one finger while blindfolded. Okay, I admit that is hyperbole. But after using X with fluxbox and Ten Workspaces on fluxboxten workspaces as well as the Linux console (1, 2) with screen for several years now, a Microsoft OS experience seems very restrictive to me. There are no multiple workspaces by default on a Microsoft desktop and adding anything to give a Microsoft system multiple workspaces would not be the Right Thing To Do when working on someone else’s PC system.

Another restriction is with multi-user on Microsoft. With my Linux desktop PC I have a user for work related tasks and a user for relaxation and gaming tasks. I can keep the work user logged in, switch to a Linux console using Ctrl Alt (F1-F6), login the game user, start a second X GUI session with startx startxfce4 — :1 and play a short game while “stuff” keeps running under the work user in the first X session. If I am playing a buggy 3D game that may crash X, I have no worries about my tasks in the other X session as they would be unaffected if a poorly designed 3D game took down the second session. I can do this “out of the box” on a typical Linux distribution installation. If you are from the limited Microsoft universe you have no concept to compare to this on a standard, out of the box, Microsoft desktop PC. Yes, you can switch users. But if you switch users as I do to play a game that subsequently crashes the Microsoft GUI called “Windows” it all crashes. Not just the session where the faulty program broke the GUI. It is also truly simple to switch between or among multiple sessions of X on a Linux PC. Just use Ctrl Alt F# to switch back and forth, where # is the virtual terminal number for an X session. For example, my first session is on virtual terminal 8 and my second session is on virtual terminal 9. To switch between them I use Ctrl Alt F9 and Ctrl Alt F8.

I am a “computer guy” and am one of the people that other folk call when they have a computer problem. Several of my clients are set up with VNC software so I can connect to their systems over the internet. For the clients that are running a Linux server or desktop PC from my company, I can connect with SSH to provide support. Some of these clients have contracted with my company to handle their Microsoft updates each month. So, for a fee, I do the boring work of making sure their Microsoft updates apply each month and resolve any problems that may arise for them due to a Microsoft update failing or conflicting with installed third party software. I also check third party software to see if those too need updates, as there is no central repository for updating everything as there is for a typical Linux distribution. I use UltraVNC at the client sites, because it has a Win64 version, and Vinagre with Two SSH Sessions RunningVinagre here at the SOHO. With Vinagre I can connect to multiple systems, using SSH and VNC, and be working on each of them simultaneously. My limitation is usually the “speed” of the internet connection at each end. Usually more than two client systems updating at the same location while trying to use VNC will cause remote sessions to timeout and drop. But, I can easily connect to two, three or four PC systems at two, three or four different client sites simultaneously and work on their systems remotely at night without a noticeable problem on my end. Being able to do this all with “free” software both at the client and on my side means I can multiply my ability with multitasking to support my clients without breaking the bank for my small business.

My Linux “desktop” is fluxbox as I stated above. I also stated I have ten workspaces. In my experience workspaces allow more efficient human multitasking. I do not suffer GUI clutter as one does on a single workspace system such as Microsoft’s “Windows”. I keep several programs running on my system all the time. Each workspace is designated to a specific task. So I know if I need to create a Labor Sheet for a client and make an invoice to send them, that is workspace 8 where I have Writer and GnuCash running. If I want to chat with a friend on Instant Messaging that is workspace 5 where I have Kopete running. If I want to browse the WWW or write an article for, that is workspace 3 where Firefox and Opera are always running. Should I want to listen to music while I work that is workspace 6 which I designated for multimedia tasks, meaning music and videos. With these multiple workspaces I can keep programs running with their window showing. So, when I want to switch to a running program, I just switch to the workspace where the program is running. I do not have to hunt through a list of minimized programs on my task-bar. Thus saving my time to be more productive.

What does this mean to you if you are a Microsoft user? Well, until you can experience multitasking on a Unix or Linux PC this will mean little to you. I regularly get comments like, “Oh, that would just confuse me.”, or, “I see no need for that.” from my Microsoft using friends. But my Linux using friends will likely all nod sagely and smile when I talk about work efficiency and human multitasking on Linux. Until you have experienced it and used Linux enough to get familiar with this, you will not really understand how beneficial multitasking with Linux can be for you. But if you come from the Microsoft camp to the Linux city and do give multitasking a serious look, and I mean long enough to get familiar with it, you might just get a clue about what I mean here.

  1. Meaning the text mode interface for Linux where no GUI or window manager is running. (back)
  2. Where is the Microsoft console? You may say there is one, but not really. Not compared to what one has on Linux and Unix. (back)

Discuss this article on:


Published by

Gene A.

Gene is a "Unix Guy", network technologist, system trouble-shooter and IT generalist with over 20 years experience in the SOHO and SMB markets. He is familiar with and conversant in eComStation (a.k.a. OS/2), DOS (PC, MS and Free), Unix, Linux and those GUI based systems from Microsoft. Gene is also a follower of Jesus (forgiven, not perfect), and this does inform his world view.

12 thoughts on “Open Source: Multitasking with X and Linux”

  1. I also multitask with screen on our FreeBSD server from an X terminal SSH session. IMO screen should be in every Unix / Linux user’s administrator’s list of must-have programs.

  2. Are you using something like devilspie to “force” the application to a Workspace?
    What about opening a link in the messenger? Does it open a Browser in the same Workspace?

    1. No, fluxbox has a RMB popup menu for the title bar of an application. On the menu is a “Remember” section with the options “Workspace” and “Save on close”. This works for ~95% of the programs I have tried it with.

      Added: However, some applications I do not set to “Remember” for workspace. Although workspace 1 is designated to xterms and file managers, I do not set those to stay there. I may want to open a file manager or xterm on the current workspace with the keyboard combo I created for those, instead of having to jump back to workspace 1. For those applications I just use a mental list to recall they are usually on workspace 1.

      Added 2: If I open a URL from IM it opens in a tab in the Firefox browser on workspace 3, which is what I want.

  3. When it comes to computing, most Windows users strike me as the kind of people that might say something like “If God intended for man to fly, He would have given us all wings,”  while the Linux users are out their colonizing other planets with faster-than-light travel.

    1. The workspaces themselves take negligible memory. Only the applications take any significant RAM. Of those, Firefox is the heaviest RAM user. But I would expect that as I have Firefox opening with 15 tabs on startup. It only gets worse from there. 😉 I can close Firefox and get back 700 MB or more of RAM. Right now with my typical apps open here is the output from ‘free’:

                   total       used       free     shared    buffers     cached
      Mem:       3112296    2484252     628044          0       9736     824072
      -/+ buffers/cache:    1650444    1461852
      Swap:      8177000     335252    7841748

      Hmmm, I need to look at reenabling the “code” tags for these comments.

  4. Awesome tip about using different users for different tasks. I often forget that about linux.
    That’s pretty much the same way I use desktops with OpenBox and like you said, it helps you in a phenomenal-way in terms of production.
    Do you use any helper programs to auto-magically put programs in desktops? (Like all pidgin windows go to Desktop 4?)
    One thing that’s always been bothering me is the way KDE handles desktops. It seems to me that the set up we have is good enough in the KISS me way (Keep It Simple Stupid)—that “improving” it means “breaking it.” But then again, I’ve never used that KDE feature. Have you?

    1. In answer to your question about helper programs, see my comment above. As to KDE, I do not normally use KDE. Mainly because I think KDE by default does take up resources, meaning disk space, memory and CPU time, I would rather reserve for my programs. I’d rather use a light window manager like fluxbox and add-on what I want instead of starting with bloat and having to trim the fat to get what I want. 🙂

  5. Anytime I *must* use windows it is a very painful experience… as is watching others attempt to even do two things at once on that OS. I’ve been slowly suggesting that people switch over for a long time now (assuming it meets their needs — which it almost certainly does). Many have switched and their experience trying to use windows again is the same: how did they ever live without these sensible tools?

  6. “But if you switch users as I do to play a game that subsequently crashes the Microsoft GUI called “Windows” it all crashes.”
    This may have been true for Windows XP if your graphics card causes a problem, but Vista and Windows 7 handle things a bit differently.  It’s possible for recent versions of Windows to reset the video adapter in the event of a crash or some problem with the driver.  The screen goes black for a few seconds, then returns.  No work is lost and everything continues to function.  I have 2 accounts on my Windows 7 machines.  One for myself and one for my girlfriend.  If I overclock  my video card I can experience exactly these types of crashes, but I don’t lose any running programs or data on either active account if such an event occurs.  In fact, I’ve had my Windows 7 machine for almost 2 years.  I use it for everything including high-end 3D games.  I have never had a crash that caused the type of problem you describe, nor a blue screen.  I’ve had the games themselves crash, but not the rest of the system.

Leave a Reply

Your email address will not be published. Required fields are marked *

Follow the directions below to post a comment if you are human. After 3 failed tries reload the page to start with new images.