# Use upstart to replace rc.local


On my [new netbook](/s/b8c5b81548) 
I wanted to get rid of `gdm` and
just start X right away. I use auto-login anyway so it
is a bit stupid to *first* start `gdm` and *then* immediately start X.

So I removed gdm and edited `/etc/rc.local` to start X:

        su - miekg -c xinit xterm

But this sort of does not work anymore in Ubuntu Karmic. Karmic
now uses [upstart](http://upstart.ubuntu.com) as an `init` replacement. 
So I figured why
not write an upstart job that starts X?

The upstart jobs in Ubuntu are stored in `/etc/init`. 
Gdm's upstart script was a good starting point so I copied that.

I finally settled on the following job:

    % cat /etc/init/X.conf
    # X - start X
    description	"Start X"
    author	"Miek Gieben <miek@miek.nl>"

    start on (filesystem and started hal)
    stop on runlevel [016]

    task
    console output
    emits starting-x

    script
	su - miekg -c xinit xterm
    end script

So now I can enjoy a really fast boot and fast X startup.
You'll need a `~/.xinitrc` to start up XFCE or GNOME or 
whatever.

Note; after reading some docs I still don't know what the keyword `task` means in
the above job.

