Here's how to set up a barebones Ubuntu install, with auto-login X. In this example, we're only starting a XBMC gui.
I install all base repositories (main, universe, multiverse), in addition to medibuntu and xbmc's.
I like to set the packages installed in aptitude to "automatic", and flag just what will keep everything alive.
Here's a good set of minimal packages:
Here's how to enable the nvidia binary drivers, the Ubuntu way.
jockey-text -l jockey-text -e xorg:nvidia-185
By default, with the installed packages, you can run startx to get fluxbox. Once you're confident that things are set up right, we can get the system to load XBMC on boot.
We need to set up a boot-time TTY to auto-login a user (xbmc).
Create the file /etc/init/tty7.conf:
# tty7 - openVT (auto X) start on runlevel [23] stop on runlevel [!23] respawn exec /bin/openvt -w -- /bin/su - xbmc -c /usr/bin/startx console none
To load a custom program (instead of what startx will load)...
Create ~/.xinitrc:
xset -dpms s off xsetroot -solid black dbus-launch --exit-with-session pulse-session xbmc-standalone
In this case, we explicitly disable DPMS to prevent the screen from blanking.
If you install usplash, you'll want to configure the resolution and a custom logo.
Modify /etc/usplash.conf:
xres=1920 yres=1080
Set a custom logo:
$ update-alternatives --config usplash-artwork.so $ update-initramfs -u
Since we want to track the temperature sensors with lm-sensors, we need to configure it.
$ sensors-detect
First, make sure the ALSA switches are set up right. For my output (HDMI), I had to un-mute "IEC958", "IEC958 Default PCM", "IEC956 1".
For PulseAudio, we need to get it to default to the HDMI output. Modify /etc/pulse/default.pa:
load-module module-alsa-sink device=hw:0,3