Несмотря на то, что справочная страница перечисляет nmcli con status как действительную команду, приведенное выше решение, предоставленное Hugo Heden, возвращает ошибку "Error: Object 'status' is unknown, try 'nmcli help'"
Я использую nmcli 1.2.2 (nmcli -v ), и я протестировал и изменил следующее для /etc/NetworkManager/dispatcher.d/vpn-up, и он работал как шарм.
#! /bin/bash
REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"
default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
Примечание. Вы можете использовать nmcli con show для просмотра всех имен соединений, поскольку они не всегда совпадают с тем, что указано в графическом интерфейсе сетевых подключений