Yesterday, David Williams posted on ITWire’s Linux Distillery an article about how Linux is keeping Microsoft honest. The real meat begins with a discussion about Windows PowerShell, Microsoft’s newest scripting language. ‘New’ is a relative term, as Williams points out that the scripting concept is not only a very old one, but that the punch cards of computer lore could be considered the first form of scripting. Williams points out that the Windows trend of ‘dumbing it down’, creating GUI tools to replace thousands of keystrokes, may be reversing. The focus of PowerShell, a CLI, is to replace thousands of mouse clicks with scripts. Williams continues with the revelation that PowerShell is becoming ‘entrenched’ in Microsoft’s server offerings, including a headless, GUI-less mode for Windows Server 2008. He attributes this shift in design philosophy to Linux.
I think this is great news for Windows, because as systems grow, especially online offerings, effective system management depends on efficiency. Ultimately, this means automating as many maintenance functions as possible. With Linux and other *nix platforms, this has never been a problem, but the Windows CLI has been fading into obscurity for many years now. The DOS shell sat right on top of the kernel, but beginning with NT, the ‘command prompt’ became just another application that had to operate through various other layers, such as the oppressive NT HAL, diminishing its power. Moreover, the range of CLI utilities remained unimpressive. Thankfully, products such as MKS Toolkit, Cygwin and Sourceforge’s UnxUtils have helped to fill that gap.
Let’s not forget that the CLI is useful for far more than executing OS-related functions. In my experience, all the best software applications offer a CLI interface. I implement systems that help IT managers manage the activities of their staffs, including helpdesk and other customer issue management suites, source code control and software media distribution centers, and project/programme management repositories. I always look for software that provides a Unix release, even if the target platform is Windows. Why? Unix-based applications almost always include a CLI which is almost always ported to the Windows release if one exists. Not only is the CLI of great use to me from a user’s and administrator’s perspective, but I know that the existence of a CLI usually indicates that the software has tested more thoroughly. If an application has been designed well, then the CLI functions call the same underlying subroutines as their GUI counterparts – this allows the vendor to easily write (and more importantly, to execute) scripts for regression and load testing. Nightly smoke tests of new builds are possible without the maintenance of complex GUI-based test harnesses. Don’t misread me – the GUI must be tested, just not to the same extent as when the GUI is the only interface available.
Where’s the FUD? For years, Windows zealots have denounced Linux for being arcane, hard-to-use, and backward. Heavy reliance on the CLI for administration was cited as a failure to progress (through obstinacy, ignorance or both). Now, it appears that Microsoft is admitting that a powerful shell is indeed useful, forcing its fanboys to dine on crow tartare.
The return of a powerful shell is a step in the right direction for Windows! Is this really due to Linux? I wouldn’t be surprised.
Your first thought when reading the title of this post is probably, “WTF? Why would I need that?” Well, if you’re like me and you love customizing your Gnome system, you’ll know that during your customizations, you have to reload this and reload that for your new changes to take effect. Sometimes its simply because a change you did caused some problems and something didn’t load correctly. Whatever it is, most of the time it requires you to use the killall command in the terminal.
This is common enough for the Gnome panels and for Nautilus since it draws and handles the desktop by default. I was tired of pulling up a terminal window and typing in the killall commands to “refresh” my GUI or Desktop or repeating them if I had already ran them previously. Not that it takes that long to do. I just wanted a quick “button” I can click that will do it automatically.
So I did it myself. Not very complicated, really. Actually, it’s not complicated at all.
- Right-click the panel or drawer you want the button to be situated
- Select “Add to Panel…” and the “Add to Panel” window will open
- Click on the “Custom Application Launcher” at the top of the window
- In the Launcher Properties, select “Application in Terminal” as a Type
- Name it “Refresh GUI“
- For the command, type in: “killall gnome-panel nautilus” without the quotes
- For the comment, type in: “Reloads the panels and the desktop (Nautilus).” or whatever you want.
- Click on the “No icon” button and choose an icon of your choice.
- Click close and you’re done
Now, whenever you need to reload/refresh your Desktop, you can simply click on your brand-spanking new shiny button!
Did you remember to subscribe to Linux FUD?