Hallo Leute,
ich erstelle mit ein Bash-Script zum manuellen Verbinden mit VPN-Servern.
Eigentliches Ziel ist es, einen Starter auf dem Desktop oder in der Menüstruktur anzulegen, mit dessen Hilfe ich das Script starten kann.
Zur grafischen Anzeige verwende ich zenity.
Was aktuell funktioniert ist:
- Starten des Scripts mit sudo auf der Konsole
- Auswahl der entsprechenden openvpn-config-Datei
- Verbinden mit dem gewählten VPN-Server durch das Script.
Meine Fragestellung ist die, dass beim Aufbau der Verbindung natürlich Meldungen ausgegeben und weitere Ausgaben dadurch blockiert werden.
Ich hätte gern, dass mittels zenity nach dem Verbindungsaufbau
- die aktuelle öffentliche IP angezeigt wird
- eine Abfrage erscheint, ob die Verbindung nach Ende der Sitzung getrennt werden soll
Jetzt kann ich die Verbindung nur durch <CTRL> + C trennen. Danach bin ich wieder auf der Konsole.
Das Script sieht aktuell so aus:
#!/bin/bash
### Script zum Verbinden mit openvpn-Server ###
vpnconfigdir=/etc/openvpn/server
### Dateiauswahl mit zenity ###
filenames=$(ls $vpnconfigdir)
file=$(zenity --width 400 --height 650 --title="VPN-Server auswählen" --list --column="Dateien in $vpnconfigdir" $filenames 2< /dev/null)
### Ermitteln der aktuellen öffentlichen IP ###
myip=$(wget -O - -q icanhazip.com)
### Verbindungsabfrage ###
zenity --question --text="Mit $file verbinden?" 0 0
if [ $? -eq 1 ]; then
zenity --question --text="Programm beenden?" 0 0
if [ $? -eq 0 ]; then exit
fi
fi
### Ermitteln der aktuellen öffentlichen VPN-IP ###
myvpnip=$(wget -O - -q icanhazip.com)
### Auswahl VPN beenden? ###
zenity --question --text="Verbindung mit $myvpnip trennen?" 0 0
i=1
until [ $i -rt 2 ]; do
if [ $? -eq 0 ]; then exit
i=$($i+1); done
exit 0
killall openvpn
exit 0
Alles anzeigen
Könnt Ihr mir helfen, mein Problem zu lösen?
Danke schon mal für die Unterstützung.