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
~/.Xauthorityeman xauth). - O ambiente do Firefox precisa ser configurado para funcionar corretamente na sessão da área de trabalho (
HOME,XDG_RUNTIME_DIRetc.)
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.