Normally, I’m comfortable with Gnome. It’s a great desktop environment, is reasonably useable (moreso than its competitor, KDE), and is acceptably pretty. The tools just work.
At least, that is, until things break.
Apparently, a recent update to Debian’s X.org broke compatibility with my video card driver, preventing me from logging into my desktop. Normally, I would use command-line tools to connect to the Internet, fix it, and resume my daily life. Such is the beauty of Linux: when things break, you can always go one step before the broken part, and fix it. Only, recent additions to Gnome have made things far more difficult than they need to be.
Firstly, in order to download fixed versions of the packages, I need to be connected to the Internet. Gnome provides a tool called NetworkManager which automagically detects wireless networks around you, connects to ones you’ve told it to allow, and generally stays out of your way. It’s a pretty damned useful tool, and is a lot nicer than how Windows handles wireless/wired network connectivity.
The problem is, I’m on the Georgia Tech campus. Which requires a WEP key to access their network. NetworkManager stores the key, so I don’t need to remember it (and it’s a random hexidecimal value as opposed to an easily-remembered word). But there don’t appear to be any command-line tools to manipulate NetworkManager, which means I can’t have it connect for me. I’ve got to find that WEP key.
Well, Gnome provides a keyring, which stores all of your passwords in one centrally-managed area. This way, you only have to remember one password which unlocks your keyring, and the keyring is responsible for providing specific applications with the correct username and password required. Also a great idea: in a world where we can have dozens if not hundreds of usernames and passwords (and rightly so, reuse of passwords can be extremely dangerous, since someone discovering one can have virtually unlimited access to anything that password goes to), it’s a great way of keeping the things you have to remember low, while still maintaining good security.
Only, there’s no command-line tools for it either. It encrypts the passwords before placing them on disk, and it appears that there’s no way to retrieve these passwords from the file without running the GUI application. The file-format is documented, which is great, but it’s virtually useless for quick, command-line retrieval of passwords. Bad.
The net of it was that I ended up having to bum the key off of some other student, then get to actually fixing my display driver. It should have been as easy as something like
nm-connect <essid>
or
gnome-keyring-retrieve --program network-manager <essid>
Writing sky-high abstractions like desktop environments and the tools to navigate them is great, but please provide shell tools so we can access things that aren’t in a plaintext config file (i.e., encrypted passwords), or manipulate running daemons (i.e., network-manager). Examples of this are, respectively, gconftool (allows easy command-line access to the gconf configuration daemon) and gnome-screensaver-command (lets you manipulate the gnome-screensaver from within a script). More tools like these are sorely needed.
Post a Comment
You must be logged in to post a comment.