Encontrei uma solução aqui .
Primeiro, descubra o UUID da sua conexão VPN.
nmcli con list | grep -i vpn
O UUID é a segunda coluna com as letras, números e traços.
Solução simples : adicione o seguinte comando à lista de aplicativos de inicialização. (Siga o link acima para ver como).
nmcli con up uuid <put you UUID here>
Solução complicada / avançada :
O meu wifi demora um pouco para se conectar, então se o comando acima for executado imediatamente na inicialização (antes de o wifi ser conectado), ele falhará, sem tentar novamente.
Então, eu escrevi um script de shell para ser executado na inicialização, que tenta se conectar a cada poucos segundos (e, eventualmente, desiste se não puder se conectar).
#This script autoconnects a vpn on startup.
#It just runs the vpn connect command in a while loop.
#Whatever is returned by nmcli con list | grep -i vpn
VPN_UUID=<Whatever your UUID is>
VPN_RETRY_TIME=2 #how many seconds until you retry?
MAX_RETRIES=30 #how many time will you try before you give up?
#run the command once, so the while loop has
#something to check the first time around
nmcli con up uuid $VPN_UUID
SUCCESS=($? = 0)
ATTEMPT_COUNT=1 #the number of times we've tried to connect.
#$ATTEMPT_COUNT <= $MAX_RETRIES
while [[ (!$SUCCESS) && ATTEMPT_COUNT -le MAX_RETRIES ]];
do
sleep $VPN_RETRY_TIME #it just keeps on trying
nmcli con up uuid $VPN_UUID
SUCCESS=($? = 0)
ATTEMPT_COUNT=$((ATTEMPT_COUNT+1))
done
Salve o código acima em um arquivo .sh em algum lugar. Edite-o de modo que "seja qual for o seu UUID" (linha 5) é o número longo e complicado que você obteve do primeiro comando. Torne-o executável (chmod + x fileName.sh) e, em seguida, adicione-o à lista de aplicativos de inicialização.)