|• Operating System
Definition:These are two types of interfaces between a computer application and the user. They are
- GUI (Graphical User Interface), where the user clicks on a visual screen that has icons, windows and menus, by using a pointing device, such as a mouse. GUI is pronounced like "gooey".
- CLI (Command Line Interface), where the user types a text command and the computer responds accrording to that command.
Related Discousions: GUI vs CLI
In the Linux Forum, there is an interesting debate going on about GUI (Graphical User Interface) and CLI (Command Line Interface), two modes for users to interact with the computer. Valid but opposing arguments were made by both sides:
PRO: GUI makes it easy for the user, therefore makes the OS user-friendly
CON: GUI interface means the OS is "dumbed down"
PRO: CLI gives the user more control and options
CON: CLI is stone-aged; it belongs to a "The History of Computers" museum
PRO: Xwindows is a progress compared to the CLI Unix
CON: Xwindows presents a really big security risk...load it and you are asking to be hacked
PRO: Using GUI is faster. Pick and choose icons sure beat try to remember and type command lines
CON: Using CLI is faster. A keyboard is pretty much all you need here, much faster than all that clicking, scrolling, clicking some more, scrolling some more, and more typing, then clicking.
PRO: GUI consumes too much CPU and memory.
CON: With newer and more powerful computers, that is not a problem. And its benefits are well worth it.
My feeling is that people's strong preference for one interface and stern rejection to the other are sometimes more psychological than technical. There are those who are afraid that without the comfort of the colorful clipart they have grown custom of seeing on their screen, the blank screen will take right back to the dark ages, when computers were handled only by a few tech wiz. At the other end of spectrum, there are those with what's known as the "superiority complex" over GUI. For these people, GUI is totally beneath their über-geek status and mastering CLI is a wiz-kid honor.
The truth, as usual, lies some where in the middle. CLI and GUI are essentially complementary modes of interacting with the computer. CLI is generally easier if you can remember the commands and the options, which is the case if you use it a lot. If you don't use certain functions a lot, a nice GUI can help you find them quickly. Of course whenever you have to repeat a command many times you should automate the process by writing a script, but in theory you could link that script to a button or menu item in a GUI. It doesn't have to stay at the command line.
So, in the user-friendly vs. control and options debates, both sites have a point. But there is a third point: GUI and CLI can be used together to achieve great things that either one alone can't. This is particularly true with Linux where the user is given the flexibility of switching back and forth between GUI and Command Line easily. One example is that Linux CLI and GUI can give the user the ability to work on any computer on the network as if you were sitting at that computer. On Unix/Linux (running X-Windows) all you need to do is use the xhost command to specify which computers you want to allow access, and the DISPLAY environment variable to specify on which computer you want to start the GUI of the program you want to run. (Details on how to do it.) What's your opinion on this topic? Share with us.