Hier ist ein interessantes Problem für Sie. Erinnerst du dich an mein Asus Vivobook, das Windows 8 und Ubuntu dual bootet? Nun, ich habe die Maschine von Trusty auf Bionic upgraden lassen und im Zuge weiterer Übungen auch Plasma auf dem System installiert. Alles war gut, aber dann, wenn ich Discover startete, bemerkte ich eine Meldung, die nicht dort sein sollte.
Am unteren Rand des Discover-Hauptbildschirms würde es lesen:kdenlive_projectprofiles.knsrc" "Laden von Anbietern aus Datei:https://kdenlive.org/data/mltprofilesources.xml fehlgeschlagen". Seltsam. Abgesehen davon, dass dies für ein paar angezeigt wird Sekunden, alles funktionierte gut. Ich konnte über Discover nach Anwendungen suchen und sie installieren, Kdenlive funktionierte wie erwartet. Aber meine OCD-Dämonen ließen das nicht ruhen. Also lasst uns das beheben, sollen wir.
Problem im Detail
Natürlich habe ich die intertubez besucht, um zu sehen, was es bringt, und ich habe festgestellt, dass sich viele Leute in den letzten vier oder fünf Jahren mit dieser oder jener Anwendung darüber beschwert haben. Einige würden auch größere Probleme haben, Software nicht installieren zu können und ähnliches. Für mich beschränkte sich das Problem auf eine falsche Nachricht.
Um mehr zu erfahren, habe ich KDE Discover (Plasma-Discover) über die Befehlszeile ausgeführt. Dies bedeutete, dass Fehler detaillierter angezeigt werden konnten, einschließlich der vollständigen Pfade zu allen möglicherweise betroffenen Konfigurationen oder Dateien. Die Ausgabe war nicht sauber, und es gab mehrere Warnungen für eine ganze Reihe von Dingen. Aber das, was wirklich interessant ist, ist dieses:
plasma-discover
...
org.kde.knewstuff.core:"Fehler beim Übertragen von https://kdenlive.org/data/mltprofilesources.xml - Server antwortete:Nicht gefunden"
kns Fehler "/etc/xdg/kdenlive_projectprofiles.knsrc" "Laden von Anbietern aus Datei:https://kdenlive.org/data/mltprofilesources.xml fehlgeschlagen"
qml:Nachricht:kdenlive_projectprofiles.knsrc:Laden von Anbietern aus Datei :https://kdenlive.org/data/mltprofilesources.xml fehlgeschlagen
Fehler:"Erwartete '#' oder '[a-zA-Z]', erhielt aber '&'." in QUrl("https://kdenlive.org/data/mltprofilesources.xml")
Um zu überprüfen, ob es sich um ein Plasma-Problem oder ein Kdenlive-Problem handelt, habe ich die aufgelistete URL überprüft und tatsächlich 404 zurückgegeben. Discover war hier also nicht schuld, es fehlte etwas auf der Anwendungsseite. Dadurch konnte ich meine Suche auch eingrenzen.
Lösung
Schon bald fand ich diesen KDE-Fehler – der das Problem beheben sollte, und tatsächlich hätte ich das Problem nicht erleben sollen. Aber hier ist der Clou, angesichts der Tatsache, dass ich die Distribution von Trusty auf Bionic aktualisiert habe, was ungefähr vier Jahre in der Zeit an einem Nachmittag ist, die Konfiguration von meinem Setup übernommen wurde und veraltete Kleinigkeiten nicht wirklich richtig aufgeräumt wurden.
Wenn ich das Problem verstehe, sollen sich die knsrc-Dateien unter /usr/share befinden, und die unter /etc werden nicht automatisch gelöscht (aufgrund des Fehlers). Wenn Sie also alte Konfigurationen haben, verweisen diese möglicherweise auf Online-Ressourcen oder URLs, die nicht mehr existieren (oder sich geändert haben), was sehr wahrscheinlich ist, wenn wir über große Distributions-Upgrades sprechen. Und mit diesen Konfigurationen gibt Discover Fehler aus.
Tatsächlich waren die Dateien unter /etc/xdg/kdenlive alle relativ aktuell (2018), mit Ausnahme derjenigen, auf die in den Fehlern kdenlive_projectprofiles.knsrc verwiesen wurde, die zuletzt 2016 geändert wurde. Daher besteht die Lösung darin, diese zu entfernen Datei manuell.
-rw-r--r-- 1 root root 244 10. März 2016 kdenlive_projectprofiles.knsrc
-rw-r--r-- 1 root root 1124 2. März 2018 kdenlive_wipes.knsrc
-rw-r --r-- 1 root root 1133 2. März 2018 kdenlive_titles.knsrc
-rw-r--r-- 1 root root 1197 2. März 2018 kdenlive_renderprofiles.knsrc
-rw-r--r- - 1 root root 48. März 2 2018 kdenlive.categories
Was ich elegant gemacht habe (ich habe es tatsächlich verschoben, damit ich ein Backup hätte):
sudo mv /etc/xdg/kdenlive_projectprofiles.knsrc ~/backup/
Und KDE Discover lief jetzt ohne Fehler. Ich denke jedoch, dass die richtige Lösung hierfür eine transparente Änderung auf Systemebene ohne Benutzerinteraktion sein sollte. Das Ganze braucht eine bessere Fehlerbehandlung. Ich bin auch zuversichtlich, dass diese Aktion keine Nebenwirkungen hat, und dennoch ist das Entfernen von Konfigurationsdateien nie trivial, oder? Schließlich ist der UI-Fehler nicht nützlich, da er keinen vollständigen Pfad enthält und die angezeigten Informationen den Benutzer nur verwirren. Wenn man die Befehlszeile benötigt, um die eigentliche Datei zu sehen, sollte der Fehler in Discover gar nicht erst angezeigt werden.
Schlussfolgerung
Na, bitte. Jetzt kann ich mich wieder ausruhen, denn das System ist fehlerfrei. Ich denke, das war eine ziemlich nützliche Übung, weil es sich um einen Post-Upgrade-Geist handelt, der nicht sofort sichtbar ist - und der nicht da sein sollte, wohlgemerkt. Normalerweise verwende ich die Befehlszeilenschnittstelle, um Software zu installieren, also hat es eine Weile gedauert, bis ich das herausgefunden habe. Und ohne scheinbare Krankheitssymptome ist dieses Problem problematisch, da Sie nicht 100 % sicher sein können, dass die Lösung nicht irgendwann zukünftige Geister einführt.
Wenn Sie jedoch auf Probleme ähnlicher Art stoßen, führen Sie Discover über die Befehlszeile aus, versuchen Sie, den Fehler zu lokalisieren, und prüfen Sie dann sorgfältig die Informationen, um festzustellen, ob die Problemzeilen im Paketmanager oder in den referenzierten Dateien (und Remotequellen) liegen. Sobald Sie den Übeltäter isoliert haben, sehen Sie nach, ob die Entfernung oder Bereinigung hilft, aber stellen Sie sicher, dass Sie eine Sicherungskopie haben, damit Sie leicht zurückkehren können. Und ich schätze, das wäre alles für diesen plasmatischen Artikel.