Fedora/KDE "Ihr Betriebssystem unterstützt das Öffnen des Browsers nicht"
-
Ich verwende MediathekView 14.0.0 mit der Java Version 20, welche mit MediathekView ausgeliefert wurde.
Der Link zur Webseite eines Films in der Beschreibung ist deaktiviert. Die Meldung aus dem Title kommt wenn ich z.B. auf “Hilfe -> Online Hilfe anzeigen” gehen.Mein Browser (Firefox) ist korrekt in den Einstellungen eingetragen. Wenn ich die Beschreibung eines Films in einem extra Fenster anzeige, so kann ich von dort die URL “Link zur Webseite” anklicken und Firefox öffnet sich.
Offensichtlich werden hier zwei verschiedene Methoden verwendet um den Browser zu öffnen. Keine große Sache, aber der Umweg über das Fenster mit der Filmbeschreibung ist etwas störend.
Ich verwende Fedora 40 mit KDE (und Wayland, falls das einen Unterschied macht).
Ich vermute, es wird im Hintergrund
Desktop.browse()
verwendet, was wohl unter Linux nicht funktioniert. Wenn in den Einstellungen der Browser sowieso eingetragen ist, könntet ihr doch viaRuntime.exec()
den Browser mit der URL starten.Runtime.getRuntime().exec(new String[] {"/usr/bin/firefox", "http://....});
Alternativ kann man
xgd-open
verwenden, um immer den im System definierten Standardbrowser zu starten:Runtime.getRuntime().exec(new String[] {"xdg-open", "http://....});
-
@shammat
Vielleicht funktionieren die Einstellungen auch nicht korrekt. Ich habe mal probeweise chromium eingetragen, dennoch wird Firefox zum Öffnen der URLs verwendet.
Der Aufruf
/usr/bin/chromium https://forum.mediathekview.de
funktioniert in einem Terminal@DerReisende77 : Werden die Einstellungen nur verwendet, wenn kein Default-Browser gefunden wird?
-
Desktop.browse
funktioniert unter Linux KDE problemlos, ich tippe hier von einemDistributor ID: Ubuntu Description: Ubuntu 24.04 LTS Release: 24.04 Codename: noble
mit KDE und nutze MV seit Jahren problemlos. Auch die vorherigen Versionen haben bisher problemlos funktioniert. Ich habe aber bei kurzer Recherche gesehen dass seit Fedora 34(!) wohl ein bug existiert dass man damit keinen Browser zuverlässig öffnen kann…
Probiere mal eine aktuelle nightly zu nutzen. Die hat Java 21 bei und könnte das Problem beseitigt haben. Im Programm kann ich das nicht abfangen.
Das ist die Logik:
if (Desktop.isDesktopSupported()) { var d = Desktop.getDesktop(); if (d.isSupported(Desktop.Action.BROWSE)) { try { d.browse(new URI(toolTipText)); } catch (Exception ex) { SwingErrorDialog.showExceptionMessage( MediathekGui.ui(), "Es trat ein Fehler beim Öffnen des Links auf.\nSollte dies häufiger auftreten kontaktieren Sie bitte das Entwicklerteam.", ex); } } else { openUrl(toolTipText); } } else { openUrl(toolTipText); }
Der eingetragene Browser wird nur verwendet wenn der Java Standard nicht unterstützt wird.
-
Also
Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)
liefertfalse
zurück. In der KlasseShowOnlineHelpAction
wird nur das getestet, dort wird kein Fallback für ein externes Programm verwendet (wie es z.B. inUrlHyperlinkAction
gemacht wird).Ich habe nicht weiter gesucht, aber ich vermute der Code der die URL in der Filmbeschreibung aktiviert/deaktiviert prüft auch nur isSupported() und fällt nicht auf den Aufruf via ProcessBuilder zurück.
-
@shammat Okay, wir haben etwas aneinander vorbei geredet. Ich sprach vom Filminformationen Dialog, dort wird alles korrekt behandelt.
Online-Hilfe anzeigen hat sich nur auf Java verlassen, genauso wie das Filmbeschreibungen Panel.Ich habe gerade einen Bugfix gepostet der das Problem an den von dir geschilderten Stellen beheben sollte. Ist morgen im nightly drin oder jetzt im git auf develop.
Sollte es immer noch Probleme geben, bitte auf github ein issue eröffnen da ich die nächsten zwei Wochen nicht verfügbar bin und das ganze bis dahin sicher vergessen habe
-
@DerReisende77 sagte in Fedora/KDE “Ihr Betriebssystem unterstützt das Öffnen des Browsers nicht”:
Ich habe gerade einen Bugfix gepostet der das Problem an den von dir geschilderten Stellen beheben sollte. Ist morgen im nightly drin oder jetzt im git auf develop.
Wow! Ich habe gerade den develop Branch gebaut, und es klappt.
Vielen Dank.