Puncte:2

Cum pot reveni de la utilizarea GTK 3 la GTK 2 pe Kunbuntu 20.04?

drapel in

Folosesc OpenCPN 5.2.4 cu OpenGL (necesar pentru suprapunerea radarului peste diagrame) sub Kubuntu 20.04. O eroare OpenCPN urmărită legată de utilizarea GTK3 împiedică OpenCPN să scaleze în mod corespunzător afișajul atunci când este utilizată scalarea afișajului (folosesc 200% pentru a scala pe un afișaj 4k de 15,6 inchi).

O soluție temporară este să utilizați GTK2 în loc de GTK3.

Intrebarea mea este: Cum pot reveni la GTK2 pe sistemul meu?

Orice indicii despre cum să procedați ar fi foarte apreciat.

Informatie de sistem:

  • Sistem de operare: Kubuntu 20.04
  • Versiunea KDE Plasma: 5.18.5
  • Versiunea KDE Frameworks: 5.68.0
  • Versiunea Qt: 5.12.8
  • Versiunea Kernel: 5.4.0-77-generic
  • Tip OS: 64 de biți
  • Procesoare: CPU Intel® Core™ i5-4570T de 4 x la 2,90 GHz
  • OpenGL: 3.0 Mesa 20.2.6

politica $ apt-cache opencpn 
opencpn: 
Instalat: 5.2.4.0-0~focal1 
Candidat: 5.2.4.0-0~focal1 
Tabel de versiuni:
 *** 5.2.4.0-0~focal1 500 
500 pachete ppa.launchpad.net/opencpn/opencpn/ubuntu focal/main amd64 
100 /var/lib/dpkg/status 5.0.0+dfsg-1 500 
500 de pachete nz.archive.ubuntu.com/ubuntu focal/universe amd64
guiverc avatar
drapel cn
Descărcați codul sursă, asigurați-vă că toate apelurile GTK3 sunt compatibile cu GTK2 și ajustați/recodificați pe cele care folosesc caracteristicile GTK3 pentru a se limita (și funcționalitatea codului) la cele compatibile GTK2, apoi recompilați codul.API-urile GTK3 și GTK2 diferă, așa că nu puteți înlocui GTK3 cu pachete GTK2... toate programele trebuie portate, ceea ce este o sarcină de muncă (de ce MATE a durat mult timp pentru a porta, la fel ca XFCE etc... darămite GNOME )
guiverc avatar
drapel cn
Alternativa dvs. este să creați un program precum `wine` care captează toate apelurile GTK3 și încearcă să le convertească în apeluri GTK2 și apelează lib-urile GTK2 pentru a face ceea ce poate face GTK2... Ce face cu diferențele GTK2/GTK3 este greu. parte; poate fie să ignore acest lucru (ceea ce probabil va crea erori de segment sau va avea un efect *nefiabil* sau *instabil* asupra programului de apelare, OpenCPN în cazul dvs.) și nu va fi foarte de încredere cu o mulțime de modificări constante și viitoare pe măsură ce GTK3 se schimbă apar în viitor...
N0rbert avatar
drapel zw
De ce crezi cu adevărat că problemele sunt cauzate de GTK2? Probabil că utilizați o versiune non-standard a OpenCPN, depozitul implicit oferă [versiunea 5.0.0](https://packages.ubuntu.com/focal/opencpn). Ați avut probleme cu OpenCPN în timp ce utilizați versiuni mai vechi [din 2019](https://changelogs.ubuntu.com/changelogs/pool/universe/o/opencpn/opencpn_5.0.0+dfsg-1/changelog) care sunt probabil bazate pe GTK2 ? Ce sursă de instalare folosiți pentru OpenCPN? Care este rezultatul `politicii apt-cache opencpn`?
Sergio avatar
drapel in
Problema este cu GTK3 (https://github.com/OpenCPN/OpenCPN/issues/1927#issuecomment-868587708). OpenCPN, depozitul implicit oferă 5.2.4. politica apt-cache opencpn opencpn: Instalat: 5.2.4.0-0~focal1 Candidat: 5.2.4.0-0~focal1 Tabel de versiuni: *** 5.2.4.0-0~focal1 500 500 Pachete http://ppa.launchpad.net/opencpn/opencpn/ubuntu focal/main amd64 100 /var/lib/dpkg/status 5.0.0+dfsg-1 500 500 http://nz.archive.ubuntu.com/ubuntu focal/universe pachete amd64
Puncte:1
drapel cn
  • descărcați codul sursă [la OpenCPN 5.2.4]
  • asigurați-vă că toate apelurile GTK3 sunt compatibile cu GTK2
  • ajustați/recodificați pe cei care folosesc caracteristicile GTK3, astfel încât să fie limitate la funcționalitatea GTK2 și să efectueze apeluri GTK2
  • recompilați codul.

API-urile GTK3 și GTK2 diferă, așa că nu puteți înlocui GTK3 cu pachete GTK2 (ceea ce bănuiesc că sperați).

Programele trebuie portate, ceea ce este o sarcină de muncă (de ce MATE a durat mult timp pentru a se porta, la fel ca XFCE etc... să nu mai vorbim de GNOME când a fost portat de la GTK2 la GTK3, iar acum se află în trecerea la GTK4)

Dacă nu a fost clar - munca care trebuie făcută se face în programul OpenCPN și OpenGL; adică. programele utilizatorului final care apelează în prezent GTK3 - acelea au nevoie de schimbare.

Un sistem poate avea GTK3 și GTK2 co-existând; de exemplu. Lubuntu al meu neastâmpărat sistemul are instalate ambele biblioteci Qt5, GTK3 și GTK2 și vor coexista cu bucurie.

  • hexchat (clientul IRC ales de mine) apelează lib GTK2
  • liferea & evoluţie (RSS și MUA alese de mine) apelează lib GTK3
  • desktop-ul meu Lubuntu LXQt, programele de ex. featherpad apelați bibliotecile Qt5, la fel ca desktopul KDE (multe aplicații KDE au nevoie și de KF5).

Este programul utilizatorului final care trebuie schimbat. Puteți instala toate setul de instrumente/biblioteca GTK2 în sistemul dvs., dar dacă nimic nu o apelează, nu va fi folosit.

De asemenea, rețineți: Scalingul nu există în GTK2, așa că nu văd ce speri să obții.

guiverc avatar
drapel cn
FYI: De ce aplicațiile pe care le-am ales... Am fost un utilizator GNOME cu mult timp în urmă (GTK2) zile, iar unele aplicații de utilizator final pur și simplu nu le-am lovit...
Sergio avatar
drapel in
Ok, asta îmi clarifică multe lucruri. Se pare că va trebui să aștept ca dezvoltatorii OpenCPN să rezolve acest lucru la o versiune viitoare. Este mult peste competențele mele de a „recoda” și „recompila”, așa cum am sugerat. p.s.: Între timp, am rămas blocat cu o migrare a sistemului și o actualizare a afișajului pe care OpenCPN nu o poate gestiona (Window to Kunbutu cu un afișaj 4k de 15,6 inci care are nevoie de scara setată la 200% pentru a fi utilizabil).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.