Am reușit să rezolv problema. Problema a fost că, pe lângă demonul obișnuit GNOME VFS (/usr/libexec/gvfsd
, sau /usr/lib/gvfs/gvfsd
în versiunile mai vechi de Ubuntu), a existat un alt daemon folosit de gThumb până la Ubuntu 18.04 - /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
. Acest demon nu mai este prezent în Ubuntu 20.04, așa că vechiul gThumb nu poate accesa fișierele/folderele de pe disc. Era necesar să se copieze demonul în Ubuntu 20.04, astfel încât aplicația să-l poată folosi.
Soluția completă pentru a face aplicația să ruleze este următoarea (aceasta este lungă și, probabil, nimeni în afară de mine nu este interesat de asta, dar pe măsură ce am rezolvat problema, postez un răspuns, poate că cineva în viitor îl poate folosi :)):
(BTW. Presupun că toate acestea pot fi transformate într-un pachet AppImage, dacă aș ști cum să o fac :))
- creați un director pentru vechea aplicație gThumb, de exemplu
/opt/gthumb_old
.
- de la instalarea de lucru a Ubuntu 10.04 pe 64 de biți, copiați următoarele fișiere în
/opt/gthumb_old
(Am avut o astfel de instalare disponibilă; în cazul în care nu este disponibilă, trebuie să identificați pachetele care conțin aceste fișiere, să le descărcați și să extrageți fișierele, ceea ce necesită mai multă muncă):
/usr/bin/gthumb
/usr/lib/gthumb/libgthumb.so
/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
/usr/lib/glade/2.0/libbonobo.so
/usr/lib/glade/2.0/libcanvas.so
/usr/lib/glade/2.0/libgnome.so
/usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
/usr/lib/libart_lgpl_2.so.2
/usr/lib/libaudiofile.so.0
/usr/lib/libbonobo-2.so.0
/usr/lib/libbonobo-activation.so.4
/usr/lib/libbonoboui-2.so.0
/usr/lib/libcanberra-gtk.so.0
/usr/lib/libcanberra.so.0
/usr/lib/libesd.so.0
/usr/lib/libfam.so.0
/lib/libgcrypt.so.11
/usr/lib/libglade-2.0.so.0
/usr/lib/libgnome-2.so.0
/usr/lib/libgnomecanvas-2.so.0
/usr/lib/libgnome-keyring.so.0
/usr/lib/libgnomeui-2.so.0
/usr/lib/libgnomevfs-2.so.0
/usr/lib/libgnutls.so.26
/usr/lib/libhal-storage.so.1
/usr/lib/libhal.so.1
/usr/lib/libiptcdata.so.0
/usr/lib/libopenrawgnome.so.1
/usr/lib/libopenraw.so.1
/usr/lib/libORBit-2.so.0
/usr/lib/libORBitCosNaming-2.so.0
/lib/libpng12.so.0
/usr/lib/libtasn1.so.3
/usr/lib/libtiff.so.4
Cele de mai sus /usr/lib/*.so.*
sau /lib/*.so.*
fișierele sunt legături simbolice către alte fișiere, așa că, desigur, trebuie să copiați fișierul către care indică legătura, dar numele țintă ar trebui să fie cel al link-ului. (Dacă utilizați cp
sau scp
pentru a copia numele de mai sus, nu trebuie să vă faceți griji pentru acest lucru, deoarece acest lucru se întâmplă automat.)
De asemenea, trebuie link simbolic /usr/lib/x86_64-linux-gnu/libjpeg.so.8
la libjpeg.so.62
în /opt/gthumb_old
. Aplicația se așteaptă să se conecteze la libjpeg.so.62
dar originalul libjpeg.so.62
biblioteca copiată din Ubuntu 10.04 nu funcționează corect și fișierele JPEG nu sunt afișate; așa că vom folosi în schimb biblioteca de sistem actuală.
creați un director /opt/gthumb_old/glade
și copiați conținutul /usr/share/gthumb/glade
de la instalarea Ubuntu 10.04 în acest director.
creați un director /opt/gthumb_old/modules
și copiați conținutul /usr/lib/gthumb/modules
de la instalarea Ubuntu 10.04 în acest director.
creați un director /opt/gthumb_old/vfs_modules
și copiați conținutul /usr/lib/gnome-vfs-2.0/modules
de la instalarea Ubuntu 10.04 în acest director.
creați un director /opt/gthumb_old/modules_conf
și copiați conținutul /etc/gnome-vfs-2.0/modules
de la instalarea Ubuntu 10.04 în acest director.
creați un subdirector .gtk-2.0/x86_64-pc-linux-gnu/engines
în dumneavoastră /home/nume de utilizator
director și copiați fișierul /usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so
de la Ubuntu 10.04 în acest director. Acest lucru este necesar pentru ca meniurile și alte gadgeturi UI să fie afișate corect (aplicația va funcționa fără acest fișier, dar interfața de utilizare va fi puțin distorsionată). Dacă nu aveți instalat Adobe Reader 9 (ultima versiune disponibilă pentru Linux), puteți sări peste intermediarul x86_64-pc-linux-gnu
subdirectorul și puneți fișierul doar în .gtk-2.0/motoare
. Dar dacă aveți instalat Adobe Reader (ca mine), are nevoie de o versiune pe 32 de biți a fișierului libmurrine.so
, care ar trebui să fie situat în .gtk-2.0/i686-pc-linux-gnu/engines
, prin urmare, este mai bine să folosiți versiunea „mai lungă”.
creați o legătură simbolică /usr/share/gthumb/glade
arătând spre /opt/gthumb_old/glade
.
creați o legătură simbolică /usr/lib/gthumb/modules
arătând spre /opt/gthumb_old/modules
(directorul /usr/lib/gthumb
nu există în instalarea standard a Ubuntu 20.04, așa că trebuie să-l creați mai întâi)
creați o legătură simbolică /usr/lib/gnome-vfs-2.0/modules
arătând spre /opt/gthumb_old/vfs_modules
(directorul /usr/lib/gnome-vfs-2.0
nu există în instalarea standard a Ubuntu 20.04, așa că trebuie să-l creați mai întâi)
creați o legătură simbolică /etc/gnome-vfs-2.0/modules
arătând spre /opt/gthumb_old/modules_conf
(directorul /etc/gnome-vfs-2.0
nu există în instalarea standard a Ubuntu 20.04, așa că trebuie să-l creați mai întâi)
creați un script /opt/gthumb_old/gvfsd_wrapper
cu următorul conținut (fișierul trebuie să fie executabil):
#!/bin/sh
GVFSD_DIR=`/usr/bin/dirname $0`
LD_LIBRARY_PATH=${GVFSD_DIR} ${GVFSD_DIR}/gnome-vfs-daemon
- copiați fișierul
/usr/share/dbus-1/services/gnome-vfs-daemon.service
din Ubuntu 10.04 în același director pe Ubuntu 20.04 (/usr/share/dbus-1/services
), atunci editați-l după cum urmează. Fișierul original are următorul conținut:
[Serviciul D-BUS]
Name=org.gnome.GnomeVFS.Daemon
Exec=/usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
Schimbați-l în:
[Serviciul D-BUS]
Name=org.gnome.GnomeVFS.Daemon
Exec=/opt/gthumb_old/gvfsd_wrapper
- În cele din urmă, creați un script
/usr/local/bin/gthumb_old
pentru a rula aplicația:
#!/bin/sh
LD_LIBRARY_PATH=/opt/gthumb_old /opt/gthumb_old/gthumb
(puteți crea, de asemenea, un lansator în meniu sau panoul GNOME cu referire la acest script).
Aplicația nu intră în conflict cu gThumb 3.8.0 existent din Ubuntu 20.04, deoarece își stochează datele de configurare într-un loc diferit. Ambele pot fi utilizate independent, dar există o posibilă problemă descrisă mai jos.
Notă că aplicația se blochează într-un director de imagini care are un .comentarii
subdirectorul care conține comentarii create de versiunea mai nouă a gThumb. Deci, în cazul în care aplicația se blochează după ce ați intrat într-un director, ar trebui să ștergeți .comentarii
subdir.
De asemenea, am găsit un caz ciudat cu două fișiere imagine (din câteva mii pe care le am). Aplicația s-a prăbușit într-un director care conținea legături simbolice la aceste două fișiere care se aflau într-un alt director (când am înlocuit legăturile simbolice cu copii ale fișierelor sau link-uri rigide, nu a existat nicio blocare - sa întâmplat doar pe acele două fișiere). Dacă nu aveți nicio legătură simbolică în directoarele dvs. de imagine, această problemă nu ar trebui să apară.
Captură de ecran finală a aplicației de lucru: