NetBSD comme environnement de travail

NetBSD 5.0, je vous en ai rabâché les oreilles: et que t’y crois pas comme c’est rapide, poh poh poh comment y’a trop des features conviviales et oulala mais woua comme c’est sexy que t’emballes trop en soirée avec ton 5.0 shiny.

Des articles en ligne en passant par la serie “à la découverte de NetBSD” rondement menée par la fine équipe de NetBSDfr, on vous en sert à tous les repas. Eh bah c’est pas fini.

ProselMan vous propose aujourd’hui: NetBSD comme environnement de travail sur un portable “moderne”.

J’utiliserai pour cette note -qui avouons le me servira également de pense-bête- une machine dont le CPU est 64bits-capable, munie de 2G de ram et d’un disque de 80G. Cette conf est evidemment très luxueuse, NetBSD tournera parfaitement sur quelque chose de plus modeste.

Je ne reviendrai pas sur l’installation à proprement parler, cet aspect étant très largement documenté sur l’Intarwebz. Considérons donc le 1er boot.

Rappelons à toutes fins utiles qu’il est evidemment nécessaire de se créer un utilisateur. Afin de vous simplifier la vie, ajoutez cet utilisateur au groupe wheel dans le fichier /etc/group de façon à pouvoir utiliser la commande su.

Je parle ici d’un portable, il est donc fort à parier qu’il soit muni d’une carte Wifi, et puisque wpa_supplicant est présent dans le basesystem depuis NetBSD 4.0, on va pas se priver. Pas de NetworkManager ou je ne sais quelle autre usine à gaz, on se fend d’un :

puis de l’édition du fichier créé afin qu’il ressemble à ceci :

Dans /etc/rc.conf, nous ajoutons les variable suivantes :

Puis on démarre le système :

Si les valeurs précédemment renseignées sont correctes, wpa_cli devrait vous afficher les informations suivantes :

Auquel cas, nous interrogeons notre serveur DHCP afin qu’il attribue une IP à notre interface Wifi :

Notre machine vit. Afin d’automatiser cette opération, nous créons le fichier /etc/ifconfig.wpi0 (wpi0 étant le nom de mon interface Wifi, remplacez le par celui qui convient) :

Ce fichier, lu par /etc/rc.d/network, activera l’interface, la placera en mode 802.11b (mon AP est loin) et appellera dhcpcd afin d’affecter une IP à votre interface.

Hors de question de se cogner 24h de compilation pour bénéficier d’un environnement graphique, vous l’aurez compris: c’est l’instant ou pkgin rentre en scène ! On se connecte sur le repository de packages binaires le plus proche, et on récupère pkgin et sa seule dépendance, SQLite :

Et on installe :

Comme l’explique la documentation, on renseigne le fichier repositories.conf :

Puis on met à jour la base de pkgin

À cet instant, tout devient beaucoup plus facile !

Point d’originalité, comme j’ai un peu perdu l’envie de me cogner du tuning d’interface pendant des heures, j’opte pour l’environnement gnome que j’habillerais éventuellement grace à gnome-look.org. Ni une ni deux :

La durée de cette opération est evidemment fonction de la rapidité de votre connexion. Ici, sur un lien Wifi 11b, elle a pris 20 minutes. Quelques manipulations, affichées par le dernier message d’installation, sont nécessaires :

Malheureusement, et même si un PR est ouvert sur le sujet, l’autoconfiguration de Xorg ne fonctionne pas totalement, wsmouse n’est pas encore supporté. Rien de bien méchant cependant, il suffira de générer la configuration de cette façon :

Et de copier le fichier généré dans /etc/X11/xorg.conf. Il est à noter que sur mon installation, gdm s’affichait avec des polices enormes, j’ai reglé ceci en ajoutant la directive -dpi 96 à la commande de démarrage de Xorg dans le fichier /usr/pkg/etc/gdm/custom.conf :

Comme je l’ai annoncé au début de cet article, la cible de l’installation est un ordinateur portable, il serait donc souhaitable de contrôler un minimum sa température. On trouve sur le wiki NetBSD un post sur le sujet qui explique la marche à suivre. Activons tout d’abord le demon powerd comme suit :

Puis renseignons le fichier /etc/envsys.conf afin que les évenements concernant la température des cores de notre CPU activent une action précise :

On prendra en compte cette configuration à l’aide de la commande envstat -c /etc/envsys.conf L’exemple du wiki NetBSD propose d’utiliser le package estd afin de diminuer la fréquence du processeur si l’on tombe en dessous d’un pourcentage de charge de la batterie. On installe ce logiciel :

Puis on l’active :

Enfin, on rassemble les morceaux dans le script d’évenement /etc/powerd/scripts/sensor_temperature auquel on ajoute les lignes suivantes :

On pourra connaitre les differentes fréquences possibles grace à la commande :

Pour résumer, si la température de CPU est normale, le contrôle de la fréquence est délegué à estd, lorsque l’on dépasse 60 degrés (critical-over), on diminue la fréquence à sa valeur minimale. On constate le résultat à l’aide de la commande envstat :

C’est pret, rebootez (le reboot n’est evidemment pas indispensable, mais cela nous assurera que tous les demons et configurations sont corrects).

La première fois que vous arriverez sur gdm, n’oubliez pas de choisir “gnome” dans le menu “Session”.

Vous devriez maintenant contempler un bureau gnome classique.

Pour des raisons de licenses, la totalité des logiciels présents dans pkgsrc ne sont pas disponibles sous forme binaire. C’est par exemple le cas des fameuses polices ms-ttf, pratiquement indispensables pour visualiser correctement un pourcentage écrasant de sites web. Aussi, il va tout de même falloir récupérer pkgsrc pour ces cas de figure. Execution :

Les logiciels soumis à une license particulière demandent une action volontaire de l’utilisateur, ajouter à la main l’acceptation de la license dans le fichier /etc/mk.conf :

Moyennant quoi, on peut désormais installer le package fonts/ms-ttf de cette façon :

Comme l’explique le message d’installation, quelques manipulations sont nécessaires à la prise en compte de ces nouvelles polices. Tout d’abord, il faut s’assurer que le chemin "/usr/pkg/lib/X11/fonts/TTF/" est présent dans le fichier xorg.conf, exemple :

Puis de lancer :

Enfin, après l’installation de fontconfig :

il faudra regénérer le cache via la commande :

Un redémarrage du serveur X sera nénessaire puisque nous avons modifié le fichier xorg.conf.

Voila ! notre bureau NetBSD est vraiment utilisable, la plupart des engine GTK étant disponibles, il suffira d’un peu de tuning pour en faire un environnement de toute beauté.

On va pas se quitter sans un petit screenshot n’est-ce pas ? :)