autom. Daten-Update, autom. Beenden?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: autom. Daten-Update, autom. Beenden?

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 08 Jun 2022, 16:04

ds10 hat geschrieben: 08 Jun 2022, 09:30 Welches cron benutzt du denn?
Anscheinend das flasche... ;-)

Code: Alles auswählen

Starting TV-Browser...
16:00:02 INFORMATION: Using settings from file /home/miriki/.config/tvbrowser/4.2.6/settings.prop
Yippieh! Und natürlich auch nochmals: Danke!

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 08 Jun 2022, 15:28

ds10 hat geschrieben: 08 Jun 2022, 09:30 Das globale oder das nutzerspezifische?
Hmmm... Da sagst Du was... Musste ich erstmal gucken, weil das Log in /home/miriki liegt.

Ich hatte es mal in der root-crontab, ging nicht. Dann hatte ich es in der crontab von miriki. Das ist auch der User, der mit autologin an der Kiste ist. Da funktionierte aber auch irgendwas nicht, also hatte ich es wieder zurück in der root versucht. Die hat aber nach wie vor ein > und 2>&1 auf das home von miriki. Ich versuche es nochmal in der miriki-crontab.

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von ds10 » 08 Jun 2022, 09:30

Welches cron benutzt du denn? Das globale oder das nutzerspezifische?

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 08 Jun 2022, 08:51

halgrunt hat geschrieben: 05 Jun 2022, 09:23 ... und jetzt geht's!
Letztendlich wohl leider... zu früh gefreut.

Es scheint, dass ich auch mit der DISPLAY-Angabe das Ding nicht per cron gestartet kriege, auch wenn die ganze Zeit ein Benutzer im KDE angemeldet ist:

Code: Alles auswählen

Starting TV-Browser...
[ . . . ]
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':10.0' as the value of the DISPLAY variable.
        at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        [ . . . ]
        at tvbrowser/tvbrowser.TVBrowser.<clinit>(TVBrowser.java:269)
TV-Browser TERMINATED.
Wie gesagt: "und jetzt geht's!" bezog sich auf das Script zum Start des TVB. Das konnte ich in einem Term aufrufen und bekam keine Fehler. Aber der cron-Job will leider nicht und ich hab auch noch nichts gefunden, daran was zu ändern. Also falls hier noch jemand eine Idee hat...

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 05 Jun 2022, 09:23

ds10 hat geschrieben: 05 Jun 2022, 00:14Wenn du nur einen Monitor verwendest, erscheint mir :10.0 als Wert auch eher merkwürdig.
Ne, 2 Monitore sind schon dran. Ich hab das jetzt erstmal wieder rausgenommen und ein "echo $DISPLAY" vor dem eigentlichen Start von java eingefügt:

Code: Alles auswählen

miriki@lxdeb1130:~$ tvbrowser
Starting TV-Browser...
Java exec found in PATH. Verifying...
Suitable java version found [java = 11.0.15 2022-04-19]
Configuring environment...
Loading TV-Browser:
:10.0
java -Xms16m -Xmx1G --module-path=lib:tvbrowser.jar -Djava.library.path="/usr/share/tvbrowser" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser ''
command line options:
    -minimized      The main window will be minimized after start up
    -nostartscreen  No start screen during start up
    -fullscreen     Start in fullscreen-mode
    -ignorejvm      Don't check for Sun Java
    -safemode       Don't load Plugins

09:10:17 INFORMATION: Using settings from file /home/miriki/.config/tvbrowser/4.2.6/settings.prop
java.net.SocketException: Socket closed
        at java.base/java.net.PlainDatagramSocketImpl.receive0(Native Method)
        at java.base/java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:200)
        at java.base/java.net.DatagramSocket.receive(DatagramSocket.java:814)
        at tvbnetcontrol.TvbNetControl$2.run(TvbNetControl.java:143)
TV-Browser TERMINATED.
Man sieht also hier auch wieder die :10.0 ausgegeben. Und des NetControl hat TVB auch sauber mit

Code: Alles auswählen

echo -n "kf_alt+f4" >/dev/udp/localhost/27062
aus einem 2. Term beendet.

Jetzt hab ich's mit ebendiesem :10.0 wieder rein genommen:

Code: Alles auswählen

echo $DISPLAY
echo "DISPLAY=:10.0 ${JAVA_PROGRAM_DIR}java -Xms16m -Xmx1G --module-path="lib:tvbrowser.jar" -Djava.library.path=\"${PROGRAM_DIR}\" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser '$@'"
DISPLAY=:10.0 ${JAVA_PROGRAM_DIR}java -Xms16m -Xmx1G --module-path="lib:tvbrowser.jar" -Djava.library.path="${PROGRAM_DIR}" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser "$@"
... und jetzt geht's!

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von ds10 » 05 Jun 2022, 00:14

Ist vielleicht schon ein bisschen spät, du musst genau hinsehen, die Zeile muss mit DISPLAY=:10.0 ${JAVA_PROGRAM_DIR}java beginnen, um erst einmal sicher zu stellen, dass das gefundene Java auch genutzt wird und nicht irgend eine andere Version. Möglicherweise ist die DISPLAY-Nummer auch nicht korrekt, versuche es zuerst mit dem Standardwert DISPLAY=:0. TV-Browser muss ganz normal starten, egal von wo aus du den aufrufst. Wenn du nur einen Monitor verwendest, erscheint mir :10.0 als Wert auch eher merkwürdig.

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 05 Jun 2022, 00:05

ds10 hat geschrieben: 04 Jun 2022, 23:53 Das DISPLAY=:10.0 muss ganz an den Anfang der Befehlszeile, also DISPLAY=:10.0 ${JAVA_PROGRAM_DIR}java usw.
Hmmm...

Code: Alles auswählen

DISPLAY=:10.0 java -Xms16m -Xmx1G --module-path=lib:tvbrowser.jar -Djava.library.path="/usr/share/tvbrowser" -splash:imgs/splash.png -Dpropertiesfile=linux.properties -m tvbrowser/tvbrowser.TVBrowser ''
[ . . . ]
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':10.0' as the value of the DISPLAY variable.
Geht das jetzt nur noch in der "cron" Variante, aber nicht mehr "normal"? Mit dem Icon vom Desktop oder aus einem Terminal mittels "tvbrowser" startet es auf alle Fälle nicht mehr. Mit dem Icon sehe ich noch kurz den splash.

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von ds10 » 04 Jun 2022, 23:53

Das DISPLAY=:10.0 muss ganz an den Anfang der Befehlszeile, also DISPLAY=:10.0 ${JAVA_PROGRAM_DIR}java usw.

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 04 Jun 2022, 23:45

ds10 hat geschrieben: 04 Jun 2022, 18:40 Ich habe NetControl etwas geändert, so dass beim Senden von kf_alt+f4 der Fenstermanager kein Problem mehr darstellt und TV-Browser auf jeden Fall beendet wird, wenn der Befehl empfangen wurde.
Boah, klasse! Das ist mir bedeutend lieber, als kill und Konsorten. Das (Plugin) schaue ich mir doch sehr gerne mal an.

Gruß, Michael

Edit: Und ja, ausprobiert und funktionuckelt! Sehr, sehr schön!

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 04 Jun 2022, 23:43

ds10 hat geschrieben: 03 Jun 2022, 23:52 Wenn du der Kommandozeile ein DISPLAY=:0 (Leerzeichen nach der Nummer beachten) voran stellst, wird das Programm auf dem Display mit dieser Nummer gestartet. Wie deine Display-Nummer aussieht lässt sich per echo $DISPLAY im Terminal herausfinden.
Ah, danke, das hört sich gut an.

Als $DISPLAY habe ich

Code: Alles auswählen

:10.0
Aber wo soll ich dann

Code: Alles auswählen

DISPLAY=:10.0
unterbringen? In eine der letzten Zeilen von
/usr/share/tvbrowser/tvbrowser.sh

Code: Alles auswählen

echo $MSG0

cd ${PROGRAM_DIR}

echo "${JAVA_PROGRAM_DIR}java -Xms16m -Xmx1G --module-path="lib:tvbrowser.jar" -Djava.library.path=\"${PROGRAM_DIR}\" -sp>
${JAVA_PROGRAM_DIR}java -Xms16m -Xmx1G --module-path="lib:tvbrowser.jar" -Djava.library.path="${PROGRAM_DIR}" -splash:img>
# ensure disk cache is writte to drive
sync
echo "TV-Browser TERMINATED."
vielleicht? Vor das --module... oder so?

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von ds10 » 04 Jun 2022, 18:40

Ich habe NetControl etwas geändert, so dass beim Senden von kf_alt+f4 der Fenstermanager kein Problem mehr darstellt und TV-Browser auf jeden Fall beendet wird, wenn der Befehl empfangen wurde.

Re: autom. Daten-Update, autom. Beenden?

von ds10 » 03 Jun 2022, 23:52

Wenn du der Kommandozeile ein DISPLAY=:0 (Leerzeichen nach der Nummer beachten) voran stellst, wird das Programm auf dem Display mit dieser Nummer gestartet. Wie deine Display-Nummer aussieht lässt sich per echo $DISPLAY im Terminal herausfinden.

EDIT: Um TV-Browser korrekt zu beenden kannst du dir das Plugin TV-BrowserNetControl (tvb://show/pluginUpdate=TV-BrowserNetControl;select) installieren. In den Einstellungen des Plugins (tvb://show/settings=java.tvbnetcontrol.TvbNetControl) findest du dann die Portnummer an die Befehle zur Fernsteuerung gesendet werden können. Wenn der Fenstermanager mitspielt (gerade mit Mate getestet und hat dort nicht funktioniert, unter Unity geht es) kann dann zum Beenden von TV-Browser auf der Konsole echo -n "kf_alt+f4" >/dev/udp/localhost/PORTNUMMER aufgerufen werden.

Re: autom. Daten-Update, autom. Beenden?

von halgrunt » 03 Jun 2022, 22:39

Danke euch für die Antworten. An "timeout" hätte ich jetzt gar nicht gedacht, hab es bislang noch nie benutzt. Das funktioniert grundsätzlich. Genial.

Ich war eigentlich auf dem Trichter, möglichst kein "kill" o.ä. zu benutzen, aber ach, egal... ;-) (Ich hatte auf einen Commandline-Parameter /quit o.s.ä. gehofft.)

Die Uhrzeit an sich ist tatsächlich unkritisch, kann auch um 5 sein oder so. Hauptsache über Nacht.

Jetzt hab ich nur das Problem, dass tvbrowser.sh abbricht, weil (über cron) kein Display verfügbar ist.

Code: Alles auswählen

Starting TV-Browser...
[ . . . ]
java.lang.NullPointerException
        at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:369)
[ . . . ]
21:07:02 SCHWERWIEGEND: UNCAUGHT EXCEPTION IN THREAD 'main'
java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at java.desktop/java.awt.SplashScreen.getSplashScreen(SplashScreen.java:127)
        at tvbrowser/tvbrowser.ui.splashscreen.SplashScreen.<init>(SplashScreen.java:74)
        at tvbrowser/tvbrowser.TVBrowser.main(TVBrowser.java:562)
TV-Browser TERMINATED.
Kriegt man das noch irgendwie hin?

Gruß, Michael

Re: autom. Daten-Update, autom. Beenden?

von Jo » 03 Jun 2022, 21:36

Die meisten Sender sollten fast immer um 3 Uhr aktuelle Daten haben, aber um ganz sicher zu sein nimm was späteres, wenn die Zeit bei dir nicht wichtig ist.

Re: autom. Daten-Update, autom. Beenden?

von Agrivaine » 03 Jun 2022, 16:49

Hi,
da würde sich IMO timeout anbieten. Wenn er bspw. 2-3 Minuten für ein Update benötigt, startest du ihn mittels "timeout" in deinem cronjob und lässt ihn darüber nach zB. 10 Minuten automatisch beenden.

Nach oben