Einfaches Script erstellen um Befehle über Terminal laufen zu lassen

  • 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.

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Meine Projekte:

    GuideOS Logo PiGro-Aid Logo

    Auf Linux seit 2003 | Python-Jünger| Wir reden ja hier über Computer, das sind Arbeitsgeräte und keine Religion.

    --

    Wir sind hier alle Trekkis, Star Wars müffelt!

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

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    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.

  • 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

    Images

    Meine Projekte:

    GuideOS Logo PiGro-Aid Logo

    Auf Linux seit 2003 | Python-Jünger| Wir reden ja hier über Computer, das sind Arbeitsgeräte und keine Religion.

    --

    Wir sind hier alle Trekkis, Star Wars müffelt!

  • 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.

    Linux Command Library     Commandlinefu.com

    Code
       __   _                  _____     _    __      
      / /  (_)__  __ ____ __  / ___/_ __(_)__/ /__ ___
     / /__/ / _ \/ // /\ \ / / (_ / // / / _  / -_|_-<
    /____/_/_//_/\_,_//_\_\  \___/\_,_/_/\_,_/\__/___/
  • 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

    Edited once, last by NoobNomad (January 20, 2024 at 7:12 PM).

  • 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 :)

    Edited once, last by NoobNomad: Korrektur (January 21, 2024 at 8:19 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!