Skip to content

Connection Lifecycle

The client uses a formal state machine to manage each session. Valid states are:

DISCONNECTEDCONNECTINGCONNECTEDPAUSEDRESUMINGCONNECTED

Disconnecting returns to DISCONNECTED. Failed connections move to DISCONNECTED with an error message.

ActionGUICLI
ConnectToggle switch on profileovpn-gui sessions connect PROFILE_ID
DisconnectDisconnect button or toggle offovpn-gui sessions disconnect SESSION_ID
Pauseovpn-gui sessions pause SESSION_ID
Resumeovpn-gui sessions resume SESSION_ID

Username/password, OTP/MFA, and passphrase prompts are driven by D-Bus attention events from the OpenVPN 3 backend. The GUI surfaces these as dialogs automatically.

Saved passwords: enable “Save password” on the credential prompt to store credentials in the system keyring via libsecret. The next connection auto-submits them.

Configure what happens when the app starts in Settings → Connection Defaults → Launch behavior:

  • Start app only — open the window, do nothing
  • Connect to latest — connect to the most recently used profile
  • Restore last connection — reconnect to whichever profile was connected when the app last closed