Virsh : utiliser nano au lieu de vi

closeCet article a été publié il y a 10 ans 2 mois 30 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Quand je vous ai présenté ce merveilleux outil qu’est la libvirt, une des commandes proposées permettait d’éditer le fichier de configuration d’une machine virtuelle (un « domaine » dans son jargon). Sauf que du moins sous Debian, il ne prend pas en compte l’éditeur de texte par défaut, mais vi. Et celui-ci est loin d’être intuitif comme éditeur. Voyons donc comment changer tout ça.

Lors de l’appel à la commande edit, virsh va chercher l’éditeur par défaut d’après une variable d’environnement, et s’il n’en trouve pas, lance vi, qui est pratiquement toujours installé sur toutes les distributions de la planète. Mais cette variable n’est pas définie sous Debian, du coup, même si vous reconfigurez l’éditeur par défaut (dpkg-reconfigure editor), c’est vi qui se lance.

Sauf que vi n’est pas très accessible (il y a un lien d’introduction dans le chapitre de la configuration XML dans ma présentation). nano l’est beaucoup plus, c’est d’ailleurs la raison pour laquelle Debian le configure comme éditeur par défaut. Donc voyons voir comment définir cette variable d’environnement, tempoairement puis de manière durable.

Une variable d’environnement, sur le principe, est une variable comme une autre, à part qu’elle est accessible de manière globale par tous les processus. La définition est donc un poil différente, et dans notre cas, la variable à définir se nomme EDITOR :

C’est le export qui fait le boulot de rendre la variable « environnementale ». Vous pouvez constater le résultat immédiatement, lors d’un virsh edit domain, le fichier xml devrait s’ouvrir dans nano.

Pour rendre cette définition persistante, vous avez deux choix : soit ajouter l’export dans votre fichier ~/.bashrc perso, soit dans le fichier global /etc/bash.bashrc. Le fichier global permet de définir la variable quelque soit le premier utilisateur connecté, puisqu’il est exécuté au démarrage du système. Pour ma part je préfère le fichier de l’utilisateur, je lance donc la commande suivante :

 

Et voilà, comme ça, au prochain redémarrage/prochaine connexion, la variable sera en place, et virsh sera un peu plus gentil avec vous 🙂