Eu não conheço uma maneira elegante, mas aqui está uma abordagem que deve funcionar.
Escreva um script que testa para ver se você está online. Se não, durma por algum tempo e, em seguida, retorne para testar novamente. Quando você estiver on-line, inicie o chrome e saia, etc. Coloque esse script em seu diretório de início automático.
No bash, o comando de espera é sleep. Leva um argumento do número de segundos que você quer esperar. Ele impede que seu script seja testado com muita frequência e use recursos.
O truque é descobrir se você está online. Uma maneira de fazer isso é fazer algo pequeno que falhará se você não estiver online. Abaixo está um hack que deve ser o suficiente para você começar (se você sabe bash). Eu encontrei o truque de comando wget na web em algum lugar e não sei exatamente o que ele faz, mas é rápido e funciona.
Você terá que substituir seu caminho pelo chrome.
O "e" comercial no final da linha "chrome" faz com que o chrome seja executado em segundo plano, para que o script não seja interrompido nessa linha até que o chrome seja encerrado. Ele continuará e terminará normalmente, deixando o chrome funcionando sozinho.
Se você quiser se interessar, há uma maneira de salvar o ID do processo da tarefa em um arquivo, etc., para que você possa encontrá-lo facilmente e matá-lo mais tarde se decidir que não deseja que o chrome seja iniciado você fica online em uma sessão particular. Mas isso é um pouco além do escopo da sua pergunta. (e não me lembro como fazê-lo;))
#!/bin/bash
function online {
## Test if online - prototype code
wget -q -O /dev/null --timeout=5 http://udc.msn.com/c.gif
return $?
}
until online
do
sleep 5
done
/opt/google/chrome/google-chrome &