Xgl


Neanche a farlo apposta, ieri, poco dopo che avevo scritto le mie osservazioni, un’anima buona e pia del Forum di Beryl ha messo a posto la plugin wallpaper.

Finalmente adesso anche Beryl può fare bella figura mostrando un’immagine diversa per ogni faccia del cubo.

Inutile dire che il mio passo successivo è stato quello di disinstallare Compiz-Freedesktop ormai diventato inutile.

A proposito di quest’ultimo ancora una osservazione.
Compiz-Freedesktop viene normalmente installato insieme a Compiz-Freedesktop-Extra (il pacchetto che contiene le plugin di Beryl adattate da mikedee per Compiz).
Ora si dà il caso che Compiz sia rilasciato sotto licenza MIT/GPL,alcune sue plugin e Compiz-settings sotto licenza MPL , mentre Beryl e tutte le sue plugin, quindi anche quelle contenute nel pacchetto extra, è rilasciato con licenza GPL.

Ecco cosa dice la FSF (Free Software Foundation):

“Mozilla Public License (MPL)

This is a free software license which is not a strong copyleft; unlike the X11 license, it has some complex restrictions that make it incompatible with the GNU GPL. That is, a module covered by the GPL and a module covered by the MPL cannot legally be linked together. We urge you not to use the MPL for this reason.”

A buon intenditore, poche parole.

Tags: Linux Beryl Compiz Xgl Random

Ormai è da parecchio tempo che sto usando sia Beryl che Compiz.
E’ giunto quindi il momento di alcune riflessioni.

Premetto che, nonostante la prima impressione, oggi mi sarebbe difficile rinunciare al cubo.
Gli effetti grafici, non tutti ovviamente, mi sono ormai entrati nella pelle e difficilmente potrei rinunciarvi senza dispiacere.
Dal punto di vista pratico il cubo si è rivelato più che soddisfacente.

Ha però ancora alcuni limiti che sarebbe bene venissero eliminati.

Innanzitutto il fatto che (almeno per Beryl) le facce abbiano tutte la stessa immagine è deprimente.
Va bene che gli sviluppatori provengono tutti dal mondo di Gnome, ma potrebbero comunque inventarsi qualcosa in attesa di un desktop futuro in grado di vedere le facce.
Basterebbe patchare kdesktop oppure portare a beryl la wallpaper plugin (quest’ultimo è un lavoro che richiede al massimo 5 minuti per uno sviluppatore).

Un’altra grossa limitazione è il consumo della memoria. Da questo punto di vista Beryl è peggio di Compiz-Freedesktop. Non solo ne consuma apparentemente di più (lo desumo dal valore di ‘DimensioneVM’ per Xorg in ksysguard), ma il valore aumenta aprendo e chiudendo le finestre sino a diventare troppo elevato per poter proseguire.
Non capisco perchè continuino a sviluppare nuove plugin più o meno inutili invece di concentrarsi a migliorare quello che già c’è.

Compiz-Freedesktop invece sembra non solo appesantire meno Xorg, ma il suo valore di DimensioneVM risulta più stabile. Inoltre ha la famosa wallpaper plugin.
Sembrerebbe quindi la soluzione ideale.
E invece no.
I suoi movimenti non sono per niente fluidi. A volte si blocca per qualche attimo con effetto a dir poco sconcertante.
Probabilmente, visto il suo strettissimo legame con Gnome, non si trova a suo agio con KDE. Fatto sta che non riesco ad utilizzarlo per più di qualche minuto senza sentire il bisogno di tornare a Beryl. Peccato perchè avendo immagini diverse sella sue facce, lo preferirei di gran lunga al suo concorrente.

Compiz-Quinn è più o meno come Beryl per quel che riguarda la memoria, ma ha la wallpaper plugin. Purtroppo però ha bisogno di xgl e, essendo stato sostituito da Beryl, non viene più sviluppato.

La conclusione pertanto è che, allo stato attuale, nessuno dei vari progetti ha raggiunto un livello pienamente soddisfacente, anche se Beryl è certamente il più funzionale, fluido e usabile.
Penso sarebbe necessario che, sopra tutto nella compagine di Beryl, si dessero una mossa. Si chiarissero una volta per tutte gli obiettivi e cominciassero ad agire di conseguenza senza andare, come ora, per ordine sparso.

Chissà che l’interessamento di Ubuntiu per Beryl non porti a qualcosa di buono.
Il timore è però che vengano reintrodotte pesantemente le dipendenze verso Gnome.
Già ora si parla di reintrodurre gconf per renderlo più compatibile a Gnome!

In attesa di KDE4 staremo a vedere come si evolverà la situazione.

Tags: Linux Beryl Compiz Xgl Random

A volte, per una vetrina o semplicemente per stare a guardare, si vorrebbe che il ‘Cubo’ ruotasse, e magari facesse anche qualcos’altro, per conto suo.
Tra le varie possibilità credo che la migliore sia quella di uno script che mandi delle sequenze di tasti.
In tal modo sarà possibile non solo far girare il ‘cubo’, ma fargli fare qualsiasi cosa che farebbe tramite scorciatoia da tastiera.
Qui mostrerò come farlo ruotare, lasciando a ciascuno il divertimento di provare altre combinazioni di tasti.
Il tutto su Ubuntu, ma dovrebbe essere semplice trasferirlo su altri O.S..

Per iniziare ci ccorrono due prorammi:

xautomation (per inviare le sequenze di tasti)
xbindkeys (per fermare la rotazione premendo il tasto ‘esc’).

Si trovano nelle repositories di Ubuntu. Quindi installiamoli.
Fatto questo abbiamo bisogno di due script (eseguibili).

Ecco il primo:

#Esci
“killall rotazione & killall xbindkeys”
m:0x10 + c:9
Mod2 + Escape

Lo scriviamo con un editor di testo e lo salviamo col nome ‘.xbindkeysrc‘ nella nostra home directory (ricordarsi del punto iniziale) e rendiamolo eseguibile.
Servirà per fermare la rotazione col tasto ‘esc’.

Ecco il secondo script:

#!/bin/bash
xbindkeys &
while [ 1 ]
do
num=$RANDOM;
slp=30.$num;
let “num %= 8”;
if [ “$num” = “1” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “2” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “3” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
sleep 0.5;
xte “keydown Control_L” “keydown Alt_L” “key Right” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “4” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Up” “keyup Control_L” “keyup Alt_L”
sleep $slp;
xte “key Space”
xte “keydown Control_L” “keydown Alt_L” “key Down” “keyup Control_L” “keyup Alt_L”
elif [ “$num” = “5” ]; then
xte “keydown Control_L” “keydown Alt_L” “key Down” “keyup Control_L” “keyup Alt_L”
sleep $slp;
xte “keydown Control_L” “keydown Alt_L” “key Up” “keyup Control_L” “keyup Alt_L”
else
xte “keydown Control_L” “keydown Alt_L” “key Left” “keyup Control_L” “keyup Alt_L”
fi
sleep $slp;
done

Lo salviamo col nome ‘rotazione’ in /usr/bin e lo rendiamo eseguibile.
Questo è lo script che manda le combinazioni di tasti. Come si vede le combinazioni usate sono ‘ctr+alt+left’, ‘crl+alt+right’, ‘ctrl+alt+up’ e ‘ctrl+alt+down’.
Nessuno vieta di provarne altre.
All’inizio trovate le due righe:
slp=30.$num;
let “num %= 8”;

La seconda riga indica il valore massimo della serie di numeri scelti a caso. A seconda del numero casuale (compreso tra 1 e 8 in questo caso) prodotto, verrà eseguito il comando corrispondente.
La prima riga indica il numero di secondi utilizzati per una pausa (comando sleep &slp).

Lo script funziona indifferentemente sia per Beryl, che per Compiz (Quinn o Freedesktop).

Provatelo e divertitevi con combinazioni diverse di tasti.

Tags: Linux Beryl CompizHowTo Xgl Random

Spesso nei vari Forums si trovano dispute su quale sia il desktop più leggero.
Di norma Gnome e Kde vengono accreditati come pesanti, mentre vengono messi in evidenza i desktops alternativi come Enlightment e altri.

Qui voglio spendere una parola in favore di Compiz (e ovviamente anche Beryl) che come leggerezza non hanno molto da invidiare ai desktops più leggeri.

Entrambi infatti sono a tutti gli effetti desktop-manager e, come tali, non hanno assolutamente bisogno di un altro desktop-manager.

In questo momento infatti sto scrivendo senza aver caricato nè Gnome, nè KDE, nè alcun altro desktop. Ho caricato solo compiz-freedesktop (per via delle immagini diverse su ogni faccia del cubo) e mi sto godendo appieno la sua leggerezza.
Dal momento che sono abituato a KDE, ho installato anche kicker con cui posso lanciare i miei programmi preferiti sia dal menu, sia dalle icone sulla barra.

Ecco come fare:

Compiz-Freedesktop

Innanzitutto creiamo un file per il login:

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/bin/startcom-free
TryExec=/usr/bin/startcom-free
Name=Compiz

che salviamo in /usr/share/xsessions col nome ‘Compiz.desktop’

Ora dobbiamo creare il file eseguibile richiamato. Eccolo:

#!/bin/bash
kicker &
compiz –use-cow –replace gconf

che salviamo in /usr/bin col nome ‘startcom-free’ e rendiamo eseguibile

A questo punto al prossimo login avremo la voce ‘Compiz’ che ci lancerà compiz con kicker. Le immagini delle facce del cubo vanno impostate con la wallpaper plugin.

Beryl

Il discorso per Beryl è leggermente diverso poichè non essendovi la plugin wallpaper è necessario fornirgli un’immagine per le facce.

Come prima cosa creiamo la voce per il login scrivendo il file:

[Desktop Entry]
Encoding=UTF-8
Type=XSession
Exec=/usr/bin/startberyl
TryExec=/usr/bin/startberyl
Name=Beryl

che salveremo in /usr/share/xsessions col nome ‘Beryl’.

Ora creiamo l’eseguibile scrivendo il file:

#!/bin/bash
Esetroot /directory/immagine_sfondo/immagine.png
kicker&
slep 6
emerald&
beryl

che salveremo in /usr/bin col nome ‘startberyl’ e renderemo eseguibile

Per le immagini delle facce dobbiamo installare il programma Esetroot (per Ubuntu basta installare gesetroot). Ricordarsi di mettere l’immagine voluta nella prima riga dell’eseguibile!

Al riavvio basta scegliere la voce Beryl.

In entrambi i casi si perderanno ovviamente alcune possibilità offerte da KDE: la voce di menu ‘termina sessione’ non avrà alcun effetto, cliccando sul desktop non succederà nulla, ALT+F2 non avrà effetto (ma penso si potrebbe ripristinare), ecc..
Il sistema è comunque assolutamente utilizzabile e molto leggero.

Buon divertimento.

Tags: Linux Beryl CompizHowTo Xgl Random

Dopo le prime esperienze. non del tutto positive, ci ho riprovato.
La motivazione è stata il timore che, prima o dopo, possa scomparire Xgl, soppiantato dal nuovo server X che ha aiglx di default.
Questo fatto non avrebbe alcuna conseguenza per Beryl, ma significherebbe per me l’impossibilità di continuare ad usare Compiz-Quinn (che funziona solo su Xgl) e quindi perdere la possibilità di avere un’immagine diversa su ogni faccia del cubo.

Quindi mi sono messo al lavoro. Ho installato i pacchetti compiz-freedesktop, compiz-freedesktop-extra, compiz-freedesktop-gnome e compiz-freedesktop-kde (versione 0.3.4) dalle repository di gandalfn1. Volevo installare anche gnome-compiz-manager e gnome-compiz-manager-extra ma synaptic mi dava un errore (dimensione file non corretta); quindi ho scaricato i sorgenti e compilato il tutto.

Modificato e ricompilato beryl-manager in modo da avere le voci anche per compiz-freedesktop, (che avevo sostituito per compiz-quinn), e riavviato il computer mi sono rotrovato col ‘cubo’.

Da questo momento è cominciata l’odissea: un giorno abbondante per farlo funzionare (quasi) come volevo ed ero abituato con compiz-quinn.
Il primo problema è stato trovare un modo per configurarlo. Il programma grafico compiz-preferences (compreso in gnome-compiz-manager) è praticamente inutile, visto che contiene pochissime voci per pochissimi plugins.

Ho dovuto quindi aprire gconf-editor. E’ stata un’esperienza allucinante. Sono tornato di colpo indietro di 5-6 anni, all’epoca in cui usavo Windows col suo famigerato regedit. Comunque ero di buon umore e sono andato avanti.
La prima sorpresa è stata di trovare sì tutti i plugin, compresi 3d e wallpaper, ma senza alcuna voce di configurazione. C’erano i nomi dei plugins… e niente altro!
Rapida (si fa per dire, in realtà penosa) ricerca su Internet per scoprire che bisognava far caricare a gconf gli schemi (lui li chiama schemas) delle varie plugins in modo da visualizzarne le voci di configurazione.

Forte di questa informazione pensavo di essere a posto.

Invece …sorpresa! Gli ‘schemas’ erano introvabili.
Preso dalla disperazione mi è venuto in mente di provare con locate ed in effetti ho avuto successo.
La prima ricerca per ‘wallpaper.schemas’ mi ha mostrato la directory ove questa si trovava. Non su Ubuntu, ma su Suse-10.2 che avevo installato un paio di giorni fa.
Detto fatto ho ricopiato tutti gli schemi delle varie plugins nella directory ~/.compiz/plugin e le ho caricate in gconf.
Resta ovviamente il mistero sul perchè non siano state installate direttamente durante l’installazione dei pacchetti.

Comunque a questo punto il tutto era configurabile, avendo ovviamente la pazienza e l’umore giusto per combattere con gconf.

Altra ricerca su Internet per un programma di configurazione grafica per freedesktop. La scelta trovata era molto ampia: compiz-settings, un programma in fase alfa fatto apposta per il compiz della Novell. Scaricato e compilato. Tentativo di installazione con checkinstall non riuscito (non gli andava a genio che avessi la versione 0.3.4; voleva la 0.3.3) e quindi installato con make install.
Il programma non era niente male e permetteva finalmente la configurazione grafica di tutte le plugins.

A questo punto il tutto funzionava a dovere e quindi ero in grado di fare i primi confronti fra compiz-freedesktop e compiz-quinn.
Eccoli:

– Rispetto a compiz-quinn, freedesktop ha molti plugins in più (praticamente tutti quellli di beryl che vengono riportati su freedesktop) e, rispetto a beryl, ha la famosa wallpaper plugin che per me è fondamentale.

. Come già detto, mentre compiz-beryl viene installato con tutto quello che serve, freedesktop richiede una pazienza certosina per renderlo usabile.

– Come velocità e fluidità sono praticamente uguali.

– Freedesktop non ha un gestore di finestre. Usa gtk-window-decorator, con o senza i temi metacity, con tutte le limitazioni che ne derivano. Impossibilità di configurarlo (cosa che invece è possibile con cgwd e/o emerald). In particolare è impossibile metter la finestra in primo piano (sopra le altre) non essendoci nè un bottone apposito, nè una voce sul menu che compare cliccando sul bordo della finestra col tasto destro del mouse. Con KDE per fortuna si ottiene comunque l’effetto desiderato col menu che compare cliccando col tasto destro del mouse sull’icona dell’applicazione e scegliendo la voce appropriata.

– Le configurazioni dei plugins possibili sono molto limitate rispetto a beryl. Questo probabilmente per la filosofia di Gnome che ritiene gli utenti troppo stupidi per consentirgli di configurare completamente il prorpio sistema.

– Non esiste una combinazione di tasti per visualizzare la faccia superiore o inferiore del cubo. Si può farlo solo usando il mouse.

– Non sono riuscito ad applicare un’immagine alla faccia inferiore del cubo nonostante esista la voce in gconf. L’immagine infatti andava sempre e comunque ad aggiungersi a quella della faccia superiore.

– Al login, quando si avvia freedesktop (con la wallpaper plugin attivata e kdesktop disattivato) il cubo appare bianco e, solo iniziando la rotazione, compaiono le immagini sulle facce. Con compiz-quinn ciò avveniva con le primissime release ed era stato però corretto con le versioni successive.

La conclusione è che nonostante tutto freedesktop, pur non avendo la completezza, la facilità di installazione e la semplicità di configurazione di beryl e/o compiz-quinn, è utilizzabile (anche considerando che compiz-quinn ormai da tempo è abbandonato e non più aggiornato).
Resta il rammarico che risenta così tanto delle impostazioni e della filosofia di Gnome il che lo rende una soluzione di ripiego in attesa di KDE4.

Tags: Linux Beryl Compiz Xgl Varie Random

Dopo l’eperienza negativa già descritta ero rimasto con la curiosità di vedere il compiz della Novell all’opera.

Detto fatto.

Ho installato Suse 10.2 RC1 col suo bravo compiz e l’ho attivato.
La cosa è andata a buon fine e finalmente ho potuto ammirare il ‘cubo’ Novell.

La versione installata è la 0.2. La fluidità è buona, la configurabiltà nulla.

Rispetto al Compiz-Quinn che utilizzo normalmente posso dire che la fluidità del Compiz-Novell è simile (non migliore, visto che quella del Compiz-Quinn è ottima, ma forse neppure peggiore).
Per il resto un abisso di differenza.

Le impostazioni di Gconf, fatte con Gconf-Editor, non hanno alcun effetto.
L’immagine dello sfondo non vuole caricarsi.
Il cubo non può essere ruotato con la ruota del mouse.
E’ assolutamente Gnome-dipendente (carica praticamente tre quarti di Gnome per funzionare con KDE).
Il gestore delle finestre è ovviamente quello di Gnome.
E’ possibile installare dalle repositories di Suse anche CGWD (senza temi ovviamente) che però non funziona.
Il tutto funziona con Xgl ed il passaggio tra Compiz e Kwin (necessario per vedere i filmati senza far bollire la CPU) è abbastanza laborioso: bisogna aprire Kcontrol e da lì si può fare lo switch (facendo impazzire Kpager).

Conclusione: se non esistessero Beryl e Compiz-Quinn, il Compiz della Novell farebbe certamente un figurone. Purtroppo per lui esistono gli altri due che lo surclassano. Alla grande.

Tags: Linux Beryl Compiz Xgl Random

Come ho già detto io uso Compiz (rigorosamente Quinn) perchè mi piace avere quattro immagini diverse sulle quattro facce del cubo.

schermata5.jpg

Il fatto però del cubo trasparente di Beryl mi ha fatto venire la voglia di provarlo.
Il problema era di compilarlo in maniera tale da permettermi di passare da Compiz a Beryl e viceversa con un click del mouse.
L’ho risolto così.

Per prima cosa ho scaricato tutto l’occorrente. Ho aperto Konqueror, sono andato nella mia hone, ho aperto l’emulatore di terminale e ho lanciato il comando:

svn co svn://svn.beryl-project.org/beryl/trunk/

Dopo qualche minuto avevo tutto quello che serviva nella directory trunk nella mia home directory.

Allora sono andato nella directory ~/trunk/beryl-manager/src e ho aperto il file main.c
Alla riga 121 ho trovato quello che cercavo:

{N_("Compiz"), "compiz", "--replace gconf", "compiz" ,0,0,0,0},

che è il comando in beryl-manager che switcha tra Beryl e il compiz della Novell.
Ho modificato questa riga sostituendola con la seguente:

{N_(“Compiz-Quinn”), “/home/mario/start-compiz”, , “compiz” ,0,0,0,0},

e ho scritto il file:

#!/bin/sh
killall gnome-window-decorator
wait

gnome-window-decorator &
compiz --replace gconf &
xmodmap /usr/share/xmodmap/xmodmap.it &

salvandolo nella mia home directory con il nome start-compiz e rendendolo eseguibile.

Poichè io uso Compiz senza Kdesktop, dovevo inserire anche un comando per lanciare nuovamente Kdesktop quando avessi usato Beryl. Per non scervellarmi troppo ho semplicemente sostituito la riga seguente in main.c con questa:

{N_("KDesktop"), "kdesktop", 0, 0 ,0,0,0,0},

che per l’appunto non fa altro che lanciare Kdesktop.
A questo punto ho salvato main.c, ho tolto da ~/.kde/Autostart il file che usavo (x-start-compiz) per lanciare Compiz e ho compilato e installato il tutto col comando dato dalla directory ~/trunk:

sudo ./makeall

Ora mancava solo creare un’entrata per il login. Ho scritto il file:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl-KDE
Comment=Start an Xgl Session
Exec=/usr/bin/startxgl-kde.sh
Icon=
Type=Application

e l’ho salvato in /usr/share/xsessions col nome xgl-KDE

e il file:

#!/bin/sh
#window manager for :0
kwin&
#start backstep to avoid difficulties minimizing on :0
backstep&
sleep 3
Xgl :1 -fullscreen -ac -accel xv:fbo -accel glx:pbuffer &
sleep 3
DISPLAY=:1
exec startkde

che ho salvato in /usr/bin col nome startxgl-kde.sh e ho reso eseguibile.
Poichè avevo difficoltà con beryl-manager (all’avvio veniva avviato, ma non compariva nella system-tray), ho scritto un altro file:

#!/bin/bash
sleep 12
killall beryl-manager
sleep 1
beryl-manager

che ho salvato in ~/.kde/Autostart col nome start-beryl-manager e ho reso eseguibile.
A questo punto al login posso scegliere la voce xgl-KDE ed una volta finito il caricamento di KDE ho nel system-tray l’icona di Beryl con la quale posso scegliere se lanciare Compiz, Beryl, Metacity o Kwin. Ovviamente lanciando Compiz, Kdesktop viene disabilitato, mentre lanciando successivamente Beryl devo in seconda battuta, sempre tramite beryl-manager, lanciare Kdesktop in modo da non restare con il cubo bianco. Entrambi lavorano su Xgl, mentre resta sempre la possibilità di lanciare Beryl su aixgl. Basta loggarsi con la voce KDE.

A proposito, il cubo trasparente è divertente (e non mi rallenta per niente il sistema), come pure è divertente ‘bruciare’ le finestre qualora vengano chiuse.
Peccato che in Beryl non sia ancora riuscito ad avere wallpapers diversi sulle facce del cubo!

prodi_piutasse_tn.jpg

Tags: Linux Beryl CompizHowTo Xgl Random

Come farlo partire in automatico
schermata.jpg

ATTENZIONE: quanto segue è per KDE e scheda grafica NVIDIA. Per chi usa Gnome o ha un’altra scheda grafica quanto descritto in seguito può fungere da traccia, ma va modificato adattandolo a ciò che si usa.

Come già detto, uso Compiz per la possibilità che offre di avere diversi wallpapers sulle facce del cubo. Per farlo occorre disabilitare kdesktop (io uso KDE), il che comporta l’impossibilità di avere icone sul desktop e l’impossibilità di usare ‘Esegui comando’ sia da menu che da tastiera.

Per rimpiazzare le icone sul desktop ho aggiunto al pannello l’applet ‘esecuzione veloce’ e l’ho popolata di piccole icone (personalmente ne ho messe 10) che mi consentono di lanciare i corrispettivi programmi.
Altri ovviamente sono andati per volontà loro nella ‘systray’ di sistema aumentando quindi la possibilità di lanciare programmi con un semplice click.
Per sostituire il comando ‘esegui comando’, ho installato Katapult, la cui icona è andata nel systray.
Restava, almeno per me, il problema del vassoio di sistema che mi portava via troppo spazio non permettendomi così di avere lo scorrimento delle notizie sul pannello. Ho risolto togliendo l’applet dal pannello e sostituendola col pannello aggiuntivo ‘kasbar’ che ho posto in alto (ho scelto la dimensione variabile anzichè la dimensione fissa) che mi permette di vedere tutte le finestre in funzione, aperte o minimizzate).
A questo punto ho un desktop con più o meno le funzioni perse eliminando kdesktop.

Passiamo ora alla parte riguardante il lancio automatico di compiz al login con relativa disabilitazione di Kdesktop.
Il metodo usato funziona, anche se probabilmente il tutto potrebbe essere conseguito in modo più elegante e corretto.

Primo passo: creazione di una entrata per compiz-KDE nel menu di login.

Per creare una nuova voce nel menu di login basta creare un file (simile a quello già esistente per KDE) con le istruzioni per lanciare Xgl e Compiz. Ho chiamato il file in questione compiz-kde.desktop e lo salvato nella directory /usr/share/xsessions (N.B.: la directory è quella usata da Debian e Ubuntu; altre distribuzioni potrebbero usare un’altra posizione). Il contenuto del file salvato è il seguente:

[Desktop Entry]
Comment=Lancia compiz con KDE
Comment[it]=Lancia compiz con KDE
Encoding=UTF-8
Exec=/usr/bin/start_compiz-kde
GenericName=Compiz-KDE
GenericName[it]=Compiz-KDE
Icon=
MimeType=
Name=Compiz-KDE
Name[it]=Compiz-KDE
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DCOP-ServiceType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Questo file fa comparire nel menu di login la voce ‘Compiz-KDE’ (ovviamente può essere cambiata). Selezionata tale voce viene richiamato lo script ‘/usr/bin/start_compiz-kde’, che adesso descrivo.

Secondo passo: creazione file per lanciare Xgl (e compiz)

#!/bin/sh
#window manager per :0
kwin&
#lancia backstep per evitare difficoltà minimizzando le finestre sullo schermo :0
backstep&
sleep 3

# Lancia Xgl, compiz
# Lancia Xgl su :1, sopra il normale server X
/usr/bin/Xgl :1 -fullscreen -ac -accel xv:fbo -accel glx:pbuffer &
#pausa per 3 secondi per essere sicuri che Xgl sia partito
sleep 3

# Istruisce i programmi X lanciati in seguito ad usare il server Xgl sul display :1
DISPLAY=:1

##Lancia compiz
##nohup compiz –replace gconf & > /home/mario/compiz.log 2>&1 &
compiz –replace dbus csm & /home/mario/compiz.log 2>&1 &
##Corregge Shift+BackSpace
xmodmap -e “keycode 22 = BackSpace BackSpace Terminate_Server”

# Lancia KDE
exec startkde

Questo file va salvato in /usr/bin col nome start_compiz-kde e reso eseguibile (click col tasto destro del mouse sul file, proprietà, eseguibile). Vediamo a cosa serve:
Con il primo comando lancio Kwin (il gestore di finestre di KDE) sul display 0. Mi servirà per quei programmi (TV, Giochi, ecc.) che vorrò lanciare sul normale server X e non su Xgl.
Il secondo comando mi lancia backstep (scaricabile da AMD64 o i386.
Serve per evitare di perdere le finestre che girano sul server X quando vengono minimizzate.
Le linee che seguono lanciano Xgl e Compiz sul display 1, che sarà quello usato abitualmente.

Terzo passo: disabilitazione di kdesktop e lancio automatico di cgwd e compiz

Resta ora la necessità di far partire il gestore di finestre CGWD e disabilitare Kdesktop in automatico al login. Per fare questo uso il file nominato x-start-compiz (può essere chiamato come si vuole che ho salvato e reso eseguibile in ~/.kde/Autostart.
Il file stesso contiene:

#!/bin/bash

sleep 6
if ps -A | grep -e “Xgl$” > /dev/null; then
# Ferma Kdesktop, dbus, csm, compiz
killall kdesktop &
killall dbus &
killall csm &
killall compiz &
sleep 3
# Lancia cgwd
cgwd –replace &
#Lancia compiz
compiz –replace dbus csm &
#Corregge Shift+BackSpace
xmodmap -e “keycode 22 = BackSpace BackSpace Terminate_Server”
fi

Come si vede innanzitutto vengono fermati kdesktop, dbus, csm e compiz. La ragione per cui fermo compiz è data dal fatto che altrimenti la faccia attuale del cubo non carica alcuna immagine e rimane bianca.
Successivamente viene lanciato il gestore di finestre cgwd e quindi compiz e csm (compiz-settings-manager).

A questo punto, quando riavvio il server X e mi loggo scegliendo la voce Compiz-KDE, mi ritrovo automaticamente nel mio ambiente KDE con il mio bravo cubetto con quattro wallpaper diversi per ogni faccia.

Tags: Linux Compiz HowTo Xgl Random

Qualcuno si chiederà perchè continuo a parlare di Compiz quando c’è ormai Beryl.
La ragione è molto semplice: non voglio rinunciare ad avere 4 immagini diverse sulle 4 facce del Cubo.
Il Cubo con la stessa immagine su ogni faccia mi dà infatti una tristezza infinita, simile a quella che provo vedendo un desktop con Gnome.
Ecco quindi spiegato come mai uso ancora, pur con i nuovi drivers Nvidia ed il server X versione 7.1, xgl + Compiz.

Veniamo ora al succo del discorso.
Con xgl e Compiz in opera, se aprite Kaffeine per guardare la TV noterete che la cpu lavora al massimo. Se aprite un gioco del tipo PouetChess la situazione è ancora peggiore.
Che fare?
Rinunciare no certamente. Il trucco è molto semplice.
Poichè Xgl è un qualcosa che gira sopra il normale server X, basta far girare queste (e altre) applicazioni sul sottostante server e il problema è risolto.

Il modo per farlo è semplicissimo.
Per far funzionare xgl e Compiz avrete certamente già creato l’apposita entrata in xsession che esegue un file (io l’ho chiamato start_compiz_kde) che lancia xgl e Compiz.
Le istruzioni che seguono sono ovviamente per KDE. tenete inoltre presente che io ho una scheda Nvidia (ma dovrebbe funzionare ugualmente bene con le ATI).

Basta aggiungere due righe a tale file (start_compiz_kde) in modo da lanciare X sul display 0.
Il file risultante risulta così:

#!/bin/sh
#window manager for :0
kwin&
#start backstep (to avoid difficulties minimizing on :0)
backstep&
sleep 3
# Tell subsequent X programs to access the Xgl server at :1
DISPLAY=:1
cgwd –replace &
compiz –replace dbus csm &
xmodmap -e “keycode 22 = BackSpace BackSpace Terminate_Server”
exec startkde

Tutto qui!

Per lanciare poi un programma sul sottostante server X, basta far precedere il comando dalla scritta DISPLAY=:0

Ad esempio, per lanciare Kaffeine, basta scrivere nell’editor di menu, alla voce Kaffeine, nella casella che contiene il comando di lancio la riga seguente:

DISPLAY=:0 /usr/bin/kaffeine&

Ovviamente il comando può essere dato anche da Konsole.

Una cosa interessante è che aperto il programma, in questo caso Kaffeine, se lo stesso viene visualizzato in una finestra e non a schermo intero, si può avere il cubo rotante sullo sfondo mentre la finestra resta ferma.

Si passa da X a Xgl col tasto ALT+TAB.
(Passando da X a Xgl è possibile che per ripristinare le normali funzioni sia necessario premere i tasti: CTRL+ALT+tastosinistro del mouse sul desktop).

A me funziona egregiamente. Spero anche a voi.

La prossima volta vi dirò come far partire automaticamente, ad ogni avvio, xgl+compiz e senza kdesktop, in modo da avere come piace a me wallpapers diversi per ogni faccia.

Per oggi questo basta e avanza.

Tags: Linux Beryl Compiz XGL HowTo