Wie starte ich ein Programm nach der Netzwerkverbindung unter Ubuntu?

2467
user998661

Wie kann ich Chrom in Lubuntu nach einer Netzwerkverbindung automatisch starten?

Ich habe versucht, es hinzuzufügen ~ / .config / autostart /, aber Chromium wurde vor der WLAN-Verbindung gestartet, daher wird eine Fehlerseite angezeigt.

Ich wurde durch Google durchsucht, finde aber keine Lösung.

4

2 Antworten auf die Frage

4
Joe

Ich kenne keinen eleganten Weg, aber hier sollte ein Ansatz funktionieren, der funktionieren sollte.

Schreiben Sie ein Skript, das testet, ob Sie online sind. Wenn nicht, schlafen Sie eine Weile und machen Sie dann einen erneuten Test. Wenn Sie online sind, starten Sie Chrome und beenden Sie das Programm. Fügen Sie das Skript in Ihr Autostart-Verzeichnis ein.

In bash ist der wait-Befehl sleep. Es wird ein Argument für die Anzahl der Sekunden benötigt, die Sie warten möchten. Es verhindert, dass Ihr Skript zu oft testet und Ressourcen verbraucht.

Der Trick besteht darin, herauszufinden, ob Sie online sind. Eine Möglichkeit, dies zu tun, besteht darin, etwas zu tun, das fehlschlägt, wenn Sie nicht online sind. Unten ist ein Hack, der ausreichen sollte, um den Einstieg zu erleichtern (falls Sie bash kennen). Ich habe den wget-Befehlstrick irgendwo im Web gefunden und weiß nicht genau, was er macht, aber er ist schnell und funktioniert.

Sie müssen Ihren Weg für Chrome ersetzen.

Das kaufmännische Und-Zeichen am Ende der Chrome-Zeile bewirkt, dass Chrome im Hintergrund ausgeführt wird, sodass Ihr Skript nicht an dieser Zeile hängen bleibt, bis Chrome beendet wird. Es wird fortgesetzt und normal beendet, wobei Chrome von alleine ausgeführt wird.

Wenn Sie Lust haben wollen, gibt es eine Möglichkeit, die Prozess-ID der Aufgabe in einer Datei usw. zu speichern, sodass Sie sie leicht finden und später beenden können, wenn Sie nicht möchten, dass Chrome startet, wenn Sie online sind in einer bestimmten Sitzung. Aber das geht ein wenig über den Rahmen Ihrer Frage hinaus. (und ich erinnere mich nicht, wie es geht;))

#!/bin/bash  function online { ## Test if online - prototype code wget -q -O /dev/null --timeout=5 http://udc.msn.com/c.gif return $? }  until online do sleep 5 done  /opt/google/chrome/google-chrome & 
Schönes Drehbuch. Funktioniert aus dem Kasten heraus. Danke vielmals! BetaRide vor 12 Jahren 0
0
Magpie

Ich denke, das Folgende sollte funktionieren, aber ich gehe davon aus, dass Sie den Pfad ~/.configin Ihrem festlegen~/.bashrc

Stellen Sie sicher, dass Sie die Pfade Ihrer bashrc so eingestellt haben

export PATH=$PATH:$HOME/.config:/other/stuff 

anstatt

export PATH=$HOME/.config:/other/stuff:$PATH 

Wo $PATHbefinden sich Ihre systemweiten PATH-Einstellungen - Sie stellen sicher, dass die Autostart-Dateien /etc/xdg/autostartvor den Home-Einstellungen gelesen werden, wenn Sie sich anmelden.