Specifically, it allows the user to perform the following operations visually:
Here is how a directory would be added to the path using the Path Manager:
As shown, one can add a directory to the path by clicking on the Add button. This calls up the Directory Navigator widget, which helps the user specify the directory to be added.
How do you remove a directory from the path?
A directory can be removed very simply by selecting it and clicking the Remove button.
What about changing the order of directories in the path?
The Move Up and Move Down buttons help a user visually change the order of directories in the path. Observe that the directories specified in /etc/profile act as a unit. It is not possible to insert a directory in-between these directories. While moving a directory past these directories, all of them are skipped together.
The underlying "path model" we assume is that some directories are specified as part of every user's path in the /etc/profile file, and that each user can add to that in his or her local .profile file, using the $PATH variable. What if a user wants to define the path afresh without using the globally defined path at all?
The Unlink Global button detaches the global path from the user's PATH variable altogether. Its toggle, the Link Global button, helps to re-attach the global path to the user's PATH variable.
PATH=.
PATH=/bin:$PATH
PATH=$PATH:/usr/bin
These must be coalesced into one line (as shown below) before the Path Manager can be invoked.
PATH=/bin:.:/usr/bin
Isn't this unduly restrictive? Well, no real value (other than readability) results from having more than one PATH line in a file. The Path Manager widget provides that readability, so there's no real reason to want this "flexibility". It's perhaps also reasonable to expect that a lay user would not like to edit the .profile by hand once such a graphical tool is available. Besides, it should be easy for the Path Manager to first scan the profile files each time it reads them to check if the PATH variable has been manually placed on more than one line. If so, it can quietly replace those lines with the single-line equivalent.