Os scripts de evento de rede são executados como usuário root, mas o ambiente da sua área de trabalho provavelmente não é (espero).
Esta parece ser uma abordagem problemática em geral. Algumas coisas estão faltando:
- O Firefox deve ser executado como usuário conectado, não como root.
- O Firefox precisa ser capaz de se autenticar no servidor X para se conectar a ele (consulte
~/.Xauthority
eman xauth
). - O ambiente do Firefox precisa ser configurado para funcionar corretamente na sessão da área de trabalho (
HOME
,XDG_RUNTIME_DIR
etc.)
Eu sugeriria tentar uma abordagem diferente, por exemplo fazer com que o script de rede comunique o status da rede (por meio de um pipe / arquivo temporário / DBus) a algo já em execução na sessão do usuário (lançado, por exemplo, de ~/.xinitrc
), que inicia os aplicativos GUI conforme necessário.