O NetworkManager possui uma interface D-Bus, que você pode usar em outros programas ou scripts.
Por exemplo, consegui conectar uma das conexões VPN do meu gerenciador de rede usando este comando:
qdbus --system \
org.freedesktop.NetworkManager \
/org/freedesktop/NetworkManager \
org.freedesktop.NetworkManager.ActivateConnection \ #-- this is a method
org.freedesktop.NetworkManagerUserSettings \ #-- arg 1
/org/freedesktop/NetworkManagerSettings/4 \ #-- arg 2
/org/freedesktop/NetworkManager/Devices/1 \ #-- arg 3
/ #-- dumb arg 4 (needed for wifi only)
Você pode navegar na sua infraestrutura do D-Bus com a ferramenta qdbusviewer
do pacote qt4-dev-tools
. Apenas% de CLI qdbus
é de libqt4-dbus
.
A API D-Bus do NetworkManager está documentada aqui .
Quando você encontrar os parâmetros necessários (número de conexão, número do dispositivo, etc.), poderá salvar as linhas como um script de shell e criar um iniciador no painel para acessá-lo rapidamente.
Pessoalmente, não me incomodo e apenas faço os dois cliques adicionais. Afinal, não estou me conectando à VPN com muita frequência para sofrer com isso.