Qt alkalmazások megjelenése nem KDE asztali környezet alatt

kimarite képe

Szomorúan vettem észre -mint Füles, a szamár- a minap, hogy az általam tesztelt „Frankeinstein” Linux Mint 19 Tara kiadás alatt (még nem jelent meg hivatalosan) a Qt fejlesztői készlettel készülő VLC média alkalmazás menüinek látható betűkészlete nem túl szép és a karakterek mérete igen picike.  A történet magyarázata, hogy a Cinnamon és sok más asztali környezet alkalmazásainak vezérlőelemei és még sok más alkotórészük -a GIMP alkalmazás készítőinek a- GTK+ fejlesztői készletével készült és a Qt alkalmazásokat azok tervezőinek és karbantartóinak optimalizálni kell vagy legalábbis illik (illene) a GTK+ -os asztali környezetek alatt történő grafikus megjelenésre, az azzal való normális együttműködésre (és viszont is természetesen) azonban ez néhány esetben nem történik meg teljes egészében.

Mi lehet vajon a megoldás?

Általánosságban

Kapirgáltam, keresgéltem és végül ráakadtam az általam már megismert „környezeti változó” (angol szóval: environment variable) fogalomra. No, és annak gyakorlati alkalmazására a kérdés tekintetében is az Arch Linux Wikijében:
https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and_GTK_applications
Fene se tudja, miért, az általam most közzétett környezeti változó említését mára innen törölték. Egy a lényeg, működik.

Megnéztem a saját könyvtáramban található „Trolltech.conf” szöveges állományt is,

locate Trolltech.conf
/etc/xdg/Trolltech.conf
/home/kim/.config/Trolltech.conf <-- itt.

az Arch Wiki által korábban ajánlott beállítás szerepel benne eleve:

[Qt]
style=GTK+

Térjünk vissza a környezeti változó alkalmazására.

A környezeti változó a következő:

QT_STYLE_OVERRIDE=mint-x

Az egyenlőség jel előtt láthatod a környezeti változót, az egyenlőségjel után az általad használt rendszer téma neve, kis karaterrel használva. Én a Mint-X témát használom.
Az általad használttól egészen eltérő témával, azaz megjelenéssel indíthatsz el, egy vagy több alkalmazást, a változó -elméletileg- erre is lehetőséget ad, ha a neked tetsző témát a változóban alkalmazod.

Gyakorlati megvalósítás

Az alkalmazások, így a VLC indítása is egy alkalmazás indító fájl segítségével történik, mely fájlneve az általa indított alkalmazásra jellemző, és a kiterjesztése a „desktop” nevet viseli. A „desktop” fájl az alkalmazás indítására vonatkozó általános beállításokat tartalmazza (pl. hogy melyik asztali környezet alatt jelenjen meg és melyiken ne), és többek között a felhasználó által használt nyelvi megfelelőségért, egyezésért is felel. Feladata a látható ikon megjelenítése is, rövidítés alkalmazásával, de akár az ikon elérési útját használva.  Tulajdonképpen egy Linux-szos megvalósítás a menü, a panel és az asztal nevű helyeken az alkalmazások grafikus megjelenítésére és a megjelenítés utáni könnyed, egér kattintás által történő indítására.

Alkalmazás indító fájl két helyen fordul elő leginkább, az

/usr/share/applications/

rendszer szintű (minden felhasználóra érvényes), továbbá, a

/home/$USER/.local/share/applications/

vagy másként

~/.local/share/applications/

könyvtárban.

Keressünk rá a VLC indító fájlra a rendszer szintű könyvtárban:

-- először belépek a könyvtárba,

cd /usr/share/applications/

-- majd listázom, a grep-pel szűkítve az eredményre,

ls | grep vlc

-- és eredményül ezt kapom:

vlc.desktop

A fáljt a cat-tel olvasásra megnyitva,

cat vlc.desktop

az „Exec=” kifejezéssel kezdődő sor lesz érdekes. Az itt szereplő beállítás indítja el az alkalmazást (execute = bináris fájl futtatása). Jelen pillanatban a sor így néz ki a VLC tekintetében:

Exec=/usr/bin/vlc --started-from-file %U

Ha alkalmazom a környezeti változót, akkor majd így kell kinéznie:

Exec=env QT_STYLE_OVERRIDE=mint-x /usr/bin/vlc --started-from-file %U

A %U is egy változó, ha gondolod, utánanézhetsz, miért szerepel itt. ... nahát, milyen érdekességek vannak, csak megnyitok egy indítót.

A fájl a rendszer része, egyszerű felhasználóként nem szerkesztheted. Kizárólag olvasni tudod (és nyilván futtatni).

Megnyitom tehát admin joggal, a szerkesztéshez a nano szövegszerkesztőt használva:

sudo nano vlc.desktop

A nano szövegszerkesztőben a kurzor nyilakkal navigálhatsz. A már leírtak ismeretében, de „az ismétlés a tudás anyja„ ..., még egyszer:

-- megkeresed ezt a sort,

Exec=/usr/bin/vlc --started-from-file %U

-- kiegészíted ezzel a szöveggel,

env QT_STYLE_OVERRIDE=mint-x 

-- hogy -egészen pontosan (pl. szóközök)- így nézzen ki.
(ha a Mint-X témát használod, egyéb esetben az általad használt téma nevét helyettesítsd be)

Exec=env QT_STYLE_OVERRIDE=mint-x /usr/bin/vlc --started-from-file %U

Az „env”-et szükséges beírni, hiszen a kapcsoló érvényesíti a környezeti változót.

Ezek után mented a változtatást, és kilépsz a nano szövegszerkesztőből:
Ctrl + O és Enter
Ctrl + X

Újra megnyitva a VLC alkalmazást, a kinézete immár ugyanolyan, mint a többi alkalmazásnak.
(a régi kinézetet épp' nem tudom visszaállítani, de igazából ehhez kedvem sincs már)

Juhéjj!

A lexikális tudásra szomjazók kedvében járva, íme, a betűtípus beállításaim a noteszgépen:

Azt hiszem, hogy a témakörhöz kapcsolódóan egy csomagot telepítettem.
Ha gondolod, telepítheted:
(nem hiszem, hogy szükséges, viszont Qt5 tartozék)

sudo apt-get install qt5ct

Ha kérdésed van, ne tartsd magadban.

Enjoy :)

Tudástár

-- Qt
https://hu.wikipedia.org/wiki/Qt
-- GTK+:
https://hu.wikipedia.org/wiki/GTK%2B
-- Qt / GTK+ alkalmazások egységes kinézete:
https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and_GTK_applications
-- Környezeti változó:
https://hu.wikipedia.org/wiki/K%C3%B6rnyezeti_v%C3%A1ltoz%C3%B3k
https://wiki.archlinux.org/index.php/Environment_variables#Graphical_applications
-- Asztali fájlok (desktop files):
https://developer.gnome.org/integration-guide/stable/desktop-files.html.en
https://linuxcritic.wordpress.com/2010/04/07/anatomy-of-a-desktop-file/
https://www.freedesktop.org/wiki/
-- Trolltech.conf:
https://arstechnica.com/information-technology/2008/01/nokia-buys-trolltech-will-become-a-patron-of-kde/
(https://ubuntuforums.org/showthread.php?t=2284976
2008 előtt a Trolltech vállalat gondozta a Qt fejlesztői készletet)

Egyéb lehetőségek

-- megpróbálkozhatsz ezzel,

export QT_QPA_PLATFORMTHEME=gtk2

Részletek:
https://forums.gentoo.org/viewtopic-p-7741628.html

-- vagy ezzel a megoldással:

#
# ~/.profile
#
#

[[ "$XDG_CURRENT_DESKTOP" == "KDE" ]] || export QT_QPA_PLATFORMTHEME="qt5ct"

[[ -f ~/.extend.profile ]] && . ~/.extend.profile

Részletek:
https://forum.manjaro.org/t/qt5ct-problem-qt-style-override-environment-variable/15649/11

Hozzászólások

lazlo képe

...naaa akkor ezt meg kéne

...naaa akkor ezt meg kéne oldani az operaban,open shotban,viberben,meg egy csomo mísban...ami kicsi...

Értékelés: 

0
Még nincs értékelve
kimarite képe

...naaa akkor ezt meg kéne ...ugyanmár

#1 lazlo, ha magad nem jöttél volna rá, akkor elárulom, hogy kifejezetten a te kedvedért tettem be képet a bettűtípus beállításaimról. :) :)))

A betűkészlet méretekkel lehet 'játszani', no meg némileg a szövegméretezéssel. Utóbbi értékét növeled, ha a betűk mérete nem kielégítő, s a növelés után azon elemek betű méreteit csökkented, amelyek így már túl nagyok. Hogy mennyire, mik a pontos értékek, a neked megfelelőek, azt sem én, sem a Linux nem tudja 'megmondani', ugyanis te látod. ;)
Én az ablakok fejlécének méretében hagytam kisebb betű méretet.
Neked nem a blogban részletezett problémád van. Úgyhogy nem javaslom, hogy a kicsi betűidet a Qt fejlesztői készletre fogd, mert pl. az Opera nem Qt-ban készül (a kedvedért megnéztem, a többi alkalmazásnak nézz utána, de nem hiszem, hogy ..). :) :)))

A 10.5-ös verziók (kódnév: Evenes) egy új JavaScript-motorral, a Carakan-nal és egy új grafikus háttérrel, a Vega-val (a korábban használt Qt helyettesítése) jöttek be, amelyek mérhetően növelték a sebességét.
[Forrás: Opera's history]

-----

Off: Van sokkal jobb reklám is (ez nem túl 'izgalmas'), de azért ideteszem: https://www.youtube.com/watch?v=GLTPD1UPR_c

Értékelés: 

0
Még nincs értékelve
lazlo képe

...naaa akkor ezt meg kéne ...ugyanmár

 ...gogle chromet akartam irni,az opera már jooo...mar irtam-betunagyitasra nem reagalnak,csak ha leveszek a felbontásbol...no a volannál,auto sofor nélkul...

Értékelés: 

0
Még nincs értékelve
kimarite képe

...naaa akkor ezt meg kéne ...ugyanmár

#2 Nyissál neki (Google Chrome) új topikot, ott megpróbáljuk a lökhárítóját szépre krómozni.
Ha ügyesen csináljuk, nem lesz több öt napnál ... ;)

Értékelés: 

0
Még nincs értékelve
kimarite képe

!Frissítés

Ha például GTK3+ fejlesztői környezet van inkább jelen a rendszereden (manapság ez az inkább jellemző), akkor ezt a teendőd az indító tekintetében (példaként a VLC, az Avidemux és a digiKam alkalmazások!):

  • a Qt5 esetén
Exec=env QT_QPA_PLATFORMTHEME=gtk3 /usr/bin/vlc --started-from-file %U
Exec=env QT_QPA_PLATFORMTHEME=gtk3 /usr/bin/avidemux 
Exec=env QT_QPA_PLATFORMTHEME=gtk3 digikam -qwindowtitle %c
  • a Qt4 esetén
    A mint-x kifejezés helyére az általad használt témát helyettesítsd be.
Exec=env QT_STYLE_OVERRIDE=mint-x /usr/bin/vlc --started-from-file %U
Exec=env QT_STYLE_OVERRIDE=mint-x /usr/bin/avidemux
Exec=env QT_STYLE_OVERRIDE=mint-x digikam -qwindowtitle %c
  • továbbá mindegyiknél

-- szerkesztés

sudo nano ~/.config/Trolltech.conf

-- tartalom

[Qt]
style=GTK+

!A Linux Mint 17.x a Qt4-et, a Linux Mint 18.x a Qt4-et és a Qt5-öt (az Avidemux esetén például a telepítés módjától, vagy a például PPA-ról telepített csomagtól függ, hogy melyiket használja), a Linux Mint 19 inkább a Qt5-öt használja.

-----

A digiKam indítójának szerkesztése:

sudo nano org.kde.digikam.desktop

Értékelés: 

0
Még nincs értékelve
lazlo képe

!Frissítés

#4 ...ezt a részt a multkor se értettem,meg mosse értem...a digikamot megoldottam,mukodik....muszáj nekem hokuszpokolni???...asse tudom milyen qt-m van,meg mijaza qt???...én egy felhasználo vagyok,a linux ismereteim meg alacsonyak...

Értékelés: 

0
Még nincs értékelve
kimarite képe

!Frissítés

#4.1 Felvilágosítás: nem a gtk3, hanem a gtk2 kell az indítóba (a digiKam-nál). Teszteltem, bár kevés idő volt erre. Amúgy ezt az alkalmazást használom, és a RawTherapee-t is. ... de a fényképezőgépemmel most valami gond van, hamar lemerül az akku (még nem vittem el szervízbe). Ceruzaakku: Panasonic Eneloop. Mindegyik, van vagy 16 darabom, újak.

Az indítót grafikus szövegszerkesztővel is szerkesztheted. Ilyen a Xed. Admin joggal

pkexec xed

és mögé másolod az elérési utat. De a nano-s megoldás sem nehéz. Egyél csokit, banánt az segít!

A pkexec megoldásról írtam, de a Linux Mint csapat a fájlkezelős megoldást javasolja. Utóbbi témát a „gksu pkexec” keresésre találod meg. Blogot nem írtam erről.

Értékelés: 

0
Még nincs értékelve
lazlo képe

!Frissítés

...kosz,pillanatnyilag nincs szukségem ceruzaakkukra...a lemerulest a multban nekem is lejátszotta,meguntam,a zsebemet orokké huztak a pot akkuk,vettem egy uj fenyképezot...utana megtanultam mobillal félprofi modon fenyképezni,ez bejott...azota csak a filmet kell cserélni...ajanlom neked is a sony ikszpéria zé sorozatat,az androidos fényképezot snap camerára cserélve...hádéert is tud... 

Értékelés: 

0
Még nincs értékelve
kimarite képe

!Frissítés

#5 Kösz, de a DSRL és/vagy a MILC játszik nálam. ;)
Az Xperia zenehallgatásra volt jó régebben, de most megpróbálnak a lassításból megélni. Igazából nekem is vannak ötleteim, mit lehet még fejleszteni, ám nem nagyon valósul meg. :)
Az én telefonom is tud 15Mpx-et (vagy 18Mpx-et?), csak nem úgy, mint egy fényképezőgép, mert más tészta: pl. úgy, mint a barátságos meccs, vagy világbajnoki első helyért menő meccs.

Értékelés: 

0
Még nincs értékelve