Der TV-Browser ist ein in Java geschriebener TV-Programmführer, welcher auf unterschiedlichen Plattformen lauffähig ist. Auf der Downloadseite finden sich auch Pakete für verschiedene Linux-Distributionen. Für Debian habe ich das tar.gz Paket im Verzeichnis /opt entpackt und habe in Xfce einen Starter mit dem Befehl /opt/tvbrowser/tvbrowser.sh angelegt. Unter Debian Buster lässt sich das Programm allerdings nicht mehr starten.
Ein Start in der Konsole ergibt folgende Ausgabe:
$ /opt/tvbrowser/tvbrowser.sh
Starting TV-Browser...
Java exec found in PATH. Verifying...
Suitable java version found [java = 11.0.3 2019-04-16]
Configuring environment...
Loading TV-Browser:
java -Xms16m -Xmx512m -XX:+IgnoreUnrecognizedVMOptions --add-modules=ALL-SYSTEM -Djava.library.path="/opt/tvbrowser" -Dpropertiesfile=linux.properties -jar tvbrowser.jar ''
TV-Browser was developed for Sun Java and may not run correctly with your Java implementation.
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
19:00:31 INFORMATION: Using settings from file /home/joerg/.tvbrowser/4.0.1/settings.prop
19:00:31 WARNUNG: TV-Browser was developed for Sun Java and may not run correctly with your Java implementation.
19:00:32 SCHWERWIEGEND: UNCAUGHT EXCEPTION IN THREAD 'main'
java.lang.NoClassDefFoundError: javax/activation/UnsupportedDataTypeException
at util.ui.Localizer.msg(Localizer.java:323)
at util.exc.TvBrowserException.getLocalizedMessage(TvBrowserException.java:256)
at java.base/java.lang.Throwable.toString(Throwable.java:485)
at java.base/java.lang.String.valueOf(String.java:2951)
at java.base/java.io.PrintWriter.println(PrintWriter.java:837)
at java.base/java.lang.Throwable$WrappedPrintWriter.println(Throwable.java:768)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:659)
at java.base/java.lang.Throwable.printStackTrace(Throwable.java:725)
at tvbrowser.TVBrowser$7.format(TVBrowser.java:1606)
at java.logging/java.util.logging.StreamHandler.publish(StreamHandler.java:199)
at java.logging/java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:95)
at java.logging/java.util.logging.Logger.log(Logger.java:979)
at java.logging/java.util.logging.Logger.doLog(Logger.java:1006)
at java.logging/java.util.logging.Logger.log(Logger.java:1117)
at tvbrowser.core.PluginLoader.loadPlugin(PluginLoader.java:277)
at tvbrowser.core.PluginLoader.loadPlugins(PluginLoader.java:488)
at tvbrowser.core.PluginLoader.loadAllPlugins(PluginLoader.java:524)
at tvbrowser.TVBrowser.main(TVBrowser.java:490)
Caused by: java.lang.ClassNotFoundException: javax.activation.UnsupportedDataTypeException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 18 more
19:00:32 WARNUNG: Key 'PluginLoader.error.2' not found in resource bundle 'tvbrowser.core.core'
TV-Browser TERMINATED.
Anscheinend kommt TV-Browser unter Linux nicht mit aktuelleren Versionen als Java 8 zurecht, das legt jedenfalls dieser Thread im TV-Browser-Forum nahe. In der Shelldatei tvbrowser.sh kann man den Pfad zu einem alternativen Java Binary angeben:
JAVA_PROGRAM_DIR="" # use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
Der gewünschte Pfad unter Debian lässt sich mithilfe von which und ls in Erfahrung bringen:
$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Apr 29 2014 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
$ ls -l /usr/lib/jvm
insgesamt 8
lrwxrwxrwx 1 root root 25 Dec 30 04:04 default-java -> java-1.11.0-openjdk-amd64
lrwxrwxrwx 1 root root 21 Feb 27 15:44 java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64
drwxr-xr-x 7 root root 4096 Mar 23 10:53 java-11-openjdk-amd64
lrwxrwxrwx 1 root root 20 Apr 8 2016 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
drwxr-xr-x 5 root root 4096 Apr 22 2016 java-8-openjdk-amd64
Nach der Angabe des Pfads zum Java 8 Binary im Konfigurationsabschnitt von tvbrowser.sh kann der TV-Browser wieder erfolgreich gestartet werden:
JAVA_PROGRAM_DIR="/usr/lib/jvm/java-8-openjdk-amd64/bin/" # use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
Update 2019-09-13
Die Beta-Version 4.0.9.99 RC3 behebt das obengenannte Problem, siehe auch Kommentar von Hutsche
Kommentare
Hi,
es gibt auch eine Beta die ziemlich stabil läuft und das Problem behebt und direkt als Deb-Paket geladen werden kann:
https://hilfe.tvbrowser.org/viewtopic.php?f=2&t=18680
Gruß,
Hutsche
Danke für den Hinweis, werde ich heute abend gleich ausprobieren