Problems for shared desktop computers.
I share a home desktop computer with my wife. Our computer
use is probably
pretty typical of a home computer shared between a small
number of users,
where only one user is logged in at a time, and users have
some shared files
and some private files.
I've found many things that don't work as well as they could
in this
situation. We use Gnome on Debian GNU/Linux, but most other
desktops have
similar problems. I know fixes or workarounds for most of
the problems below,
but novice users would probably have a hard time finding them.
Some of the problems below are relatively easy to fix. Most
already have bugs
filed in the appropriate places, and some already have
patches available. A
few problems may require hard work or fundamental design
changes to solve.
Here is the complete list of problems:
User Switching:
- If I select my name from FUSA while I'm not already
logged in, GDM appears
and I have to type my username. (The username should be
filled in
automatically.)
- When GDM is started by FUSA, the X server has slightly
settings, causing the
fonts on the login screen to be a different size than my
normal settings.
- When I log out, I am taken either to a login screen or
to another user's
session, depending on the order in which users originally
logged in. This
is arbitrary and unpredictable.
- If I switch to another user, my screen is locked.
Later, if the computer is
displaying a login screen and I type my username and
password, I need to
type my password a second time to unlock the screen.
- When I shut down the computer, it does not warn me if
other users are still
logged in.
Filesystem:
- By default, users can read all of each other's files,
and write to none of
each other's files (umask 0002). This is a reasonably
sensible default, but
most users on shared systems will want to change this to
some degree.
- It's very difficult for a user to change which other
users can read which of
her files. (Some strategies include making some or all
files world
writeable; adding the other users to her primary group;
creating a new
shared group and a share setgid directory owned by that
group; changing her
umask; and/or manually changing permissions of individual
files.)
- There is no good location by default for shared files.
Various programs
complain (correctly) about insecurity if my home directory is
group-writeable, so I must create a world- or
group-writeable (and setgid)
directory elsewhere.
- Copying from other locations, or using programs that do
not respect umask,
can cause users to inadvertently put non-group-writeable
files in shared
setgid directories. Other users of the shared directory
have no easy way to
fix this.
- Some programs modify permissions or groups of files when
overwriting them.
(Usually this happens if the program moves the original
file to a backup
location, then writes a new version using the default
settings instead of
the original file's settings.)
Application data:
- Applications that maintain a database of files (e.g.
photo managers, music
players) must be updated for each user when one user adds
new files to a
shared directory. For example, when I rip a CD to our
shared music
directory, my wife can't see the songs in her music player
until she
adds the new files to her database.
- Applications that store their data in hard-coded
locations in user home
directories (e.g. Tomboy, Miro) can't share files between
users. There is
no setting or permission that will let my wife open Tomboy
and view my
Tomboy notes, for example.
Installing software:
- When I install software using the system admin tools, it
changes the
application menu for all other users too.