Compiz Fusion e KDE

category Debian, Linux voRia 4 febbraio 2008 20:11

***
AGGIORNAMENTO:
Questo articolo è datato. Le istruzioni che seguono non sono più valide per versioni di compiz recenti. Per maggiori informazioni vi rimando al commento di Divilinux.
***

Chiunque abbia provato almeno una volta ad avviare Compiz Fusion in ambiente KDE 3.x avrà notato vari problemi con Kicker, il pannello di KDE. Icone sballate o in posizioni errate, altre addirittura scomparse, Pager non più funzionante, e così via… tutti problemi causati dall’avvio ritardato di compiz e dall’uccisione di kwin, il window manager predefinito di KDE. C’è un modo per ovviare a questi problemi tanto stupidi quanto fastidiosi, e consiste nel far caricare direttamente compiz al posto di kwin: la soluzione è semplicissima, eppure tutti gli howto che mi sono ritrovato a leggere ignorano completamente il problema.

All’avvio di ogni sessione, KDE legge dalla variabile globale KDEWM quale window manager lanciare. Se la variabile non è definita, viene avviato kwin. In Debian è possibile definire variabili globali nel file /etc/environment; tutto quello che dobbiamo fare è creare uno script per l’avvio di compiz, quindi definire la variabile KDEWM in modo che punti al suddetto script.

Personalmente, sono solito usare la directory /usr/local/bin per tutti gli script fatti a mano, in modo da tenerli sempre separati dagli eseguibili e dagli script installati invece tramite gestore pacchetti. In questo modo è molto più semplice tenerne traccia, e si riesce a mantenere il proprio sistema sempre pulito ed ordinato.

Prima di tutto installiamo Compiz Fusion seguendo le ottime istruzioni di Madrefoca.

Creiamo il file /usr/local/bin/startcompiz e al suo interno inseriamo qualcosa di simile a questo:

#!/bin/bash
compiz -l --replace --sm-disable --ignore-desktop-hints ccp --loose-binding

Queste sono le opzioni con cui io avvio compiz e non è detto che vadano bene per tutti. Sostituitele con quelle che fanno al caso vostro. Salviamo il file e rendiamolo eseguibile:

chmod +x /usr/local/bin/startcompiz

Ora apriamo nel nostro editor preferito il file /etc/environment (se non esiste lo creiamo) e inseriamo al suo interno la seguente linea:

KDEWM="/usr/local/bin/startcompiz"

D’ora in avanti KDE avvierà compiz al posto di kwin e prima di kicker, che non avrà più problemi a funzionare in modo corretto. :)

feed icon 5 Commenti a “Compiz Fusion e KDE”

  1. Divilinux Mozilla Firefox Mozilla Firefox 2.0.0.12 :: Linux Linux

    Ciao
    Nessuno dei problemi che segnali..
    Il trucco sta nell’avviare compiz e chiudere la sessione con compiz attivato.
    In questa maniera, senza ricorrere ad alcuno script..e salvando la sessione dal kcontrol, compiz verra’ avviato automaticamente e correttamente ad ogni sessione..il tema predefinito (n accordo col wrapper /usr/bin/compiz) rimane kwin. Gli script interferiscono con la sessione di compiz che in pratica viene avviato due volte.
    ciao..
    ;)

  2. voRia Mozilla Firefox Mozilla Firefox 3.0b5 :: Linux Linux

    Quello che dici è giusto.
    Ai tempi della stesura di questo articolo lo script di avvio di compiz non gestiva correttamente il window manager predefinito di KDE.
    Ti ringrazio per l’aggiornamento, aggiorno l’articolo. :)

  3. Aikitux » Compiz Fusion su Kubuntu (Nvidia): installazione. WordPress WordPress 2.5

    [...] IN KDE: Devo ammetterlo, per me questo è stato un calvario. Grazie però all’articolo di voRia voi non avrete problemi. In pratica dobbiamo dire a KDE di caricare all’avvio Compiz-Fusion [...]

  4. Abbio Mozilla Firefox Mozilla Firefox 3.0 :: Linux Linux

    ehm se volessi far partire compiz con emerald che comando dovrei mettere in startcompiz.sh??

  5. voRia Mozilla Firefox Mozilla Firefox 3.0 :: Linux Linux

    Questo howto non è più valido per versioni di compiz recenti.

    Ora, non so che distro stai usando, comunque in ubuntu ho notato che è disponibile una variabile nello script ‘/usr/bin/compiz-decorator’ chiamata ‘USE_EMERALD’ e settata di default a ‘no’. Penso sia sufficiente installare emerald tramite gestore pacchetti, quindi modificare la suddetta variabile a ‘yes’.

    Non ho provato però personalmente questa cosa, sono tutte mie supposizioni.
    Il consiglio è quello di provare, dato che la modifica è completamente reversibile in caso di eventuali problemi. :)