Friday, March 17, 2006

Making Your Terminal into a Desktop

Subtitled "The Value of Screen", this is a brief Linux tutorial on why one might wish to make the CLI (Command Line Interface) your default desktop. It is quite possible to do this in Linux, and even to view graphics without starting X at all.

I get a fair amount of "stuff" from Joe about my use of the command line. I don't do it anywhere near as much as some folks I know, but I do make good use of it, fairly frequently. There are reasons. If I'm using my laptop, it makes the battery last a lot longer. (I haven't measured, but my best estimate is that the battery lasts well over 50% longer in CLI than with the graphic interface running!) The command line is often faster than performing the same tasks in the graphic environment.

Even Microsoft has admitted that a command line shell is THE place to work at times and will be including a very, very powerful shell (code named "Monad") in at least some versions of Vista and upcoming server releases. After years of trying to eliminate as much of the command line shell as possible, Microsoft listened to their users and will give them this tool, which they need very much.

Read this one, over at Linux Planet and see why I, and many others, use the CLI as much as we do. I still have machines (yes, plural) without any type of graphic capability at all and, frankly, love them as text entry devices.



  1. Jeffrey Snover12:54 AM

    I'm the architect for Microsoft's Monad project so I obviously agree wholeheartly with your view of the value of the CLI experience. That said, I don't believe that there NEEDS to be a conflict between the a CLI and a GUI (tension - yes; conflict - no). We've designed Monad from the beginning with the idea that GUIs would be layered on top of the CLI. This is one of the core reasons behind the design of our cmdlets (small commands) as in-process .NET classes. This allows them to be invoked with VERY low latency and overhead and it allows the object to return LIVE objects which can then be used in the GUI. If you spawned a process for every action, it would be harder to have a rich GUI experience (See IBM's SMIT utility [which I love by the way - but it struggles with this problem]). In the CLI case, we take the live objects and produce a TEXT view of them.

    BTW - it is also the reason why we have things like WRITEPROGRESS(), an API that cmdlets call if their action will take more than a second or so.

    If you take a look at what Exchange 12 has done with their admin GUI, you'll see this approach in action. Their entire GUI (which is quite rich) is layered on top of Monad. They've done an excellent job so I encourage you to check it out. There is nothing you can do in their GUI that you can't also do from the CLI.

    Anyway - my point is:

    Jeffrey Snover
    Monad Architect

  2. Curtis9:45 AM

    Thanks for posting this one. Although I probably don't use "CLI" as much as you and others do, I certainly enjoy it. I think "CLI" is a bit of a challenge, but it helps one understand some of things that happen in the background of a "GUI". I'm not a programmer, but have installed a number of Linux distributions and have used the "CLI" exsclusively on some of them. Using the "CLI" can be somewhat frustrating at times, but like you and Jeffery have stated, it's very powerful. I'd like to encourage anyone who hasn't installed Linux and tried using the "CLI" to give it a shot...if you're curious and interested.

    Curtis Hurd


All comments are moderated.

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