Ubuntu Anwendung und Script
Hallo & frohe Ostern zusammen,
ich bin noch ziemlicher Linux Neuling, würde aber gern ein kleines Projekt umsetzen und erhoffe mir Hilfe von Euch da ich aktuell fest stecke...
Ich habe einen Ubuntu 20.04 mit GUI laufen und darauf sind 2 User.
Einmal der bei der Installation erstellte User mit Systemzugriff und ein normaler Standardbenutzer.
Jetzt möchte ich folgendes machen:
1) Der Standard User meldet sich an und im Hintergrund soll ein Script ausgeführt werden mit folgendem Inhalt:
Das soll eine VPN Verbindung über den installierten Cyberghost aufbauen. Das kann allerdings nur mit sudo Berechtigungen gemacht werden und da weiß ich schon nicht wie man das macht.
2) Auf den Desktop des Standardbenutzers möchte ich außerdem eine Verknüpfung legen bzw ein Script was durch Doppelklick folgendes macht:
Prüfen ob die aktuelle öffentliche IP (wget -4 -O - -q icanhazip.com) = die IP-Adresse einer DynDNS Adresse ist (nslookup domain.de)
Wenn die Adresse gleich ist soll das Script aus Punkt 1 nochmal ausgeführt werden, aber ist die Adresse unterschiedlich, soll eine Anwendung gestartet werden.
Unter Windows würde ich das in ein paar Minuten hinbekommen aber Linux ist für mich immer ein Kampf...
Kann mir hier jemand unter die Arme greifen ?
VG
ich bin noch ziemlicher Linux Neuling, würde aber gern ein kleines Projekt umsetzen und erhoffe mir Hilfe von Euch da ich aktuell fest stecke...
Ich habe einen Ubuntu 20.04 mit GUI laufen und darauf sind 2 User.
Einmal der bei der Installation erstellte User mit Systemzugriff und ein normaler Standardbenutzer.
Jetzt möchte ich folgendes machen:
1) Der Standard User meldet sich an und im Hintergrund soll ein Script ausgeführt werden mit folgendem Inhalt:
cghost/cyberghost/cyberghostvpn --torrent --country-code BE --connect
2) Auf den Desktop des Standardbenutzers möchte ich außerdem eine Verknüpfung legen bzw ein Script was durch Doppelklick folgendes macht:
Prüfen ob die aktuelle öffentliche IP (wget -4 -O - -q icanhazip.com) = die IP-Adresse einer DynDNS Adresse ist (nslookup domain.de)
Wenn die Adresse gleich ist soll das Script aus Punkt 1 nochmal ausgeführt werden, aber ist die Adresse unterschiedlich, soll eine Anwendung gestartet werden.
Unter Windows würde ich das in ein paar Minuten hinbekommen aber Linux ist für mich immer ein Kampf...
Kann mir hier jemand unter die Arme greifen ?
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665375
Url: https://administrator.de/contentid/665375
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
15 Kommentare
Neuester Kommentar
Würde ich zwar mit nem Systemd User-Dienst abfackeln aber wenn's nen Skript sein soll
Gruß w.
#!/bin/bash
DOMAIN=blabla.dyndns.tld
while [[ "$(dig +short $DOMAIN | head -n 1)" = "$(curl -4 -s icanhazip.com)" ]];do
pkexec cghost/cyberghost/cyberghostvpn --torrent --country-code BE --connect
sleep 1
done
# start what you want
echo starting whatever app
Gruß w.
Zitat von @entfernt:
Wenn ich aber doch das script nehmen würde, wo muss das hin damit das automatisch läuft ?
Viele Wege führen nach Rom ...Wenn ich aber doch das script nehmen würde, wo muss das hin damit das automatisch läuft ?
https://wiki.ubuntuusers.de/Autostart/
Und wenn ich mich richtig erinnere, musste man das noch irgendwie ausführbar machen oder so, oder ?
Oh je wenn das Wissen zum ergoogln schon fehlt ...chmod +x script.sh
wie gesagt, ich bin was Linux angeht echt unwissend.
Dann eigne dir doch vielleicht erst mal die Shell-Grundlagen an wenn man schon an einem solchen System arbeitet.Frohes Eierschaukeln noch.
w.
Was sagt denn ein systemctl restart myservice.service ??
Bzw. danach ein systemctl status myservice.service ?
Das VPN Kommando hast du wasserdicht getestet das der VPN Tunnel hochkommt wenn du das Kommando so eingibst. Nur um sicherzugehen das nicht da schon der Fehler liegt ?!
Bzw. danach ein systemctl status myservice.service ?
Das VPN Kommando hast du wasserdicht getestet das der VPN Tunnel hochkommt wenn du das Kommando so eingibst. Nur um sicherzugehen das nicht da schon der Fehler liegt ?!
Hätte nicht gedacht, dass das so schwierig wird
Klicki Bunti Winblows kann ja jeder... und nach einem restart myservice.service das hier:
Sieht ja danach aus das es rennt. Zeigt dir ein "ip address show" an das das OVPN Interface aktiv ist ?nach einem Reboot, das der Dienst nicht aktiv ist
Hast du den Dienst denn auch mit systemctl enable myservice.service aktiviert, das er beim Booten automatisch startet ?
Ist ja auch Blödsinn im Skript weiterhin mit sudo oder pkexec zu arbeiten wenn man mit einer systemweiten systemd unit arbeitet, denn solch ein Service läuft ja schon per Default mit entsprechend elevierten Rechten wenn man ihn nicht als User-Service anlegt oder im Service Abschnitt mit User= oder Group= einen entsprechenden User hinterlegt, also doppelt gemoppelt... Das Skript mit sudo oben ist nur für Interaktive Ausführung.
Da ich hier die Funktionsweise des commandline Tools nicht kenne, kenne ich die Verhaltensweise des Tools nicht, z.B. ob es sich direkt nach Aufruf beendet bze. als Daemon weiterläuft oder so lange die Konsole blockiert, das alles muss im Service berücksichtigt werden .
Da die Tuppen für ihr ach so tolles SchnüffelVPN zwingend auch zum Testen 2€ verlangen mach ich mir nicht die Mühe das weiter zu testen, das ist es mir dann doch nicht wert.
Da ich hier die Funktionsweise des commandline Tools nicht kenne, kenne ich die Verhaltensweise des Tools nicht, z.B. ob es sich direkt nach Aufruf beendet bze. als Daemon weiterläuft oder so lange die Konsole blockiert, das alles muss im Service berücksichtigt werden .
Da die Tuppen für ihr ach so tolles SchnüffelVPN zwingend auch zum Testen 2€ verlangen mach ich mir nicht die Mühe das weiter zu testen, das ist es mir dann doch nicht wert.