Un terminal amélioré et accessible sous Windows
Ce n’est pas un révélation pour personne, le terminal/shell de commandes (cmd.exe) sous Windows XP (de même que Vista) est dysfonctionnel: copier/coller non-intuitif et fonctionnant seulement en sélection par bloc, copier/coller bloquant l’exécution en cours, complétion des commandes imprévisible, etc.
Que faire pour y remédier? À l’aide de quelques outils Open Source, j’ai concocté une solution qui me semble intéressante. Cette solution permet d’utiliser un terminal virtuel (rxvt) et un shell (bash) plus évolué du type Unix/Linux sous Windows.
Premièrement, il faut installer l’incontournable cygwin. En plus des packages de base, le package rxvt doit être sélectionné. N’oubliez pas d’ajouter cygwin dans la variable d’environnement PATH (typiquement C:\cygwin\bin), sans quoi quelques ajustements seront nécessaires dans ce qui suit.
Bien! Le nouveau terminal est dès maintenant disponible : il suffit d’exécuter (Démarrer > Exécuter) rxvt -e bash. Cependant, on peut simplifier encore plus son utilisation.
Connaissez-vous AutoHotkey? Il s’agit d’un outil merveilleux pour faire des scripts évolués de raccourcis claviers. Le script suivant détecte le dossier courant de l’explorateur Windows et lance un script bash avec le chemin de ce dossier en paramètre.
#NoTrayIcon
#C::
ID := WinExist("A")
WinGetClass, Class, ahk_id %ID%
ControlGetText, ePath, Edit1, ahk_id %ID%
Run, bash terminal.sh %epath%, , Hide
return
Le script terminal.sh convertit le chemin du dossier au format Unix et ajuste la présentation de rxvt.
#!/usr/bin/env bash if [ -n "$*" ] then DIR_PATH=$(cygpath -u "$*"); cd "$DIR_PATH" else cd /cygdrive/c fi rxvt -title "Terminal" -fn "Lucida Console-14" -bg black -fg gray -cr green +vb +sb -sl 4000 -e bash -i
Voilà! Maintenant la combinaison des touches Win + C ouvre un terminal plus évolué à l’emplacement où vous vous trouvez dans l’explorateur Windows.
En écrivant ce billet, j’ai découvert Console, un logiciel également Open Source qui, à première vue, me semble mieux que rxvt. La version 2.0 est encore en beta et j’ai expérimenté quelques problèmes, mais cela promet! À suivre…
Mise à jour (2007-05-20): J’ai ajusté le script terminal.sh pour qu’il prenne un dossier avec un caractère d’espacement.
Eric Soucy le 25 février 2007 à 19:50 a dit :
bonne article, il y a aussi mrvxt. Celui-ci donne plusieurs onglet!