Embora eu não tenha certeza se todos estes existiam na versão 10.04 do Ubuntu, estou colocando esta resposta aqui caso isso aconteça e também para que possa ser usado para versões mais recentes. Você pode usar o upstart para iniciar um aplicativo de GUI quando um usuário efetuar login e solicitar que a rede seja ativada primeiro.
env DISPLAY=:0.0
exec /usr/bin/firefox
Executado quando um usuário faz login
-
Isso faz uso da Ativação do Serviço D-Bus.
-
Adicione "UpstartJob = true" ao arquivo "/usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service".
-
Crie um arquivo de configuração de trabalho correspondente ao serviço D-Bus, por exemplo, /etc/init/user-login.conf [12]:
start on dbus-activation org.freedesktop.ConsoleKit exec /usr/sbin/console-kit-daemon --no-daemon
-
Certifique-se de que o daemon D-Bus ("dbus-daemon") é iniciado com a opção --activation = upstart (consulte /etc/init/dbus.conf).
Agora, quando um usuário efetua login, o D-Bus emitirá o evento dbus-activation, especificando o serviço D-Bus iniciado. Agora você pode criar outros trabalhos que start on user-login
.
start on (started networking and user-login)
Combinando essas três coisas em um trabalho iniciante, você pode iniciar o Firefox quando um usuário efetua login e a rede é iniciada (embora você possa especificar qual interface está ativa)