From: Enrique Perez-Terron (enrio_at_online.no)
Date: Sun, 02 Oct 2005 12:23:48 +0200
On Sun, 02 Oct 2005 10:05:06 +0200, Doug Laidlaw <email@example.com> wrote:
> I am getting rather tired of the idea that the distro doesn't matter - KDE
> is on them all and must be used for configuration. Certainly Windows did
> the same, but is that what Open Source is about? I might as well use
"Is that what Open Source is about?"
For much of the point with Linux is that things used to
accessible to me.
This has nothing to do with being easy for beginners. I am not a beginner.
What I mean by accessible... Just consider, if I dont know what that
process is doing that takes forever, it appears to be hanging, then
I can "strace -p 1234", and see what system call the process is waiting
in (e.g. read, select, etc), "ls -l /proc/1234/fd", and see what files the
process is reading or writing, etc. A program that fails mysteriously,
strace it and you see it tries to open a non-existent file just before
If I need to do something with a disk, dd and /dev/hd? are my friends.
Perhaps much of this is possible in Windows too. I have just never
seen anything remotely like the Unix/Linux/Gnu utilities.
I became a Unix "guru" long before I became aware of Linux. The "man"
command was my friend. Not that all those pages were allways so clear
and good, but there was a culture about letting things be explained.
Where are thing documented in Windows? Today you can find a whole lot on
the web. but that has come much later. Before the advent of the Internet,
the Microsoft experience was generally that of a black box. I once
came to say the Microsoft world was anti-theoretic (actually in another
language, the translation being rather "theory-hostile"). It turned
out to be a hit with my audience. I also have come to think that at
some point, the Microsoft culture must have found out that in order
to win the important secretary/office market, it was actually better
*not* to explain anything. The moment you begin to explain, many get
those empty eyes, and it seems obvious that they feel the explanation
is even more repelling than the technology. So, instead you tell them
that its all that simple, there is never anything to explain. If a
problem arises, oh sorry, just reboot and go on. People are so happy
with that, because they can manage that. But it does not suit me.
But nowadays, Linux is becoming just the same.
The documentation the comes with Gnome is hardly more than a false
pretension. Where is the configuration? What do they do that host
of programs that appear in the output of "ps -u myself"?
Earlier I had an awk script that could grep the output from ps, and
then find all processes directly ascending or descending from those
"grepped". It would present the data in a manner quite similar to
todays' "ps f", showing the hierarchy. That often made it easier to
find out what was going on in a script, because the subprocesses have
entirely different names, but looking at the leaves of the tree told
me at a glance what that script was actually doing at the moment.
It also worked the other way, if I am surprised of finding an unexpected
process, "psgrep thatprocess" would instantly show "crond" at the top
of the hierarchy, and I would say "Oh, yes, that is it!"
Today half the processes have PPID 1. Even the sid is clobbered.
What for? Probably a library call to ensure the process does not
receive impertinent SIGHUPs. Called mindlessly by all subprocesses
of an already immune process, just in case.
To find out how something works today you must read the source code
and it takes several days to get to the point where you distinguish
"up" from "down". Just a case in point. A poster here on this ng
had lost "Gnome" from the list of sessions in the login window.
I tried to do as Nico suggested (independently of him), vade through
the script prefdm, then /usr/bin/gdm. Then comes gdm-binary. From there
all roads are dead ends. I tried to strace gdm. strace aborted.
Good, that is a security feature. But where does gdm get the menu
entries from? It does not get them from the utility another post
suggested, that which you invoke from the panel menus, "sessions".
Even finding out which is the program run by that menu entry, how do
I find out. Everything has become heavy as lead. I tried to
grep my entire root partition for the words "Failsafe Terminal"
or whatever it was. No. Nothing. I know from experience that if I am
sufficiently persistent, I will find out. The strace still showed
a number of files being read by these proceses, which I have not yet
explored. But the openness is gone. It has become a time-consuming
scrambling in the dark. The knowledge is only for the specially
interested who can invest countless hours investigating it, and perhaps
forgoing of much else.
Is this the right way to go for Linux? Should I post about this
on the usability ng? What do you think?