Divers

Urxvt : un emulateur de terminal léger et personnalisable

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

Depuis mon passage à ArchLinux, j’ai effectué quelques changements dans la liste des applications que j’utilise. Parmi ceux que j’ai remplacé, il y a Terminator, bien que je suis très satisfait de ses services. Ce qui m’a décidé à me séparer de lui c’est principalement sa lenteur. Ma nouvelle console n’est autre que rxvt-unicode, urxvt pour les intimes.

Contrairement à Terminator ou Gnome Terminal, quand je lance urxvt c’est du quasi instantané, je n’ai pas poussé le vice jusqu’à effectuer un benchmark, vous devrez donc vous contenter de ma parole. La seule fonctionnalité qui pouvait me manquer c’est le scindement du terminal, mais avec screen, son absence ne s’est fait pas ressentir. Sa légèreté et sa modularité -grâce aux nombreux plugins qu’on peut trouver sur le web- font de lui un des meilleurs emulateurs de terminal à mon humble avis.

Urxvt est présent dans les dépôts de toutes les distributions majeures, pour l’installer il suffit juste de procéder comme vous le faites avec n’importe quel autre paquet.

Pour Ubuntu/Debian :

sudo apt-get install rxvt-unicode

Pour Fedora :

yum install rxvt-unicode

Pour Archlinux, il vaut mieux installer le paquet rxvt-unicode-patched qui corrige un bug de police :

yaourt -S rxvt-unicode-patched

Maintenant, place à quelques astuces pour personnaliser urxvt. Une des premières choses que j’ai modifié après l’avoir installé, c’était d’activer le support de la transparence. Il faut savoir que urxvt offre deux possibilités, soit vous utilisez une vraie transparence qui s’appuie sur le gestionnaire de composite, soit vous optez pour la fausse, dans ce cas urxvt va utiliser le fond d’écran comme fond du terminal. Pour y arriver, vous devez éditer le fichier ~/.Xdefaults

Pour la vraie transparence, ajouter ces deux lignes :

Pour la fausse transparence :

Ensuite, exécutez cette ligne de commande :

xrdb ~/.Xdefaults

Si la palette de couleurs (colorscheme) par défaut de urxvt ne vous plaît pas, une petite recherche sur le web et vous trouverez sûrement votre bonheur, tout ce que vous à faire après c’est de les remplacer dans le fichier .Xdefaults. Le mien je l’ai piqué sur ce topic du forum officiel de ArchLinux.

Comme je l’ai dit précédemment, pur combler l’absence de la fonctionnalité du scindement j’utilise screen, mais si vous le souhaitez, vous pouvez s’en passer et se contenter de l’utilisation des onglets, qui sont en plus bien plus agréables que ceux de gnome terminal ou de terminator. Pour créer un nouveau onglet, appuyez sur Shift+bas et pour naviguer entre Shift+gauche/droite.

Une dernière chose, vous avez sans doute remarqué l’absence du menu contextuel et vous vous demandez déjà comment vous allez faire pour copier/coller, pas de panique : Ctrl+inser pour copier et Shift+inser pour coller.

Voilà, j’espère que je vous ai donné envie de découvrir de urxvt. Enjoy it ;)

P.S : un grand merci à Ulhume, qui a rédigé quelques articles très intéressant sur urxvt.

site officiel de urxvt

9 Comments

  1. Pour Fedora il y a des paquets avec la gestion des 256 couleurs: rxvt-unicode-256color-ml et rxvt-unicode-256color

    Sinon s/rxdb/xrdb et “Depuis que j’ai passé” pour l’accroche de l’article ça pique un peu ;-)

    • crowd42

      Merci pour les précisions concernants Fedora et xrdb ;) .
      Que penses tu du début de l’article maintenant ?

  2. Merci pour la référence :) SI tu veux quelque chose d’objectif (un peu en tout cas ;-) sur les perfs d’urxvt :
    http://artisan.karma-lab.net/console-performante

    J’avais fait quelque benchmark à l’époque et il n’y avait pas photo. Maintenant une grande partie des terminaux sont en réalité des exploitations de la librairie libvte qui ne brille pas par sa rapidité. rxvt (et donc urxvt), comme xterm, sont des implémentation “from scratch”. Donc effectivement plus rapide.

    Sinon, urxvt a un menu contextuel :) Par exemple fait une sélection, puis dedans clique avec le bouton gauche en maintenant CTRL pressé.

    Ce menu peut être étendu à ce que tu veux en passant par des plugins perl tout simples.

  3. ibliss

    Urxvt est tout aussi sympa à utiliser que ton billet à lire. Cependant, un vrai zoom digne de ce nom, ainsi que la possibilité de lancer au démarrage de multiples terminaux accompagnés chacun d’une commande ne te manquent-ils pas ? (c’est pour ces raisons que j’oscille entre urxvt et terminator…)

    • crowd42

      Je ne vais pas répondre au sarcasme, je suis conscient de mes lacunes :) , sinon pour répondre à ta question, tu as essayé ça http://artisan.karma-lab.net/modifier-taille-polices-durxvt ?

      • ibliss

        Même si ça en avait l’air ce n’était pas du tout du sarcasme, j’espèrais une solution. J’ai donc bien fait de te poser la question, je vais tester le plugin. Jusqu’à présent je m’étais contenté d’attribuer une taille de police à un raccourci clavier (pas très pratique). Vu d’ici les lacunes sont plutôt de mon côté…

        • @ibliss

          Je ne sais pas ce que tu entends pas “démarrage” (beaucoup de choses démarrent, le pc, X11, une session, etc). Mais perso, au démarrage de la session X11, je lance une tripotée de terminaux URXVT, chacun associé à une commande (ex. un terminal avec mutt, un autre avec weechat, etc..).

          Pour faire cela, tu as l’argument “-e commande arguments”. à place en général à la fin de ton appel. Par exemple :

          $$ sudo urxvt -e tail -f /var/log/syslog &

          Pour lancer une console avec un tail sur les logs système dedans.

          Tu peux encore améliorer le rendu en jouant sur -name et -title :

          $$ urxvt -name mon_chat -title “Mon Chat” -e weechat-curses &
          Là tu lances weechat en mode texte dans un terminal, tu donnes un titre à cette nouvelle fenêtre et lui donne aussi un nom. Ce dernier point est très pratique car du coup tu peux paramétrer finement le comportement de cette fenêtre à travers ~/.Xdefaults. Par exemple :

          mon_chat.boldFont:xft:Meslo LG S DZ:style=Regular:size=10
          mon_chat.font:xft:Meslo LG S DZ:style=Regular:size=10
          mon_chat.italicFont:xft:Meslo LG S DZ:style=Regular:size=10
          mon_chat.boldItalicFont:xft:Meslo LG S DZ:style=Regular:size=10

          Pareillement le fait de donner un nom à ta fenêtre te permet avec un gestionnaire de fenêtres évolué (awesome, wmfs, qtiles, etc) de positionner à l’ouverture ta fenêtre sur tel écran, dans tel mode, etc.

          Après pour finir de répondre à “au démarrage”, il faudrait savoir à quel démarrage tu fais référence. Moi je n’utilise pas de gestionnaire de connexion ni de bureau, je colle donc cela directement dans mon ~/.xinitrc

  4. ibliss

    Merci beaucoup.
    Je n’utilise pas non plus de gestionnaire de démarrage.
    Dans mon xinitrc je lance simplement un profil de terminator qui ouvre l’ensemble de mes terminaux (mutt, newsbeuter…) avec le layout qui correspond (ça me fait penser que je pourrais le faire avec screen d’ailleurs…).
    En tout cas ton post me montre que je n’ai pas assez potassé urxvt car tout ce que je viens de décrire est en fait réalisable avec urxvt…
    Merci.

    • @ibliss

      Screen c’est sympa, mais j’avoue mal en comprendre l’usage lorsque l’on n’est pas en mode texte pur (sans X11) juste pour du layout. Lorsque tu as une couche graphique, un gestionnaire de fenêtre intelligent comme awesome permet de gérer tout les layouts qui te chantent, et bien plus.

      Après screen a d’autres usages comme le mode attach/détach quii est bien utile, mais c’est un autre sujet.

Laisser un commentaire