## 2011-06-10

### Tech Support via CLI

Recently, I installed Linux Mint 9 LTS "Isadora" GNOME on the computer of a relative (who shall be known for the rest of this article as $relative). After the installation, we both got busy with things, so I couldn't properly configure stuff to$relative's liking post-installation, so I gave tech support for configuring stuff at home.

The thing is, $relative has never used a CLI before;$relative has previously only used Microsoft Windows and has never touched its command prompt. Although I'm continually becoming more comfortable with the CLI, I still retain a certain fondness, familiarity, and comfort with GUIs, as I was bred on Microsoft Windows as well until I was told about Linux Mint over two years ago. Yet, as I was giving tech support to $relative over an online chat, I felt far more comfortable giving CLI tech support, and I find this sort of ironic, if nothing else. Why? Both I and$relative, as I said earlier, are far more comfortable with GUIs. Yet if I wanted to give tech support for GUIs, I'd need to know stuff like exactly what applications to use, exactly what the menu and button structures are like, and exactly what errors would commonly come up. With a CLI, I'd just ask $relative to copy the commands I type into the chat box verbatim into the terminal, and copy back any errors output. And despite having never used a terminal before,$relative did it all with ease, and it was all working perfectly. And that's what's great about Linux now; it's easy, flexible, and extraordinarily powerful all in one, and users now don't have to deal with that immense power if they really don't want to.

1. And of course lets not forget that it's fairly trivial to set up ssh and screen. That way not only could you administer the system remotely but you can both attach to a shared screen session and he can learn from what you are doing.
Much easier to do with cli apps than via x-forwarding.

2. @T_Beermonster: I'm not into system administration. I'm just setting up a simple desktop setup, that's all. Thanks for the comment!

3. It's often system administration even if you don't think of it as such. Getting a wireless card to work - sysadmin. Upgrading packages - sysadmin. etc. etc. ad nauseam.

You aren't limited to sysadmin though - there is something slightly awesome about being able to set get-iplayer to download a TV programme at a relatives house. Or anything else you prefer to do.

4. You may want to give Teamviewer a try, it is free to use for non-commercial. It is super simple to use for both sides http://www.teamviewer.com/en/download/index.aspx?os=linux

5. verbatim is only for spoken quotes I think

6. The command line is an awesome tool. As you rightly point out it makes a lot of tasks so much easier if you are willing to put aside anti cli prejudices. Not only can you cut and paste commands but it's often easier to describe how to do something on he command line as opposed to trying to explain which button to click...

7. Hah exactly.. Im in IT Support (windows mostly sadly) and if I want to ask a user for the IP address of there machine should I a) try to describe how to click through parts of the GUI that the user has never used probably or b) start --> run -- type cmd --> type ipconfig.. read out IP please.

CLI is awesome also for documentation as well.. a GUI tutorial or how-to is a million pages long with screen shots.. CLI is one page

8. @T_Beermonster: I suppose that's true, but I'm not really interested in stuff like downloading TV shows onto someone else's computer remotely.
@scan: I've seen it before, but the reason why I do it in person is to show this relative how everything works, as opposed to doing stuff remotely and having the relative believe that everything has been hunky-dory from the start. I believe there's value in teaching along with doing actual configuration.
@Anonymous 1: Meh. It's a tiny semantic difference.
@Linuxrich: Exactly. With a GUI, I would need to know a program's interface and quirks inside-out to troubleshoot any potential problems; that's not true with a CLI.
@Anonymous 2: I agree that in those cases too CLI is much easier. That said, I am a little disappointed to see some CLI manuals that are really short (unless of course the program is really simple), because oftentimes CLI programs (e.g. ImageMagick) have tons and tons of options, and I'd like to see more major combinations of options spelled out so that I don't have to leave anything to chance/experiment.