August 2, 2007

Rough edges mar *nix-style configuration tool

Author: Bruce Byfield

*nix-style is a GNOME graphical interface for configuration options in your system or current user account. It makes no attempt to be comprehensive, nor does it focus on options that are available from the desktop menus or GNOME system utilities. Instead, it concentrates on lesser-known configuration options, such as customizing the bash prompt or suppressing the initial splash screen in GNOME. Arranged as a series of questions and possible answers, *nix-style is reminiscent of Bastille, the system-hardening program, though without that program's educational aspect, as it offers options with no indication of their pros and cons. In addition, users need to watch for rough edges, some of which could cause problems with their systems.

*nix-style 10.0 Alpha 2 is available for GNU/Linux as either a tar file or a Debian package. From the tar file, you can either build the package to be used by every user with the command su -c "make install" or as a Nautilus script for a single user with make install-nautilus.

The Debian package fails to resolve dependencies. In fact, the absence of xenity, which is listed as a requirement, is not even detected, while the absence of optional programs such as vim halts installation. Although you can soon apt-get your way out of dependency hell, the exercise is a nuisance because, when you see a Debian package, you don't expect to have such problems.

The Debian package seems intended to be available for every user, since it adds an item to System -> Preferences in the GNOME menu, but only the root user can go beyond the initial screen in the program. This setup works for the configuration of xorg.conf, the file that sets the behavior for the X Window System, but it requires that you cut and paste the directories created for individual preferences, such as those for the bash shell or GNOME, if you wish to use them in another account.

Configuring with *nix-style

Once installed, *nix-style opens with a list of nine programs or system elements that you can configure: bash, readline, vim, nano, gnome, audio-video-support, compiler,, and help. On clicking, "help" proves to do nothing except close the program, then display the name of the man pages for the last-selected item in the command line. For some reason, too, "none" is listed as a choice, even though the window includes a perfectly functional Cancel button.

Choosing any of the other initial options launches you into a series of questions and possible answers, with conservative default responses that generally reflect the defaults typical of any system. When you are finished answering the questions, *nix-style writes the changes to the system or user account, displays a message explaining what it has done, then closes without giving you the chance to choose another series of questions.

Note that, if you are only experimenting with the program, you should write down any file names in the final message. Otherwise, you may not be able to restore your original settings without a crash course in GNU/Linux configuration. If you happen to know which file *nix-style will write to, you should also be ready to interrupt the answering of questions to back up the file, especially if you are just testing the program.

*nix-style's section includes only a choice for changing the graphic-server, but several of the other question series include more than 20 questions. Even if you know everything the questions refer to, you can expect to spend five or 10 minutes with some of the sets of questions. If you don't know what a question refers to and therefore have to do some research before proceeding, then answering it can take even longer. Alternatively, when in any doubt, you can choose "No" as an answer to avoid causing any problems with your configuration or system.

Some of *nix-style's question sets are extremely thorough. For example, the set for the bash shell includes questions for setting the content and color of the prompt, whether the ls command should color-code files, and whether color should be used in man pages. Similarly, the vim questions set such aspects as the background color, the highlighting of syntax and matching brackets, the saving of the cursor position between sessions, and case-insensitive and incremental searches.

Probably the longest question set is for GNOME. It asks about adding a logout button to the screensaver after two minutes, setting a custom icon for the GNOME menu, setting the default behavior for such programs as Evolution and GCalcTool, and setting the behavior of windows on the desktop. Two especially useful options include setting which icons appear on the desktop, and whether full paths are listed in windows' title bars.

The audio-video-support questions are for Debian-based distributions only. *nix-style adds the repositories for debian-multimedia, from which you can install such nonstandard items as LAME for editing MP3 files, libdvdcss2 for playing DVDs, and the win32codecs for using such formats as WMV. It then proceeds to install the packages you have selected, although without asking you for confirmation.

What's lacking

*nix-style is valuable today, but at its present stage of development, many of the questions and the program's general behavior are cryptic enough that they can even momentarily puzzle experienced users, and cause others to make unintended changes to their systems. In this respect, *nix-style could learn from Bastille, which has a similar structure but takes care not to write any changes to the system without several warnings about what it is about to do.

Another way in which Bastille outperforms *nix-style is that Bastille does not simply write changes to the system. Most of the time, Bastille is careful to let you know what files are being altered. Moreover, Bastille includes brief explanations of the background to the questions it asks, and explains the pros and cons of each choice, and in which situations you might prefer one over the other. With this approach, Bastille not only hardens your system for you, but teaches you about security as it does so. *nix-style would be more useful if it adopted Bastille's approach.

Of course, if all you care about are results, then *nix-style is more than adequate. However, if you want to know where to make configuration changes yourself -- which is never bad knowledge to have, since you never known when the X Window System might be temporarily unavailable -- then for now you'll probably want to continue opening configuration files by hand rather than letting *nix-style do the work for you.


  • Tools & Utilities
  • System Administration
Click Here!