Dieses Skript wird im Artikel Desktop-Dateien/Beispiele (Abschnitt „Shell-Skript-Netzwerk-verbinden“) verwendet.
Das Programm erwartet einen Aufrufparameter; dies kann sein:
up: Es werden in einem Fenster des Dateimanagers alle gespeicherten Verbindungsprofile angezeigt.
edit: Der Verbindungseditor nm-connection-editor wird gestartet.
status: Es mit mit nmcli ein Netzwerk-Status angezeigt.
down: Wenn es genau ein aktives Verbindungsprofil gibt, dann wird dieses deaktiviert. Wenn es mehrere aktive Verbindungsprofile gibt, wird der Bediener zur Auswahl aufgefordert und das ausgewählte wird deaktiviert. Danach weiter wie bei status.
Ein Dateiname mit vollständigem Pfad zu einem Verbindungsprofil für den Desktop-Manager: Wenn dieses existiert, wird es aktiviert. Danach weiter wie bei status.
Wenn kein Parameter angegeben wird, verhält sich das Programm, als wäre es mit dem Parameter up
aufgerufen.
Das Programm kann von einer Kommandozeile gestartet werden oder aus einer Desktop-Datei, diese soll auch beim Öffnen eines Verbindungsprofils im Dateimanager erneut das Skript mit dieser Datei als Parameter starten.
Das Programm wurde mit Ubuntu 20.04 und 22.04 mit GNOME getestet und funktioniert ohne Änderung. Jedoch muss man es bei früheren Versionen (sicher bei 18.04) modifizieren:
In den beiden Zeilen mit
nmcli connection up filename …
muss die Auswahl über den Dateinamen ersetzt werden durch den Namen (id
in der Datei). Die Ursache hierfür entsteht durch jeweils unterschiedliche Versionen von NetworkManager. Die ab Ubuntu 20.04 unterstützen die Selektion eines Verbindungsprofils über den Dateinamen, während ältere Versionen eine Selektion über den Namen des Profils erfordern. Eine stillschweigende Voraussetzung für die alte Methode ist die Übereinstimmung des Dateinamens mit dem Profilnamen; dies ist zwar immer zweckmäßig, aber technisch nie zwingend.
In der Zeile für die Programmoption up
muss der Befehl exit
entfernt werden. Der Grund hierfür liegt vermutlich in unterschiedlichen Aufrufverhalten der verwendeten Versionen der GNOME-Shell.