Mise en place d'un environnement graphique

Récemment j’ai fait une boulette et j’ai supprimé mon environnement graphique ainsi que mon gestionnaire de fenêtre (xorg et i3). En essayant de le remettre en place je me suis rendu compte que je ne comprenais absolument pas ce que je faisais et au final j’ai galéré pendant plus d’une heure alors que la solution était vraiment toute bête… Donc aujourd’hui je viens vous livrer un petit article sur comment installer un serveur graphique et le linker avec i3.

Pour les besoins de cet article je vais partir d’une VM debian 9 sur laquelle il n’y a presque aucun outils d’installer (un peu plus de 300 paquets).

Pour installer un environnement graphique nous allons avoir besoin d’un serveur X11. Ce dernier sera en charge d’afficher les fenêtres. Le serveur X11 le plus utilisé dans le monde Linux c’est Xorg que l’on pourra installer en utilisant la commande suivante :

apt install xorg

Avec ce paquet est arrivée une nouvelle commande : startx ! C’est grâce à elle que nous allons pouvoir démarrer notre environnement graphique. Le souci c’est que pour le moment nous n’en avons pas. Qu’à cela ne tienne nous allons en installer un (le meilleur selon moi) : i3 !

apt install i3

Une fois l’installation terminée on pourra démarrer notre nouvel environnement graphique via cette commande :

startx /usr/bin/i3

Logiquement vous devriez avoir votre beau i3 qui va s’afficher ! Le souci c’est que ça ne fonctionnera que temporairement. Si vous redémarrez votre machine votre environnement graphique ne se lancera pas automatiquement. Pour pallier  ce problème il faudra commencer par utiliser cette commande qui va copier un template dans notre répertoire home :

cp /etc/X11/xinit/xinitrc ~/.xinitrc

En fait si nous utilisons la commande startx sans argument, le serveur xorg va tenter de lire le fichier ~/.xinitrc. Si ce dernier existe alors le serveur Xorg exécutera les commandes qui s’y trouvent. Du coup tout ce que nous avons à faire c’est ajouter cette ligne à la fin du fichier :

exec i3

Voilà à partir de maintenant vous pourrez démarrer i3 en ne tapant que la commande startx ! Si vous voulez encore plus loin on pourra faire en sorte que cette commande soit lancée dès l’ouverture de notre session utilisateur en ajoutant cette ligne dans notre fichier .bashrc :

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then exec startx; fi

De cette manière i3 ne sera lancé que sur le tty1, ce qui nous permettra d’accéder à notre machine en mode console via les autres tty. Voilà comment on installe un environnement graphique tout en installant le moins de paquets possibles  !