Você está sem a definição DISPLAY. Além disso, fazer depender a conexão de rede é melhor. Para mim em arch linux funciona:
/etc/NetworkManager/dispatcher.d/20-owncloud
#!/bin/sh
case "" in
up)
# is called as soon as connection is up
env DISPLAY=:0 sudo -u yourusername owncloud
;;
down)
# yes, maybe that is better in system-sleep
killall owncloud
;;
esac
O script precisa ser de propriedade de root:
sudo chown root:root /etc/NetworkManager/dispatcher.d/20-owncloud
Não se esqueça de tornar esse script executável:
sudo chmod 755 /etc/NetworkManager/dispatcher.d/20-owncloud
e inicie / ative o despachante NetworkManager:
sudo systemctl start NetworkManager-dispatcher.service
sudo systemctl enable NetworkManager-dispatcher.service
Pelo menos no arco funciona dessa forma, talvez um pouco outros nomes no Ubuntu.