Starten von MV ohne den Upgrader zu aktivieren?
-
Wer hätte das gedacht: Ich werde alt und kriege es nicht mehr alleine hin. Kann mir Jemand helfen?
Bei mir läuft MV in einer virtuellen Maschine auf Linux. Ich benutze noch immer die 13.7.1
Der Grund liegt darin, dass ich die Funktion “Mediensammlung durchsuchen” öfters benutze, die seit der 13.8.0 fehlt. Also starte ich den Launcher, der - nach meinem Verständnis - ein Shell-Script startet, in dem schließlich die Anwendung per Java ausgeführt wird.
Allerdings muß ich bei jedem Start auf Abbrechen klicken, weil ein automatisches Update ausgeführt werden soll. Und das muß in einem weiteren Fenster nochmal bestätigt werden. Dann erst sehe ich die 13.7.1 und kann machen, was ich möchte.
Vermutlich ist es nicht so schwierig, diese wiederholten Verrenkungen beim Programmstart zu umgehen, aber ich fühle mich damit überfordert, auch nur zu begreifen, an welcher Stelle genau die Abfrage/Entscheidung passiert, geschweige denn, wie ich das Script anpassen müßte, damit die bohrende Frage unterbleibt.
Ich würde gerne noch möglichst lange auf der alten Version bleiben, da in meinem Fall die alte Form der Mediensammlung sehr nützlich ist, und ich keine gute Alternative kenne. Insofern, als es sich “nur” um eine VM handelt, kann ich an und für sich relativ gut in der Zeit zurück fallen, solange sich keine wesentliche online-Schnittstellen ändern. Oder sehe ich das falsch? -
@eckshecker
In den Einstellungen gibt es auf der ersten Seite den Punkt “Programmupdates täglich suchen”. Schalt den doch mal ab und teste erneut. -
Danke fürs Mitdenken … obwohl:
Diese Einstellung war bereits deaktiviert, also kein Unterschied. Es kommt immer noch:
-
@eckshecker
Dann passiert dieser Check bereits früher, vermutlich im Launcher. Dort könntest Du die Exec-Zeile entsprechend anpassen und das folgende einbauen:
jre/bin/java --enable-preview -jar MediathekView.jar
und den Starter damit umgehen.
Je nachdem, wo der Launcher steht, muss der Pfad zu java oder MediathekView.jar angepasst werden. Ob --enable-preview bei 13.7 noch erforderlich ist, entzieht sich meiner Kenntnis. Also ausprobieren und ggf. diese Option weg lassen. -
@menchensued
Ok, ich habe mich nochmal damit beschäftigt, aber ich bekomme es nicht hin:
Zunächst habe ich untersucht, was sich zuletzt in dem Starter-Script geändert hat, was bereits einige Fragen aufwarf. Immerhin bemerkte ich ein neues Argument, und beschloss, es mal zu beseitigen. Somit sehen die vorletzten Zeilen jetzt so aus:## $INSTALL4J_JAVA_PREFIX exec "$app_java_home/bin/java" "-Xmx2G" "-XX:+UseG1GC" "-XX:+UseStringDeduplication" "--enable-preview" "-Dfile.encoding=UTF-8" "-DexternalUpdateCheck" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" install4j.mediathek.Main_MediathekView "$@" ## so war es ursprünglich $INSTALL4J_JAVA_PREFIX exec "$app_java_home/bin/java" "-Xmx2G" "-XX:+UseG1GC" "-XX:+UseStringDeduplication" "--enable-preview" "-Dfile.encoding=UTF-8" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" install4j.mediathek.Main_MediathekView "$@" return_code=$?
Allerdings half auch diese Veränderung nicht. Wie gesagt: Ich bin nicht mehr ganz frisch im Kopf und heillos überfordert. Sonst hätte ich nicht um Hilfe gefragt.
-
@eckshecker
Da kann ich wohl nicht weiter helfen, denn in dem großen Skript würde ich nichts verändern. Bei mir sieht der Starter so aus:cat /opt/MediathekView/MediathekView.desktop #!/usr/bin/env xdg-open [Desktop Entry] Type=Application Name=MediathekView Exec=/bin/sh "/opt/MediathekView/MediathekView" %U StartupWMClass=install4j-mediathek-Main_MediathekView Icon=/opt/MediathekView/.install4j/MediathekView.png Categories=Network;FileTransfer
und dort könnte ich die Exec-Zeile so abändern, dass nicht das Script MediathekView sondern direkt das jar-Archiv gestartet wird.
Exec=jre/bin/java --enable-preview -jar MediathekView.jar
-
@menchensued
Ach so, das meintest du!
Ehe ich das probieren wollte, checkte ich mal die Wirkung und:java --enable-preview -jar /opt/MediathekView/MediathekView.jar Fehler: Beim Laden der Klasse mediathek.Main ist ein LinkageError aufgetreten java.lang.UnsupportedClassVersionError: mediathek/Main (class file version 59.65535) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version 55.65535
Aber danke trotzdem. Und schönen Sonntag!
-
@eckshecker
Du hast sicherlich noch eine ältere Java-Version (vermutlich Java 11) auf Deinem Rechner. Mediathekview bringt seine eigene mit und die musst Du mit
/opt/MediathekView/jre/bin/java
aufrufen. Mitjava --version
siehst Du, welche Version installiert ist, für die Version 13.7 wird Java 15 benötigt und das sollte Dir der Befehl
/opt/MediathekView/jre/bin/java --version
auch melden. -
@menchensued
Wow! Jetzt sitze ich mitten drin im Wespennest:Erstmal danke für die Erklärung zur Java-Version. Du hast recht damit, dass meine Version(en) veraltet sind, und dass MV seine eigene verwendet. (Gelegentlich mache ich sicherlich mal eine neue VM in der das Problem nicht mehr auftritt.)
Was ich aber erstaunt beobachten mußte, ist, dass die alternative Java-Version nicht richtig installiert wurde. Denn eigentlich gehört eine solche mitsudo update-alternatives --config java
ausgewählt, nachdem sie dem System korrekt bekannt gemacht wurde. Die Methode vom MV sieht mir eher nach quick&dirty aus.
Aber sei’s drum, Gott sei Dank ist es bei mir NUR eine VM, und in der kann meinetwegen Einiges seltsam laufen. Also startete ich mal den geänderten java-Befehl und damit MV, aber dann kam gleich eine Beschwerde über fehlenden RAM.
Die 13.7.1 läuft aber sonst problemlos, also habe ich mir mal die fertige Kommandozeile organisiert, die das Script erzeugt hat:/opt/MediathekView/jre/bin/java -Xmx2G -XX:+UseG1GC -XX:+UseStringDeduplication --enable-preview -Dfile.encoding=UTF-8 -classpath /opt/MediathekView/.install4j/i4jruntime.jar:/opt/MediathekView/.install4j/launcher9ad06d59.jar:/opt/MediathekView/MediathekView.jar install4j.mediathek.Main_MediathekView
Und siehe da: Jetzt gibt es keine Beschwerde über RAM mehr, sondern es heißt: “Configuring for non-portable mode” und es startet wieder der Updater mit seiner nervigen Frage, ob ich auf 13.8.0 gehen möchte.
==> Ende Gelände!
Immerhin haben wir gelernt:
Dieses geniale Programm wird offenbar nur von einem einzigen Entwickler - in seiner Freizeit - bearbeitet, was zunächst einmal ein riesiges Lob verdient, und dass dann solche debian/Ubuntu-Spezifika nicht korrekt gehandhabt wurden, kann ich schon auch entschuldigen.Leider bedeutet der aktuelle Stand, dass ich noch immer keine Lösung für meinen Wunsch weiß, das Update zu unterbinden. Ich habe schon mal über iptables nachgedacht, um die Verbindung zum Server evtl selektiv zu unterbinden.
Und ich werde mir mal den Tiny-media-Manager genauer ansehen. Vielleicht erlöst mich das ja mittelfristig von meinem Leiden.
-
@eckshecker sagte: Leider bedeutet der aktuelle Stand, dass ich noch immer keine Lösung für meinen Wunsch weiß, das Update zu unterbinden.
Das Problem ist bekannt – und ich weiss jetzt nicht, wieso der Moderator als Linux-User dem Problem nicht mal selbst auf den Grund geht (okay man kann auch den ganzen So hin und her zu schreiben…).
Aus dem oben verlinkten Thread lässt sich (spekulativ) ableiten, dass die Deaktivierung der Updatesuche über die Einstellungen (GUI) möglicherweise nicht funktioniert, gemäss dem OP aber sehr wohl, wenn man eine Settings-Datei manuell editiert.
-
@styroll
Ich bin nur Moderator, kein Entwickler. Also verlange von mir nicht, jede beliebige alte Version am Laufen zu haben. Meine Anregung war ja nur, auf den Installer zu verzichten und MediathekView direkt zu starten. Aber solange .install4j in der Startzeile auftaucht, hat der TE das noch nicht gemacht. -
Oh, je!
Entschuldigung, falls meine ungeschickte Kommunikation hier Störungen auslöste. Das wollte ich nicht.
Danke für den Link auf die settings.xml-Datei.
Ich habe prompt nach gesehen, und die Updates standen bereits auf false.Es ist richtig, dass ich (noch) keine MV.desktop-Datei gebastelt habe, weil bereits von der Kommandozeile aus der betreffende Befehl scheitert. Entweder wegen fehlender Angaben (zu wenig RAM) oder, wenn ich die komplette Zeile samt Argumenten und so mitnehme, erscheint wieder der Update-Dialog.
Nein, ich erwarte von Niemandem, eine veraltete Version am Laufen zu halten. Dass ich diesen schlimmen Hack (auf eigenes Risiko) gegangen bin, ist meine eigene Wahl und Entscheidung. Aber wenn wir schon dabei sind, die Dinge beim Namen zu nennen, ich finde nicht abzuschaltende automatische Updates extrem übergriffig und eher im Stile von solch Ehr-verletzenden Firmen wie Google oder Microsoft.
Ich selbst habe solches Vorgehen bislang nur einmal verwendet, und zwar um eine Art Botnetz unbemerkt zu verbreiten. Damit will ich sagen: “So etwas tut man nicht, wenn man ein anständiger Entwickler ist.”
Und nur durch die bei mir im Einsatz befindliche Virtualisierung konnte ich einigermaßen einfach wieder auf eine ältere Version zurück gehen, nachdem mir aufgefallen war, dass mir nach dem Update die Abfragemöglichkeit für die Mediensammlung fehlte.
Aber bitte, meine (als ehemaligem Entwickler geschuldeten) hohen ethischen Berufs-Standards sollen hier niemanden kränken oder einschränken. Sie haben mir nur ein ganzes Berufsleben lang sehr gute Dienste erwiesen.
Ich finde es toll, dass sich mal jemand meiner Sorgen angenommen hat, denn ich kam schon eine ganze Weile nicht mehr voran, und das, obwohl ich ein echter “Spielratz” bin.
Love, Peace & Happiness
-
@eckshecker Ich würde in der HOSTS Datei am Rechner wo das Programm läuft einfach die IP-Adresse, die für den Update verwendet wird auf 0.0.0.0 setzen, dann findet er keine Information über ein neues Update und gibt eine Ruh! Ich weiss leider nicht wonach er sucht, vielleicht weiss das wer.
-
@alodeu sagte: einfach die IP-Adresse, die für den Update verwendet wird auf 0.0.0.0 setzen, dann findet er keine Information über ein neues Update und gibt eine Ruh!
Ist dann halt bloss ein Workaround:
@menchensued sagte: Ich bin nur Moderator, kein Entwickler. Also verlange von mir nicht, jede beliebige alte Version am Laufen zu haben. Meine Anregung war ja nur
Du musst gar nichts. Das war auch nur eine Anregung, um effizienter vorzugehen.
Um eine alte Version zu installieren und das Problem zu verifizieren bzw. Schritt um Schritt für die Reproduktion des Fehlers genau zu beschreiben, muss man aber kein Entwickler sein.
Ich hab in der Vergangenheit schon zig mal eine alte Version installiert, um ein Problem zu verifizieren. Die Installation und Deinstallation und das Backup der Einstellungen benötigt (auf macOS und Win) gerade mal 2–3 min. Das mag auf Linux etwas länger gehen, wenn man noch sicherstellen muss, dass die korrekte Java-Version verwendet wird, aber sicher immer noch weniger Zeit als um einen ganzen Thread zu füllen.
Und in ähnlicher Sache habe ich da vor kurzem gerade ein Issue erstellt, die auch sofort von @alex gelöst wurde.
Wenn ein Problem genau beschrieben wird und auch einfach zu lösen ist (wie ziemlich sicher auch das hier vorliegende Problem), dann reagiert das MV-Team eigentlich immer sehr schnell. -
@eckshecker
Ich hatte heute (da Feiertag in Bayern) die Version 13.7.1 lokal installiert und getestet. Beim Aufruf vom Skript MediathekView kommt die Abfrage nach einem Update, nicht aber beim Aufruf durch die Zeile
jre/bin/java --enable-preview -Xmx2G -jar MediathekView.jar
Erstell Dir doch ein Skript oder einen Starter mit dieser Befehlszeile im Ordner /opt/MediathekView. -
@menchensued
Stürmischen Dank! Ja!!! Das funktioniert hier auch, und ich bin sehr glücklich. -
-