An idea for integrating Unix filesystem and GUI

James G james_gnz at clear.net.nz
Wed Nov 26 17:23:29 EET 2003


Unix's filesystem is (comparitive to other OSes) elegent in many ways.  
In implementing GUIs however, alternate schemes been created to identify 
drives mounts, settings, etc.  I think that this is unfortunate, and 
that the Unix filesystem is not far from being suitable as the 
foundation for a GUI.  (Although there would certainly be a lot of work 
required on the GUI side, to present the filesystem in a friendly way.)

I think that the addition of three new directories within the root 
directory would be a significant step towards making the Unix file 
system a suitable scheme for building GUIs upon.  The suggestion is that 
these directories would contain symbolic links to existing directories 
in the root directory, and the existing directories would be hidden 
within the GUI, making them appear to reside within the new 
directories.  This is a kludge, but less drastic, I think, than having 
dual filesystem/GUI schemes.

The new directories suggested are localhost, localdomain, and localos.  
(The presentation of user friendly names is a GUI issue, since GUIs are 
internationalised and the filesystem isn't.  I think the names localhost 
and localdomain are good candidates for reuse, since they are widely 
used to refer to the concepts required here.  The name localos is just 
chosen to fit with the other two.)

How the filesystem tree could then be displayed within a GUI:

# /
|
|-# This Computer      (localhost)
| |-# Administrator      (root)
| |-# Bootstrap          (boot)
| |-# Configuration      (etc )
| |-# Devices            (dev )
| |-# Drive Mounts       (mnt or media)
| |-# Temporary Files    (tmp )
| \-# Variable Files     (var )
|
|-# Local Network      (localdomain)
| |-# HAL                (hal)
| \-# (...)
|
|-# Unix               (localos)
| |-# Binaries           (bin )
| |-# System Binaries    (sbin)
| |-# Libraries          (lib )
| \-# User Resources     (usr )
|
|-# Programs           (opt)
|
\-# Users              (home)

With a GUI based on the filesystem, the filesystem would be more 
understandable to someone familiar with the GUI.  Conversely, the GUI 
would be more understandable to someone familiar with the filesystem.  
Working between the filesystem and GUI would be easier.  For example, 
with Computer and Local Network having representations in the 
filesystem, they could be accessible from a GUI desktop as symbolic 
links, and hence also accessible from a terminal, simplifying repair of 
a GUI desktop via a terminal.

I think this would ultimately be a better approach than the current dual 
filesystem/GUI schemes.

-- 
James G





More information about the xdg mailing list