Bitte um Nachhilfe (aber nur wenn du Zeit hast).
Wenn jemand Interesse hat und etwas wissen will nehme ich mir die Zeit. Die Frage ist, ob das hierher gehört. Möge ein Wiki-Mod es sonst bitte abtrennen. 😛
Die Bilder (ich meine die Aufrufe) von
Deja-Dup
sehen im 21.10 und im 20.04 gleich aus. Wenn ich deine PPA einsetze.
Das ist auch nicht verwunderlich, da es ja die selbe Version ist. 😉
Sie wurde nur gegen unterschiedliche Versionen ihrer Abhängigkeiten gebaut. Die Version für 20.04 wurde gegen die dort in den Repos liegende Version 3.24.20-0ubuntu1
von libgtk-3-dev gebaut, die Version für 21.10 gegen die dort in den Repos liegende Version 3.24.30-1ubuntu1
.
Wie kann ich die verwendete
GTK
abfragen?Aus dem Wiki Bestimmen, ob das Programm GTK+ 2 oder 3 verwendet
Möchte man überprüfen, ob ein Programm noch GTK+ 2 oder schon GTK 3 verwendet, dann kann man folgenden Befehl nutzen:
mate-hp@matehp-HP:/$ ldd /usr/bin/inkscape | grep gtk ldd: /usr/bin/inkscape: Datei oder Verzeichnis nicht gefunden mate-hp@matehp-HP:/$
Das kann man so verwenden, denn ldd
zeigt an, gegen welche "Shared libraries", also geteilte Abhängigkeien, die angegebene ausführbare Datei gelinkt ist. Die Fehlermeldung auf deinem System sagt ja nun eindeutig, dass es die Datei /usr/bin/inkscape
auf deinem System nicht gibt, was mich zu der Annahme verleiten würde, dass auf deinem System kein Inkscape installiert ist. 😛
Also probieren wir das mit einem Programm aus, das installiert ist.
Du wolltest ja wissen, welche GTK-Version deja-dup
verwendet. Mit dpkg -l PAKETNAME
kannst du dir anzeigen lassen, welche Daten mit einem installierten Paket installiert wurden, mit einer Pipe an grep weiterleiten und dieses nach der ausführbaren Datei filtern lassen, die sich den Vorgaben der Verzeichnisstruktur (Abschnitt „usr“) im Ordner /usr/bin/
befinden sollte.
Und ein
dpkg -l deja-dup | grep /usr/bin
gibt aus:
/usr/bin/deja-dup
Jetzt kennst du also den Pfad, auf den du ldd
ansetzen kannst.
ldd /usr/bin/deja-dup
bzw. um nur die GTK-Verlinkungen anzeigen zu lassen danach filtern
ldd /usr/bin/deja-dup | grep gtk
Bei mir kommt da
libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007f2ab11eb000)
(ist allerdings hier auch gerade kein Ubuntu-System, sollte aber ähnlich aussehen), also GTK3.
mate-hp@matehp-HP:/usr/bin$ ls -l | grep -i inkscape mate-hp@matehp-HP:/usr/bin$
Was nicht da ist, ist nicht da. 😉
Ist jetzt mit "ein Programm" auch z.Bsp.
Deja-Dup
gemeint?
Ja, mit einem Programm ist ein Programm gemeint, und Deja-Dup ist ein solches. 😛
Das passt nicht, denn danach sollte bei mir mindestens GTK 3 laufen
Warum soll das nicht passen? Ich schrieb, dass ich die aktuellste, gegen GTK3 kompilierbare Version für 20.04 erstellt habe. Das ist dann konkret Version 42.8.
Und genau die liegt auch in 21.10. Nur weil ab 21.10 libgtk-4-1 verfügbar ist (eigentlich es es das sogar ab 21.04, aber das ist EOL ab morgen), heißt das nicht, dass alles was GTK ist, jetzt automatisch in GTK4 gebaut wird.
Die Entwickler eines Programmes legen aber fest, welche Abhängigkeiten ihr Programm hat. Bis Deja-Dup 42.8 sind die weitestgehend unter 20.04 auflösbar (das Paket libhandy1
musste vorher kompiliert werden).
Für die aktuelle Deja-Dup-Version 43.1 (und bereits seit 43.0) gelten folgende Abhängigkeiten:
Required Packaging Changes Since 42.x hidden_anchor_to_fix_syntax
Require libadwaita1 1.0+ (instead of libhandy1)
Require gtk4 4.6+ (instead of gtk3)
Require glib2 2.66+
Require meson 0.59+
Due to new support for Microsoft OneDrive: hidden_anchor_to_fix_syntax
Require the requests_oauthlib python module
If you can't hard-depend on it, define the new requests_oauthlib_pkgs config flag if building with packagekit support This feature will only be visible if duplicity 0.8.21+ is available
und
hidden_anchor_to_fix_syntax
Require libsoup-3.0 (instead of libsoup-2.4)
Jetzt prüfen wir also mal, ob die in den notwendigen Mindestversionen vorhanden sind in den Ubuntu-Repos. hidden_anchor_to_fix_syntax
libadwaita-1-0 >= 1.0 → 20.04/21.10/22.04
libgtk4-1 >= 4.6 → 20.04/21.10/22.04
libglib2.0-0 >= 2.66 → 20.04/21.10/22.04
meson >= 0.59 → 20.04/21.10/22.04
libsoup3 >=3.0 → 20.04/21.10/22.04
Damit war meine vorherige Aussage also auch falsch, dass man das ab 21.10 bauen könnte, da ich übersehen habe, dass GTK4 >= 4.6 sein muss, somit gibt es bisher noch nicht mal eine Entwicklungsversion von Ubuntu, unter der alle Abhängigkeiten für die aktuelle Deja-Dup-Version in den benötigten Versionen vorhanden sind (bei Debian ist GTK4.6 am 04.02.2022 in den experimental
-Zweig eingeflossen). Da es äußerst unwahrscheinlich ist, dass das bis zum DebianImportFreeze am 24.02.2022 in Debian Testing
liegen wird, wird es also höchstwahrscheinlich auch frühestens in Ubuntu 22.10 verfügbar sein. libsoup3
ist noch nicht mal in Debian experimental
.
Allerdings ist zumindest Version 43.0 als Snap verfügbar (da sind die Abhängigkeiten egal, weil das Snap die alle mitbringt), falls du dir die Version mal angucken wollen solltest.
zu MATE 20.04 finde ich leider nichts.
Gegen welche Abhängigkeiten ein Programm gelinkt ist hat auch nichts mit der verwendeten Oberfläche zu tun. Auch bei z.B. der Nutzung von Plasma als DE ist Deja-Dup gegen GTK3 gelinkt und benötigt dieses.
linux-community Ausgaben 2018-06/ (Quelle meines Halbwissens)
Ein Upgrade von der letzten LTS-Version 16.04 frischt den Maté-Desktop (Abbildung 5) um nicht weniger als vier Versionsstufen auf. In dieser Zeit stellten die Entwickler Maté von GTK 2 auf GTK 3 um
Das hat aber mit Deja-Dup auch nichts zu tun. Das war vorher schon lange in GTK3. In deinem Link geht es nur darum, dass MATE damals von GTK2 auf GTK3 umgestellt wurde. Trotzdem konnte man darunter auch vorher schon GTK3-Programme laufen lassen, denn dank der Paketverwaltung bringen die ja ihre Abhängigkeiten selbst mit und rufen sie auf.