Einfaches Script erstellen um Befehle über Terminal laufen zu lassen

  • Distribution
    Mint Cinnamon 21.3 Virginia
    Kernel
    6.5.0-14

    Ich hatte mir auf meinem Linux Mint 21.3 OpenVPN installiert. Da ich meine Verbindung immer über das Terminal von Hand aufbauen muss wollte ich fragen ob es möglich ist eine Reihe von Befehlen in einer Art Script vom Desktop auszuführen.

    Damit würde ich mich dann gerne anmelden.


    Sonst muss ich immer erst:

    cd /etc/openvpn

    und dann beispielsweise:

    sudo openvpn /etc/openvpn/Amsterdam.conf

    eingeben.


    Hatte auch vorher schon versucht den VPN Manager (von Perfect Privacy, davon sind auch die Konfigurationen) zu installieren, das Symbol wird mir zwar angezeigt aber wenn ich die Anwendung öffnen will passiert nichts. Daher bleibt mir nur die Option über das Terminal.


    Danke im Voraus

  • Ich kenne Deinen Background nicht, darum vorsichtshalber noch ein Hinweis: Wenn Du im Script was mit sudo machst, solltest Du vorsichtig vorgehen, wenn Du Dir unsicher bist, das Script vielleicht erst einmal in einer Testumgebung, bspw. VM ausprobieren.

    Du könntest auch die Befehle im Terminal eingeben und dann, wenn der Befehl funktioniert hat, den Befehl in Dein Script kopieren. So kannst Du Dir sicherer sein, dass Du dort (versehentlich) keinen Unsinn hineinschreibst.

    Danke für den Tipp, bin was das angeht ziemlicher Anfänger. Aber wenn die Befehle so funktionieren ohne Schaden anzurichten werden die auch in dem Script keinen Schaden verursachen.

  • Wofür steht eigentlich genau diese Zeile?

    Das sagt einfach nur das das script mit bash aus geführt werden soll.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 + Nvme M.2 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Das sagt einfach nur das das script mit bash aus geführt werden soll.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Danke


  • Da man wirklich nicht um das Terminal herumkommt, wie mir inzwischen klar geworden ist, wenn zum Beispiel so Dinge wie ein VPN-Startbutton gewünscht sind, oder anderweitige Probleme zu lösen, habe ich vor ein paar Tagen angefangen, mich intensiv in Shell und Python reinzuknien. Mit viel Lesen, Ausprobieren und Tipps von erfahrenen Nutzern habe ich mir z.B. einen VPN-Start/Stop-Button erstellt. Erstmaliger Tipp: Nutze nicht "sudo openvpn..", sondern als User "/bin/systemctl..", damit es protokolliert wird und unter anderem Fehlermeldungen mitgeloggt werden.


    PS .. Wenn du dabei Hilfe brauchst, kann ich es dir gerne zeigen. Bin allerdings erst am Wochenende oder nächste Woche wieder hier.

  • Moin,

    um Deine Zeilen auf korrektheit zu prüfen kannst Du Sie vorher hier testen: https://www.shellcheck.net
    Wenn dann unten wie in dem Bild zu sehen ist "No issues detected!" steht hast Du eigentlich alles richtig gemacht.

    Fehler werden Dir natürlich auch angezeigt. :)

    Und für Rückfragen oder Erklärungen sind wir ja auch noch da. Hier unterstützen sich alle Gegenseitig und
    der Austausch über solche Ideen bringt Jedem was. Daher, ist es auch immer Gut hier im Forum ältere Beiträge
    nach Bash, Script, etc. zu durchsuchen.

    Spoiler anzeigen

  • RisingSun91 Hallo, hast du schon mal was von "aliasws" gehört?

    Damit reicht z.b. das eigeben von Amsterdam im Terminal damit sudo openvpn /etc/openvpn/Amsterdam.conf ausgeführt wird.

    Wenn es aber um die Erstellung erster Scripts geht kann ich dir auch noch ChatGPT empfehlen. Durch etwas versuch und Irrtum kommt man da auch ganz gut zu Ergebnissen. Habe ich so selber auch schon mehrfach geamacht für bash und Python Scripte. ChatGpt ist sehr geduldig und Antwortet halt sofort. ;)

  • RisingSun91 du kannst auch einfach auf dem Desktop einen Starter mit rechts-kick erstellen. Dann brauchst du gar kein Terminal mehr.

    Name: VPN
    Befehl: pkexec openvpn /etc/openvpn/Amsterdam.conf

    Bilder

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 + Nvme M.2 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Du könntest dir einen Alias in deiner .bashrc eintragen.

    Öffne hierzu die versteckte Datei .bashrc (liegt in deinem /home Verzeichnis) mit einen Editor deiner Wahl.

    Trage folgende Zeile ein:

    Code
    alias amsterdam='sudo openvpn /etc/openvpn/Amsterdam.conf'

    wobei du den Namen des Alias amsterdam frei wählen kannst.

    Das ganze speichern, Terminal neu starten und amsterdam eingeben.

    Danach sollte der Befehl sudo openvpn /etc/openvpn/Amsterdam.conf ausgeführt werden.

    Fragen Sie jemanden, der sich damit auskennt - am besten nicht den Administrator

    Archlinux Openbox / ASUS R503C-SX051H - Intel Core i3-2350M + HD-Grafik 3000 + 8 GB DDR3 + 490 GB SSD
    Archlinux Xfce / DELL Inspiron 3542 - Intel Pentium 3558U + 8 GB DDR3 + 490 GB SSD
    Voidlinux Xfce / DELL Inspiron 15z - Intel Core i5-3317U + 4 GB RAM + 240 GB SSD

  • Da man wirklich nicht um das Terminal herumkommt, wie mir inzwischen klar geworden ist, wenn zum Beispiel so Dinge wie ein VPN-Startbutton gewünscht sind, oder anderweitige Probleme zu lösen, habe ich vor ein paar Tagen angefangen, mich intensiv in Shell und Python reinzuknien. Mit viel Lesen, Ausprobieren und Tipps von erfahrenen Nutzern habe ich mir z.B. einen VPN-Start/Stop-Button erstellt. Erstmaliger Tipp: Nutze nicht "sudo openvpn..", sondern als User "/bin/systemctl..", damit es protokolliert wird und unter anderem Fehlermeldungen mitgeloggt werden.


    PS .. Wenn du dabei Hilfe brauchst, kann ich es dir gerne zeigen. Bin allerdings erst am Wochenende oder nächste Woche wieder hier.

    Vielen Dank für das Angebot, das würde mich sehr interessieren. Wäre toll wenn Du mir da weiterhelfen könntest :)

  • Die Idee mit dem Alias ist auch super, danke für die Inspiration :thumbup:

  • RisingSun91 Hallo, hast du schon mal was von "aliasws" gehört?

    Damit reicht z.b. das eigeben von Amsterdam im Terminal damit sudo openvpn /etc/openvpn/Amsterdam.conf ausgeführt wird.

    Wenn es aber um die Erstellung erster Scripts geht kann ich dir auch noch ChatGPT empfehlen. Durch etwas versuch und Irrtum kommt man da auch ganz gut zu Ergebnissen. Habe ich so selber auch schon mehrfach geamacht für bash und Python Scripte. ChatGpt ist sehr geduldig und Antwortet halt sofort. ;)

    Die Idee ist auch gut, daran hab ich gar nicht gedacht.

  • Vielen Dank für das Angebot, das würde mich sehr interessieren. Wäre toll wenn Du mir da weiterhelfen könntest :)


    Hier findest du die Infos, mit denen ich das Script und die entsprechende .conf erstellen konnte..

    https://community.openvpn.net/openvpn/wiki/OpenVPN-systemd-use


    Das Script hat zwei Funktionen: Es startet und stoppt die VPN-Verbindung. Es überprüft zuvor, ob bereits eine VPN-Verbindung besteht oder nicht und handelt ensprechend. Ich habe noch einen Sleep eingebaut, um genügend Zeit zu lassen. Ob du ihn brauchst, musst du selbst testen. Damit kannst du dir einen "VPN Start/Stop Button" erstellen. Ich habe mir dafür einen Launcher erstellt. Beim Betätigen des Buttons ploppt dann die Aufforderung zur Eingabe des Root-Passworts auf.



    Wenn du möchtest, kann ich dir im Skript noch mehr einbauen, zum Beispiel die aktuelle IP und die Länderinitialen für Conky usw.

    Wünsche dir dabei noch viel Erfolg. :)


    ps.. denk an die client.conf

    Einmal editiert, zuletzt von NoobNomad (20. Januar 2024 um 19:12)

  • Vielen Dank :) was meinst Du mit der „client.conf“?

  • Vielen Dank :) was meinst Du mit der „client.conf“?

    Das steht im Link, den ich gestern gepostet habe. Du musst deine VPN-Konfiguration nach /etc/openvpn/client/ kopieren. Andernfalls kann OpenVPN sie nicht laden. Außerdem kannst du im Skript die Zeile mit "sleep" entfernen, da sie nur für eine Erweiterung des Skripts gedacht war. Diese habe ich ja nicht mitkopiert.

    Ich wünsche dir noch einen schönen Sonntag :)

    Einmal editiert, zuletzt von NoobNomad (21. Januar 2024 um 08:19) aus folgendem Grund: Korrektur

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!