GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi j'utilise rxvt comme terminal

Je suis fan de Konsole et de GNOME Terminal, et je les utilise tous les deux régulièrement. Ce sont de grands projets, et ils représentent des terminaux modernes qui répondent aux besoins des utilisateurs qui passent leur journée dans un shell, ainsi qu'aux utilisateurs qui ne plongent que de temps en temps dans un shell Unix. Ils s'intègrent parfaitement dans un environnement de bureau, comblant le fossé entre les tâches courantes de l'interface graphique et les tâches courantes du shell. J'utilise GNOME Terminal au travail et Konsole à la maison, et j'apprécie les deux. Cependant, après avoir découvert le terminal rxvt-unicode, sa simplicité, sa portabilité et son extensibilité m'ont permis de rester un utilisateur depuis que j'ai commencé à l'utiliser avec Slackware Linux 12.

Voici pourquoi, et plus important encore, comment j'utilise rxvt comme terminal par défaut.

C'est léger

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

L'une de mes astuces budgétaires personnelles (et ma contribution à l'idée écologique de réparation et de réutilisation) consiste à ne jamais acheter de nouveau matériel, mais plutôt à "sauver" un ordinateur parfaitement utilisable pour mon ordinateur portable personnel. (Mon ordinateur portable personnel était un iBook 2004 "recyclé" exécutant Debian Linux jusqu'à ce que son écran devienne irréparable en 2017.) L'un des avantages distincts de l'open source est que vous pouvez exécuter tous les derniers logiciels requis, avec tous les derniers correctifs de sécurité, en utilisant applications légères. Ces applications, y compris le bureau lui-même, touchent à peine les ressources système précieuses qui sont généralement limitées sur les ordinateurs vieillissants. Le terminal rxvt est relativement petit; un peu plus lourd que xterm mais beaucoup moins exigeant que GNOME Terminal et Konsole.

C'est distinct

Un terminal simple permet de séparer les fonctions du bureau (comme le glisser-déposer, ce que rxvt ne fait pas fournir) à partir des fonctions du terminal (ce que vous pouvez faire, par exemple, via SSH). Les utilisateurs novices dans le travail sur des systèmes distants peuvent être confus quant à ce que représente le terminal, en particulier lorsqu'il est si bien intégré au reste de leurs ordinateurs. Parfois, il est utile de maintenir une séparation nette entre l'environnement local et les systèmes distants. Bien sûr, ce n'est pas du tout intentionnel; c'est sans doute une lacune de rxvt et des émulateurs de terminaux simples similaires qu'ils n'acceptent pas les actions de glisser-déposer ou ne fournissent pas de menus contextuels sophistiqués (plus à ce sujet plus tard), mais cela peut être un avantage surprenant.

De plus, apprendre une interface de terminal simple vous oblige à développer ce que vous considérez comme une interface utilisable. Une fois que vous avez appris à utiliser efficacement rxvt, vous constaterez peut-être qu'Eshell et xterm et même l'humble interface TTY remplissent leur fonction. Vous apprenez à utiliser des terminaux bas de gamme parce que votre idée de ce dont un terminal a besoin et ce qui est seulement agréable à avoir a évolué vers la simplicité.

Installation de rxvt

Le fork de rxvt que je recommande est généralement appelé rxvt-unicode dans les référentiels de logiciels, et il peut fournir un lanceur appelé URxvt ou similaire. C'est une petite application qui ne nécessite pas grand-chose pour être construite à partir du code source, mais la plupart des distributions Linux la fournissent, elle peut donc être installée avec votre gestionnaire de packages.

Sur Fedora, CentOS ou RHEL :

$ sudo dnf install rxvt-unicode

Sur Debian et Ubuntu :

$ sudo apt install rxvt-unicode

Sur d'autres, comme Slackware, rxvt peut déjà être inclus.

L'interface rxvt par défaut est (trompeusement) simple et plutôt simple.

Vous avez peut-être l'habitude d'ajuster vos interfaces à l'aide d'un panneau Préférences sur GNOME Terminal ou Konsole, mais pour rxvt, vous apportez des modifications dans un fichier texte.

Personnalisation de rxvt

L'une des beautés de rxvt est son fichier de configuration en texte brut contenant les propriétés xrdb. Le sous-système xrdb est l'utilitaire de base de données de ressources du serveur X, qui gère les préférences utilisateur pour les applications X11. Il est d'usage de placer vos préférences dans un fichier appelé ~/.Xdefaults puis de fusionner ces préférences dans la base de données xrdb.

La personnalisation la plus simple concerne les couleurs de base. Pour voir quelles couleurs et autres propriétés vous pouvez définir dans rxvt, reportez-vous à la page de manuel :

$ man urxvt

Pour personnaliser l'apparence de vos fenêtres, la page de manuel identifie le préfixe URxvt suivi des couleurs 0 jusqu'au 15 . En utilisant les codes hexadécimaux de n'importe quel sélecteur de couleurs Linux, vous pouvez définir votre propre ton pour chaque couleur ANSI. Voici un thème solarisé, avec des commentaires :

! solarized theme
! foreground/background
! black
URxvt.color0  : #000000
URxvt.color8  : #555555
! red
URxvt.color1  : #AA0000
URxvt.color9  : #FF5555
! green
URxvt.color2  : #00AA00
URxvt.color10 : #55FF55
! yellow
URxvt.color3  : #AB4400
URxvt.color11 : #FFFF44
! blue
URxvt.color4  : #0000AA
URxvt.color12 : #5555FF
! magenta
URxvt.color5  : #AA00AA
URxvt.color13 : #FF55FF
! cyan
URxvt.color6  : #00AAAA
URxvt.color14 : #55FFFF
! white
URxvt.color7  : #AAAAAA
URxvt.color15 : #FFFFFF

Avec autant de couleurs pour votre texte, vous préférerez peut-être un fond sombre. Avec rxvt-unicode, vous pouvez même définir un arrière-plan partiellement transparent avec un certain pourcentage d'opacité (100 étant entièrement opaque et 0 étant invisible).

URxvt*background: [90]#000000
URxvt*depth: 32
URxvt*foreground: #FFFFFF

Vous pouvez également définir le texte sur n'importe quelle police que vous avez installée sur votre système. Par exemple, pour définir votre police sur Fantasque Sans Mono à 21 points :

URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=21:antialias=true
URxvt*boldFont: xft:FantasqueSansMono-Bold:pixelsize=21:antialias=true
URxvt*italicFont: xft:FantasqueSansMono-Italic:pixelsize=21:antialias=true
URxvt*letterSpace: -1

Pour implémenter des modifications dans .Xdefaults , exécutez le xrdb commande :

$ xrdb -merge .Xdefaults

Relancez ensuite xrvt. Voici les résultats (notez que le fond d'écran de mon bureau apparaît légèrement) :

Vous pouvez également personnaliser l'apparence de la barre de défilement :

! scrollbar style - rxvt (default), 
! plain (compact), NeXT, or xtermn
URxvt.scrollstyle: plain
URxvt.scrollBar_right: True

Il existe de nombreuses autres options disponibles, répertoriées dans le manuel de rxvt, alors essayez celles qui vous plaisent. Pour voir tous les URxvt. propriétés, tapez :

urxvt --help

Lorsque vous essayez rxvt, vous remarquerez peut-être qu'il ne prend pas en charge certaines conventions modernes, telles que Ctrl +C pour copier, Ctrl +V pour coller, glisser-déposer, un menu contextuel par clic droit, etc. Cependant, les choses ne sont pas nécessairement ce qu'elles semblent être :rxvt possède un riche ensemble de fonctionnalités; ils sont simplement "cachés" (du moins d'un point de vue moderne) dans un paradigme auquel vous n'êtes peut-être pas habitué.

Copier et coller

Lorsque vous souhaitez copier et coller, il existe plusieurs façons de le faire. La méthode "évidente" pour un utilisateur expérimenté de Linux consiste à utiliser l'astuce du système X Window consistant à cliquer sur le bouton central de la souris pour coller le contenu de votre presse-papiers principal. Cependant, rxvt fournit plus que cela :appuyez et maintenez Ctrl +Bouton droit de la souris sur une sélection dans rxvt, et un menu contextuel apparaît avec des options pour copier et coller. Une fois le menu affiché, vous pouvez relâcher la touche Ctrl , mais vous devez maintenir le bouton droit de la souris enfoncé jusqu'à ce que vous fassiez votre sélection.

Convertir les nouvelles lignes en espaces

Parfois, vous tapez une fonction ou une boucle dans votre shell, ou vous en copiez une à partir d'un site Web, mais vous décidez ensuite que vous devez la modifier avant de l'exécuter. Le problème est qu'une commande avec des sauts de ligne est notée avec > caractères :

$ for i in {0..12}; do
> echo $i
> done
$

Lorsque vous collez cela dans votre terminal, le nouveau > caractères sont insérés à chaque caractère de saut de ligne, ce qui donne ceci :

$ for i in {0..12}; do
> > echo $i
> > done
$

Vous pouvez les modifier, mais il est un peu fastidieux de travailler sur plusieurs lignes dans un terminal car il utilise les flèches haut et bas pour parcourir votre historique. Vous pouvez exécuter la commande, puis y revenir dans l'historique, ce qui convertit les commandes multilignes en une seule ligne, mais vous ne souhaitez pas toujours exécuter une commande pour pouvoir la modifier.

Lorsque vous collez quelque chose à partir d'un site Web, vous pouvez rencontrer un problème connexe :une séquence de commandes peut ne pas avoir > symboles, mais ils ont probablement des caractères de retour à la ligne intégrés qui, une fois collés, invitent votre terminal à exécuter la commande immédiatement.

Une belle fonctionnalité bonus dans rxvt est la nouvelle ligne vers les espaces option dans la Sélection menu. Cela modifie le contenu de votre presse-papiers afin que les caractères de nouvelle ligne deviennent des espaces, ce qui signifie qu'un bloc de code est réduit à une ligne facilement modifiable lorsque vous le collez dans rxvt. Les commandes que vous collez à partir d'un site Web perdent tous les caractères de saut de ligne intégrés, de sorte qu'elles ne s'exécutent pas automatiquement après les avoir collées. Cela ne le fait pas convertir > caractères en espaces, vous devrez donc toujours les modifier s'ils sont là, mais c'est beaucoup plus facile avec tout sur une seule ligne :

$ for i in {0..12}; do > echo $i > done

Les nouvelles lignes vers les espaces est l'une de ces fonctionnalités mineures que j'utilise tout le temps car je me laisse presque toujours des notes dans des dossiers sur la commande à exécuter pour accomplir une tâche irrégulière que je ne fais qu'occasionnellement. Inévitablement, je finis par vouloir modifier la commande lorsque je la relance, donc c'est bien de pouvoir s'assurer que la commande est facile à modifier avant de l'exécuter. Cette fonctionnalité à elle seule peut être la vraie raison pour laquelle je suis resté avec rxvt toutes ces années.

Menu des paramètres

Pour un accès rapide aux options courantes des paramètres du terminal, appuyez sur Ctrl +Bouton central de la souris pour basculer les Options menu activé et désactivé. Ce menu vous permet de définir si votre curseur clignote, si le terminal utilise une cloche visuelle et de nombreuses autres préférences qui peuvent être définies dans votre .Xdefaults dossier. Contrairement à la Sélection menu, ce menu persiste en tant que menu flottant jusqu'à ce que vous appuyiez sur Ctrl +Bouton central de la souris à nouveau.

Lancer des astuces

Une autre grande caractéristique de rxvt est qu'il peut être rapidement personnalisé au moment du lancement avec des options de commande. Je l'utilise chaque fois que je sais que je vais passer beaucoup de temps dans une session SSH vers un hôte distant, car je veux qu'il soit très clair quel terminal contient quelle session (il n'y a rien de pire qu'un sudo poweroff commande envoyée au serveur de production au lieu du serveur de développement). Quelle que soit la façon dont vous avez choisi le thème de votre rxvt par défaut, vous pouvez lancer un terminal rxvt avec n'importe quelle variété de couleurs de premier plan, d'arrière-plan et de curseur (-fg , -bg , et -cr , respectivement). Vous pouvez également ajouter une bordure pour plus d'emphase :

$ urxvt -fg green -cr green -bd green &

J'ai tendance à garder les choses simples :j'utilise le rouge pour un serveur de production, le vert pour un serveur de développement et le jaune pour un test ou un autre système distant.

Il existe de nombreuses options que vous pouvez utiliser pour remplacer vos valeurs par défaut au lancement. Pour les voir tous, référez-vous au manuel de rxvt.

Onglets

Le terminal rxvt est extensible via Perl. Que vous connaissiez ou non Perl est en grande partie hors de propos, car de nombreuses fonctionnalités fournies par Perl sont déjà fournies avec rxvt dans /usr/lib64/urxvt/perl/ .

L'une de mes extensions préférées est l'interface à onglets, qui est une convention relativement moderne d'émulateurs de terminaux dont personne ne devrait avoir à se passer, y compris les utilisateurs de rxvt. Pour activer l'interface à onglets dans rxvt, ouvrez ~/.Xdefaults et ajoutez ces lignes de configuration :

!TABS
URxvt.perl-ext-common : default,tabbed
URxvt.tabbed.tabbar-fg: 2
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg:    3
URxvt.tabbed.tab-bg:    0

Fusionnez votre configuration avec xrdb puis relancez rxvt.

Après avoir relancé, vous avez un index d'onglet en haut de votre terminal. Les entrées par défaut sont [NEW] et 1 . Ces entrées sont cliquables. Vous pouvez cliquer sur le [NOUVEAU] entrée pour ouvrir un nouvel onglet, et vous pouvez cliquer sur un numéro pour passer à cet onglet.

Vous pouvez également interagir avec vos onglets à l'aide du clavier :

  • Maj +Flèche vers le bas ouvre un nouvel onglet
  • Maj +Flèche gauche active l'onglet précédent
  • Maj +Flèche droite active l'onglet suivant
  • Ctrl +Flèche gauche déplace l'onglet actuel vers la gauche
  • Ctrl +Flèche droite déplace l'onglet actuel vers la droite
  • Ctrl +D ferme l'onglet en cours

Il existe de nombreuses autres extensions Perl que vous pouvez et devriez essayer. Par exemple, l'extension Kuake affiche et masque votre terminal rxvt en appuyant sur un raccourci clavier global (Ctrl +F10 par défaut).

Cliquez sur la navigation

La plupart des terminaux n'agissent pas vraiment comme des éditeurs de texte, même si c'est à peu près à quoi ils ressemblent. Par exemple, si vous lancez une commande telle que echo ello puis décidez que vous vouliez taper hello , vous ne pouvez pas simplement cliquer sur le e pour y envoyer votre curseur pour une modification rapide. Au lieu de cela, vous devez appuyer sur la flèche gauche touchez quatre fois, ou peut-être connaissez-vous le raccourci Alt +B pour sauvegarder une chaîne. Le terminal rxvt change cela.

Dans rxvt, vous pouvez appuyer sur Shift +Bouton gauche de la souris pour repositionner votre curseur n'importe où sur la même ligne d'une commande que vous tapez. La façon dont rxvt accomplit cela est de calculer puis d'émettre le nombre d'appuis sur les touches du curseur gauche ou du curseur droit requis pour que le curseur change d'emplacement. Le résultat est une expérience familière à tous ceux qui ont déjà utilisé un éditeur de texte, et c'est une petite commodité rapide que vous apprécierez même si vous ne l'utilisez pas tout le temps (après tout, il faut vos doigts pour éloignez-vous de vos clés).

Fonctionnalités, fonctionnalités, fonctionnalités

Il y a plus de fonctionnalités dans rxvt que celles listées ici. La façon de les trouver est d'utiliser rxvt comme terminal et de chercher des moyens de résoudre les problèmes qui vous ennuient lorsque vous travaillez dans un terminal ou que vous travaillez avec un ancien "obsolète" comme rxvt. Vous serez surpris de ce que vous trouverez.


Linux
  1. Utiliser XMLStarlet pour analyser XML dans le terminal Linux

  2. Utilisez votre terminal Linux pour célébrer une année record

  3. sudoedit :pourquoi l'utiliser sur sudo vi ?

  4. Pourquoi utiliser sudo ?

  5. Pourquoi utilisons-nous su - et pas seulement su ?

Les 10 meilleures raisons d'utiliser Linux

Comment utiliser le terminal Linux dans Android

Pourquoi les nerds utilisent Linux

Comment utiliser Instagram dans le terminal

Comment utiliser Terminal dans cPanel ?

Linux vs Mac OS :15 raisons d'utiliser Linux au lieu de Mac OS