Menu Chiudi

Sistemare l’aspetto delle applicazioni GNOME in KDE 4

14/01/08: migliorato il file .desktop, che impediva di chiudere la sessione KDE ;)

GNOME Settings Daemon imposta tutta una serie di variabili e configurazioni abbastanza esose e ovviamente dipendenti da GNOME. Se non avete GNOME installato, se avete a cuore il consumo di risorse del vostro PC e volete evitarne lo spreco, vi consiglio di seguire invece la guida “Sull’aspetto delle applicazioni GNOME in KDE 4. Seconda parte”.

Questa farà felici molti di voi. Nei commenti agli ultimi miei post è stato ripetutamente chiesto come ovviare a questa situazione:

kde-senza-gnome-settings-daemon.jpg
File Roller, Firefox, Calcolatrice… sono “orendi” senza tema

Le applicazioni GNOME (GTK+) avviate all’interno di KDE 4 hanno un aspetto orendo e si presentano senza alcun tema. Ecco come rimediare…

kde4-con-gnome-settings-daemon.jpg
Le stesse applicazioni “dopo la cura”

Notate la differenza tra la schermata in apertura e questa che vedete qui sopra? Nella prima le applicazioni GTK+ hanno un aspetto un po’ “anni 90”, nella seconda sono tornate allo splendido aspetto che ha ogni applicazione GTK+2 recente con un tema decente.

Il problema è che al di fuori di un ambiente basato sulle GTK+ e che imposti le giuste variabili, come ad esempio GNOME o XFCE, tali applicazioni non sanno quale aspetto grafico (tema, icone) utilizzare, e così usano quello predefinito, orendo appunto. Non ci crederete ma per risolvere basta dare un semplice comando:

$: gnome-settings-daemon &

Visto? Se avete alcune applicazioni GTK+ aperte e date questo comando le vedrete proprio trasformarsi davanti ai vostri occhi :)

Ok grandioso! Ma adesso devo scriverlo ogni volta?

No :) Ci sono vari modi per automatizzare l’avvio di GNOME Settings Daemon ad ogni sessione KDE4. Quello che preferisco mostrarvi, perché credo sia il più “pulito”, è abbastanza simile alla procedura che si adottava in KDE3, con qualche piccola differenza che non credo sia ancora documentata, quindi eccovela.

Il tutto consiste nel posizionare in “$KDEHOME/share/autostart” un file .desktop (e non un semplice link all’eseguibile, come per KDE3) contenente le informazioni per lanciare l’applicazione che ci interessa. Stavolta è GNOME Settings Daemon, ma potremo lanciare qualsiasi cosa in questo modo.

Ecco dunque la struttura del file .desktop. Createlo con KWrite o con (per l’ultima volta orendo) Gedit:

$: cd ~
$: kwrite gnome-settings-daemon-pollycoke.desktop

Incollateci queste righe:

[Desktop Entry]
Exec=gnome-settings-daemon &
Name=GNOME Settings Daemon
Type=Service
X-KDE-StartupNotify=false
OnlyShowIn=KDE;
X-KDE-autostart-phase=2

Salvatelo. Adesso resta solo da posizionarlo nella directory in cui KDE4 potrà trovarlo. Per estrema compatibilità con i diversi tipi di installazione di KDE4 vi indico la directory per una configurazione a livello utente:

$: mkdir -p ~/.kde4/share/autostart
$: mv gnome-settings-daemon-pollycoke.desktop ~/.kde4/share/autostart/

Fatto questo, per verificare che tutto funzioni bisogna chiudere la corrente sessione KDE e poi effettuare nuovamente il login.

Opzionalmente sorridere :)

47 commenti

  1. syco

    …a quanto pare sono il primo ad aver sorriso…

    ps: ti ricordi il post per far diventare la home il proprio desktop??
    come si fa su kde4??

  2. bluvega

    Grazie Felipe! Funziona a meraviglia, io ero uno di quelli che aveva posto il problema e proprio in questo momento ero alla ricerca su internet di una soluzione adeguata.
    Ora la mia attenzione si sposta sul funzionamento del plugin flash in konqueror. Ho trovato una guida che fa uso di KMPlayer4 ma il problema è che non riesco a trovare questo pacchetto!

  3. melassa

    @mela: i programmi kde3 che vuoi far partire li fai partire con uno script che prima setti $KDEHOME a ~/.kde anzichè a ~/.kde4

  4. Mela (jerrad)

    @melassa

    No non hai capito :)
    Io volevo sistemare l’aspetto di applicazioni GTK+ (come firefox o avidemux piuttosto che inkscape) senza aver installato gnome-settings-deamon e quindi gnome….

  5. psychomantum

    io ho installato anche gnome.. per emergenze diciamo :D
    ascolta, solo quel tema c’è? vorrei utilizzare aurora.. e soprattutto, mi crasha il system settings quando cambio la cartella autostart

  6. smemorex

    ma solo a me, seguendo la vostra guida,applicazioni come pidgin vanno in crash e l”icona si vede male nella systray(anche se si ved eper pochi secondi visto che dopo si chiude)?

  7. ziabice

    per chi usa invece solo poche applicazioni GTK (e non tutto l’ambaradan di GNOME) per gli utenti Arch Linux (e spero non solo per loro) si può utilizzare il programma gtk-chtheme, disponibile nei repository “Community”.
    Questa applicazione scrive il file ~/.gtkrc-2.0 che viene letto prima dei settaggi di GNOME: ricordatevi che va rimosso se volete poi cambiare tema usando l’applet apposita fornita con GNOME (i cui settaggi vanno invece nel registry gconf).

    • Riccardo Iaconelli

      Si usa comunque, e si ha il tema di KDE 3. :P
      Almeno, io per ora faccio così… KDE 4.0 è uscito anche (soprattutto?) per questo tipo di sviluppatori che portino alle Qt 4 questi programmi “associati”.

  8. horace

    Non so se il metodo funzioni in questa situazione, in ogni caso non e’ generale ne’ pulito, ma almeno (credo) non richiede la presenza del demone delle impostazioni di gnome. Imponendo il valore della variabile GTK_RC_FILES con il percorso di un dato tema, prima di avviare un’applicazione gtk, questa dovrebbe caricare il tema indicato. Ad es. $ GTK_RC_FILES=”~/.themes/Clearlooks/gtk-2.0/” epiphany. Potrei provarne l’efficacia prima di commentare inutilmente, ma oggi sono troppo pigro :D

  9. roma

    HO scoperto un buggone.

    Quando cambio sfondo e riavvio la sessione c’è il pannello nn c’è più e lo sfondo è tornato quello di default.

    In pratica ho dovuto cancellare la directory .kde4 e reimpostare tutto da capo..
    Se qualcuno ha un modo migliore faccia sapere ciao.

  10. horace

    ok ho scritto una cazzata :D. La variabile corretta e’ GTK2_RC_FILE, il suo valore deve essere il pathname completo del file gtkrc del tema. Quindi qualcosa tipo GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc

  11. bluvega

    Un momento forse c’è qualcosa che non va! Sono stato troppo precipitoso nel mio precedente post…
    Forse è solo un caso e può non essere legato a questa guida ma dopo aver chiuso e riaperto la sessione mi son ritrovato con kde inutilizzabile, tranne dolphin non andava nessuna applicazione qt mentre funzionavano bene le GTK. Era impossibile perfino riavviare il computer o terminare la sessione… ho dovuto riavviare manualmente aprire una sessione gnome e cancellare la directory .kde4 per ripristinare tutto.

  12. federico

    Scusate se scrivo un commento un pò fuori luogo. Io ho sempre apprezzato Kde ma non lo uso perché è troppo simile a windows da un punto di vista estetico. Motivo per cui utilizzo gnome che invece ha molta personalità. Questo kde4 non fa eccezione. Con quella barra nera sembra vista. Lungi da me mettere in dubbio le qualità del wm. Però io non riesco proprio a utilizzarlo. Questione di stomaco…

    • Arunax

      @federico
      Cavolo, non ricordavo che il colore nero esistesse solo da quando c’è vista e che l’avessero inventato loro… che scoperta agghiacciante!

  13. felipe

    @tutti:
    Eventuali problemi che state notando non possono essere imputati a questa guida, dal momento che la sto usando io stesso e va tutto a meraviglia :)

    Chi non avesse GNOME (e quindi gnome-settings-manager) può seguire le indicazioni di ziabice, ma gnome-settings-manager imposta molte più cose del semplice tema… ad esempio attiva il numlock :)

  14. orchideo

    @ horace
    funziona, ma per rendere la cosa in automatico per tutti i programmi gtk come si può fare?

  15. horace

    boh :) non ho kde sottomano ora. prova a esportare la variabile in .bashrc oppure modifica a mano i collegamenti alle app gtk nel menu di kde, premettendo l’esportazione della variabile alla riga di comando.

  16. Garret

    Ma sono l’unico a cui kopete non funziona? o meglio non mi fa selezionare nessun im a cui accedere(non compare proprio la lista).

  17. horace

    @ziabice: anche qui gtk-chtheme non e’ utile. Per quanto ho capito, pero’, il problema e’ kde4. Infatti le modifiche a ~/.gtkrc-2.0 hanno effetto in gnome. Deve essere kde a ignorare quel file, o chissa’ che. In ogni caso si puo’ rimediare facilmente copiando il file gtkrc del tema che interessa in ~/.kde4/share/config, o anche meglio includerlo al gtkrc gia’ presente nella directory con la clausola include, soprattutto se il tema usa altre risorse, che’ altrimenti vanno copiate pure quelle. L’unica seccatura in questo caso e’ che bisogna aggiungere pure una clausola font_name al gtkrc del tema, altrimenti le app gtk partono con i font Sans predefiniti, in dimensioni holmesiane :D

  18. Ale

    Uhm… Seguendo la procedura del buon Felipe, adesso Firefox è tornato al suo vecchio splendore, ma… mi si avviano gli screensaver di Gnome (non che sia un male, però mi fa rabbia usare un certo DE e trovarmi “pezzi sparsi di un altro in circolazione…).

    Appunto, KDE3 usava un tema per le GTK. Spero che venga implementata la stessa soluzione in KDE4.

  19. bluvega

    Da me continua a non funzionare purtroppo… o meglio funziona ma mi manda in crash mezzo kde4 e diventa inusabile, ho provato varie volte quindi il problema è proprio quello. Se può essere utile ho installato kde4 usando il repository indicato da Felipe.

  20. samson

    ma solo a me manca la cartella home/.kde4/share/autostart/?
    ho provato a crearla e a metterci il file dentro, ma non funziona.
    che posso fare?
    (anche io ho usato il repository indicato da felipe per installare kde4.)

  21. Luca

    ma la cartella autostart non dovrebbe essere ~/.kde4/Autostart ? se io vado in system settings, sotto “About me” il percorso della directory di Autostart è quello non /.kde4/share/autostart/…la devo creare comunque perchè manca, però è diverso

  22. Emisca

    Utilizzare gnome-setting-daemon dentro kde3/kde4 però può portare degli effetti collaterali, almeno in una installazione di debian/ubuntu standard, ad esempio viene eseguito gnome-screensaver che rompe le scatole a kde-screensaver, gnome-volume-manager e un sacco di altre cose non “desiderate”.
    Io di solito ottengo lo stesso risultato con xfce-mcs-manager di xfce, che al contrario del settings manager di gnome, cambia solo il tema gtk, le icone per programmi gtk. Unico effetto collaterale, se crasha kdesktop (usando sid può capitare… =) ), qualche componente di xfce prende il sopravvento (ad esempio la finestra esegui). Complessivamente però è un buon compromesso. I settaggi per le applicazioni gtk andranno fatti attraverso xfce-setting-show.

    Ciao!

  23. Pingback:Sistemare i font delle applicazioni GTK in KDE: si può! | stefano...

  24. Pingback:KDE 4 « The Kiwi Project

  25. An3a

    Anche con questa nuova versione del file .desktop mi rimane un problema:

    – avviando aMule (versione 2.1.3) si schianta la sessione di kde4 e torna alla login.

    Ovviamente ho provato ad eliminare l’esecuzione automatica di gnome-settings-daemon e il mulo va che e’ una meraviglia.

    :-)

  26. Treviño

    Onestamente non mi pare una grande soluzione, specie per chi non ha gnome nel proprio sistema e non vuole installare roba simile… :P

    Già un paio di anni fa avevo cercato anche io di ovviare la cosa per avere un desktop dall’aspetto coerente sia che si usassero applicazioni KDE/QT, GNOME/GTK+, Java, Tk/Tcl…

    Inizialmente avevo anche io tentato il tuo “hack”, ma poi mi resi conto che ciò comportava l’utilizzo e l’installazione di pacchetti gnome di cui potevo benissimo fare a meno (tra l’altro quel demone, si “prende” anche la gestione dei pulsanti speciali [multimedia keyboards] come quelli del volume o del lancio delle applicazioni).

    Alla fine, almeno per le prime due indicate, la migliore soluzione è quella di usare un semplice file ~/.gtkrc-2.0 contenente le giuste informazioni… Così facendo si può infatti impostare tema, carattere, set di icone, rendering the i font…
    Saranno appunto due anni che volevo mettere tutto – chiaramente – per iscritto, ma ancora non ho trovato la voglia :D

  27. Panajev

    Se andate a guardare i permessi lettura/scrittura/esecuzione dei fil gtkrc e gtkrc-2.0 con ls -all, dentro alla directory /.kde/share/config/ dentro la cartella degli utenti che esperimentano questo problema noterete un qualcosa di questo tipo:

    -r——– 1 root root 235 2008-02-10 01:03 .kde/share/config/gtkrc
    -r——– 1 root root 235 2008-02-10 01:03 .kde/share/config/gtkrc-2.0

    Se ci fate caso, se dentro ad una finestra di un Terminal vi loggate come utente root e fate partire firefox, firefox partira’ con il tema giusto (nel mio caso Nodoka).

    Un semplice,

    su -c ‘chmod ugo+r .kde/share/config/gtk*’

    produce questo output quando ricontrollate quei file:

    -r–r–r– 1 root root 235 2008-02-10 01:03 .kde/share/config/gtkrc
    -r–r–r– 1 root root 235 2008-02-10 01:03 .kde/share/config/gtkrc-2.0

    Il problema era che gli altri utenti non root non riuscivano a leggere quei due files ed a capire quindi che tema gtk dovevano utilizzare.

    Il mio sistema e’: Fedora 8, GNOME installato di default, e KDE 4.0.1 installato con i repo kde di redhat (http://kde-redhat.sourceforge.net/) e Firefox 3.0b3 scaricato dal sito di mozilla.

  28. Federico

    Grazieeeeeeeeee!!!!!!!!!!!!!!!!!!11 La parte due non mi è funzionata, poi una volta installato ed eseguito il settings-daemon, il gtk mi va a meraviglia. Forse perché sto usando kubuntu senza GNOME installato?

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo:
Vai alla barra degli strumenti