PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Thuban : Utiliser compiz sur debian jessie

lundi 30 novembre 2015 à 16:23
Vous vous souvenez de compiz et ses effets délirants? Son cube, ses fenêtres qui ressemblent à de la gelée. Y a pas à dire, c'était marrant. Le projet ne semble cependant plus maintenu. Heureusement, avec un peu d'astuce, on peut le faire tourner sur une debian jessie. Et tant qu'à faire, on va essayer de faire les choses correctement.
Je dis ça parce que, lors de mes recherches sur le net pour installer compiz, j'ai vu du grand n'importe quoi. Alors on va mettre les choses au clair tout de suite : NON, les paquets ubuntu ne sont pas faits pour debian. Il n'y a rien de tel pour mettre en l'air son système.
Alors certes, ça va peut-être fonctionner pendant un temps, jusqu'à la prochaine mise à jour de sécurité où là, crak!

Bref, voilà le principe d'installation de compiz sous debian jessie.
La compilation des sources étant difficile à réaliser, et peu documentée, on va utiliser les derniers paquets debian en date. Compiz était encore disponible sous debian squeeze, qui est à ce jour la old-old-stable. Autant vous dire que ça va être la galère pour espérer une compatibilité des bibliothèques.
Qu'à cela ne tienne, on va utiliser les paquets de squeeze quand même. Mais pour ne rien casser, on va les mettre dans un chroot. Regardons ça ensemble, ça sera plus clair :

1. On commence par récupérer le système de debian squeeze minimum. Cela se fait avec debootstrap (paquet du même nom). Le chroot sera dans un dossier debception :
mkdir debception
sudo debootstrap --arch i386 squeeze debception http://httpredir.debian.org/debian/

On laisse tourner, ça va installer les fichiers de debian squeeze dans le dossier debception.

2. On va reporter les utilisateurs du système existant dans le chroot :
sudo grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd | sudo tee -a debception/etc/passwd
sudo grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group | sudo tee -a debception/etc/group


3. On relie les dossiers du chroot au système actuel :
sudo mount -t proc none debception/proc
sudo mount -o bind /dev debception/dev
sudo mount -o bind /var/run debception/var/run
sudo mount -o bind /home debception/home


4. On va maintenant se servir du paquet schroot, qui va nous permettre de lancer des commandes dans le chroot squeeze facilement. Une fois ce paquet installé, mettez ceci dans le fichier /etc/Schroot/schroot.conf
[debception]
directory=/chemin/vers/le/dossier/debception
users=vous


5. On peut désormais installer compiz dans le nouveau système après avoir installé les langues :
sudo schroot -c debception --directory / apt-get update
sudo schroot -c debception --directory / -- apt-get -y upgrade
sudo schroot -c debception --directory / -- apt-get -y dist-upgrade
sudo schroot -c debception --directory / -- apt-get -y install locales
sudo schroot -c debception --directory / -- dpkg-reconfigure locales
sudo schroot -c debception --directory / -- apt-get -y install compizconfig-settings-manager fusion-icon compiz-fusion-plugins-extra compiz-fusion-plugins-main xserver-xorg-video-all libgl1-mesa-dri pciutils


Voilà, compiz est installé

6. (facultatif) : je met à jour avec les backports, car mon matériel n'a pas l'accélération 3D sinon :
echo "deb http://http.debian.net/debian-backports squeeze-backports main" | sudo tee -a debception/etc/apt/sources.list
sudo schroot -c debception --directory / apt-get update
sudo schroot -c debception-$(whoami) --directory / -- apt-get -t squeeze-backports -y upgrade
sudo schroot -c debception-$(whoami) --directory / -- apt-get -t squeeze-backports -y dist-upgrade


7. Lancement de compiz :
On peut maintenant lancer compiz tranquillement, à partir de sa debian jessie en allant le chercher dans le chroot squeeze :
schroot -c debception -p -- compiz --replace ccp

Ou alors :
schroot -c debception -p -- fusion-icon

Et voilà! Génial hein?
Alors par contre, il faut que les dossiers soient montés avant, donc que vous ayez exécuté ceci :
sudo mount -t proc none debception/proc
sudo mount -o bind /dev debception/dev
sudo mount -o bind /var/run debception/var/run
sudo mount -o bind /home debception/home

Pour ne pas avoir à le faire à chaque fois, vous pouvez le rajouter dans le fichier /etc/fstab :
/home          /chemin/vers /debception/home       none    bind            0       0
/tmp           /chemin/vers /debception/tmp        none    bind            0       0
proc            /chemin/vers/debception/proc       proc    defaults        0       0
/var/run        /chemin/vers/debception/var/run    none    bind            0       0
/dev            /chemin/vers/debception/dev        none    bind            0       0


Vous êtes ainsi certains de ne pas avoir cassé votre système debian jessie.

Amusez-vous bien!
— (permalink)

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.