== 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 FedoraHardCustomEnvironments]], 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 MyCustomFedora8Environment]] and probably don't apply to anyone else. (If you need to know this sort of stuff, poke around in _/etc/X11/xinit_.) * 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 _start-pulseaudio-x11_.) 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 _audio_ group in _/etc/group_. (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 http://freedesktop.org/]] protocol for this. To support this I need to run _/usr/libexec/notification-daemon_. * Volume management for things like USB memory keys and DVD-ROMs is no longer handled by [[the nicely convenient _halevt_ Fedora14MediaMounting]], 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 _umount_ from an ordinary user account seems to be able to unmount these automatically mounted things. (I use _gnome-control-center_ to 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 http://stalonetray.sourceforge.net/]] 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-applet_ to 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. _nm-applet_ is the famous ([[or infamous ConfigureDSLOnFedora]]) front end to NetworkManager, which you will really want on any laptop or other mobile machine. _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.