TV-Browser startet nicht unter Debian Buster

Jörg Kruse

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/"
Tags: Debian

Kommentar schreiben

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Kommentare werden erst nach Freischaltung veröffentlicht