This upstart thingy should clearly be better documented (maybe by a http://www.ubuntu.com/community/Upstart document?).
Well the main documentation can be found at the project site: http://upstart.ubuntu.com/
Overview: http://upstart.ubuntu.com/getting-started.html
More Details on WIKI: http://upstart.ubuntu.com/wiki/
See other posts on ubuntuforums here:
http://ubuntuforums.org/showthread.php?t=1351501
and here:
http://ubuntuforums.org/showthread.php?t=1305659&page=2
I have tweaked my services .conf files both ways as the posts suggested:
either added some new event as a dependency of starting a service (one guide suggests word 'never') or disabled the service completely by renaming its configuration file to different suffix.
Example of disabling GDM:
Code:
# gdm - GNOME Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
description "GNOME Display Manager"
author "William Jon McCann <mccann@jhu.edu>"
start on (x11-enabled
and started dbus
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udevtrigger))
stop on (x11-disabled
or runlevel [016])
This approach has the advantage that I can trigger these x11-enabled or disabled events as I wish -- but that's something I will do in the evening, we'll see.
I have to reload the Upstart service definitions to catch the changes:
.
I could now start the GDM by firing events with
Code:
initctl emit x11-enabled
.
The other and maybe the more promising option is to implement the custom startup of GDM by creating a wrapper service (/etc/init/x11-enabled.conf) that would have been started manually or via some other triggers (VNC service starts up, etc.).
The /etc/init/gdm.conf would be updated accordingly:
Code:
# gdm - GNOME Display Manager
# ...
start on (started x11-enabled
and started dbus
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udevtrigger))
stop on (stopped x11-enabled
or runlevel [016])
As a result GDM service would have start up or shutdown along with some other 'x11-enabled' service.
Code:
initctl start x11-enabled
Do mention however that the services that are not yet ported to upstart remain managed by /etc/rc.d or whatsitsname, so in meantime we have to use both configuration mechanisms.
Just compare what says service (systemV init implementation) or initctl:
Code:
# Upstart version
initctl list;
# SysV version
services --status-all
# or
chkconfig --list
# All SystemV running services which would be on after reboot:
chkconfig --list | grep $(runlevel | awk '{ print $2}'):on
I have digged further and didn't find any GUI for upstart configuration -- this means we either have to wait for it or write small pieces ourselves.
Just search for it if you don't believe me -- http://www.google.com/search?q=upsta...figuration+gui -- and if your search was successfull it probably means that this post is really old 
Anyway other info about using Upstart can be digged from man:
man init (or upstart)
man initctl
man signal
Must digg deeper, maybe code some tools.
Enjoy unixing.