What I have to run for my custom environment on Fedora 16
As an example of what a custom environment needs on a modern Linux desktop, here is a list of all of the various things I need to do and run to make my custom environment work on Fedora 16.
- I start my X session by hand from a text login, which means that
my startup script has to run some extra programs. The details of
this are unchanged since Fedora 8
and probably don't apply to anyone else.
(If you need to know this sort of stuff, poke around in
- Sound requires some PulseAudio stuff, which right now I am running as:
pulseaudio --start --log-target=stderr &
pactl load-module module-x11-publish display=$DISPLAY
pactl load-module module-x11-cork-request display=$DISPLAY
(Some research from writing this entry suggests that the simpler way is to run
However, in Fedora 16 there is some extra permissions step that I'm missing; doing just this still leaves the audio devices inaccessible, with only group access permissions for the Unix group
audio. As a brute force hack to get my environment functioning on Fedora 16 I just put myself in the
(I suspect that there is some PAM or ConsoleKit magic that has been added in Fedora 16. However, I don't know where it would be hiding.)
- Various programs want to be able to pop up notifications about
things, using a freedesktop.org
protocol for this. To support this I need to run
- Volume management for things like USB memory keys and DVD-ROMs is no
longer handled by the nicely convenient
halevt, because HAL itself is deprecated and basically gone. Instead I have to run
/usr/libexec/gnome-fallback-mount-helper, which is more annoying and much less flexible (but, apparently, the standard way to handle this).
In Fedora 16, plain
umountfrom an ordinary user account seems to be able to unmount these automatically mounted things.
gnome-control-centerto set all removable devices to 'never do anything when inserted'. This just mounts them if applicable and doesn't try to helpfully start player programs or whatever.)
- I run stalonetray to create a
'system tray', which is where various programs want to stick their
little notification icons and controls. Unfortunately this no longer
seems to be packaged in Fedora 16; I have it from the Fedora 15 repo,
which is one patch behind the official version.
(Fedora 16 doesn't seem to have any packaged system tray alternatives. There are alternatives to stalonetray, but none that I have any experience with.)
- I have not found a native Fedora 16 volume control applet that I like.
As a result I am still using a Fedora 14 binary of
gnome-volume-control-applet, which continues to work better than any of the alternatives.
(There are several programs packaged for Fedora 16 that are close, but they all have glitches and irritations when run under my FVWM configuration.)
- I run
abrt-appletto get the little notifications of crashes (or at least in theory get the little notifications; I haven't seen any recently).
There are a couple of other applets that I don't run because they're
not applicable to me but other people will probably want.
is the famous (or infamous) front end to
NetworkManager, which you will really want on any laptop or other
seapplet is the SELinux problem notification applet,
which you will want if you use SELinux. Some research suggests that
/usr/libexec/gnome-settings-daemon is probably also important if you
want more Gnome stuff. I don't know about KDE.
(I don't know what applet or program handles power management; it's possible that gnome-settings-daemon handles this in the Gnome world.)
Poking around my Fedora 16 systems suggests that a lot of this
can be dug out of
/etc/xdg/autostart and perhaps also bits from
/usr/share/gnome-session/sessions/. Looking through the former has
been interesting and vaguely educational, although I can't say I
understand what all of the various programs are supposed to do.