GNU/Linux >> Linux Esercitazione >  >> Linux

Perché uso rxvt come terminale

Sono un fan di Konsole e GNOME Terminal e li uso entrambi regolarmente. Sono grandi progetti e rappresentano terminali moderni che soddisfano le esigenze degli utenti che trascorrono la giornata in una shell, così come gli utenti che si immergono in una shell Unix solo di tanto in tanto. Si integrano perfettamente in un ambiente desktop, colmando il divario tra le comuni attività della GUI e le comuni attività della shell. Uso GNOME Terminal al lavoro e Konsole a casa e mi piacciono entrambi. Tuttavia, dopo essere stato introdotto al terminale rxvt-unicode, la sua semplicità, portabilità ed estensibilità mi hanno mantenuto un utente da quando ho iniziato a usarlo con Slackware Linux 12.

Ecco perché, e soprattutto, come utilizzo rxvt come terminale predefinito.

È leggero

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Uno dei miei trucchi per il budget personale (e contributi all'idea ecologica di riparazione e riutilizzo) è quello di non acquistare mai nuovo hardware, piuttosto di "salvare" un computer perfettamente utilizzabile per il mio laptop personale. (Il mio laptop personale era un iBook "upcycled" del 2004 con Debian Linux fino a quando il suo schermo non è diventato irreparabile nel 2017.) Uno dei vantaggi distinti dell'open source è che puoi eseguire tutto il software più recente, con tutte le ultime patch di sicurezza, utilizzando applicazioni leggere. Queste applicazioni, incluso il desktop stesso, toccano a malapena preziose risorse di sistema che in genere sono limitate sui computer obsoleti. Il terminale rxvt è relativamente piccolo; un po' più pesante di xterm ma molto meno impegnativo di GNOME Terminal e Konsole.

È distinto

Un semplice terminale aiuta a separare le funzioni del desktop (come il trascinamento della selezione, che rxvt non fornire) dalle funzioni del terminale (cose che puoi fare, ad esempio, tramite SSH). Gli utenti che non conoscono il lavoro su sistemi remoti possono confondersi su ciò che rappresenta il terminale, specialmente quando è così ben integrato nel resto dei loro computer. A volte, è utile mantenere una netta separazione tra l'ambiente locale ei sistemi remoti. Naturalmente, questo non è affatto intenzionale; è probabilmente un difetto di rxvt e simili semplici emulatori di terminale che non accettano azioni di trascinamento della selezione o forniscono menu contestuali fantasiosi (ne parleremo più avanti), ma può essere un vantaggio sorprendente.

Inoltre, l'apprendimento di una semplice interfaccia terminale ti costringe ad espandere ciò che pensi come un'interfaccia utilizzabile. Una volta che hai imparato a usare rxvt in modo efficace, potresti scoprire che Eshell e xterm e persino l'umile interfaccia TTY servono al loro scopo. Impari a usare terminali con specifiche basse perché la tua idea di ciò di cui un terminale ha bisogno e cosa è solo bello avere si è spostato verso la semplicità.

Installazione di rxvt

Il fork di rxvt che raccomando è solitamente chiamato rxvt-unicode nei repository software e può fornire un lanciatore chiamato URxvt o simile. È una piccola applicazione e non richiede molto per essere compilata dal codice sorgente, ma la maggior parte delle distribuzioni Linux la fornisce, quindi può essere installata con il tuo gestore di pacchetti.

Su Fedora, CentOS o RHEL:

$ sudo dnf install rxvt-unicode

Su Debian e Ubuntu:

$ sudo apt install rxvt-unicode

Su altri, come Slackware, rxvt potrebbe essere già incluso.

L'interfaccia rxvt predefinita è (ingannevolmente) semplice e piuttosto semplice.

Potresti essere abituato a regolare le tue interfacce usando un pannello Preferenze su GNOME Terminal o Konsole, ma per rxvt, apporti le modifiche in un file di testo.

Personalizzazione di rxvt

Una delle bellezze di rxvt è il suo file di configurazione in testo semplice contenente le proprietà xrdb. Il sottosistema xrdb è l'utilità del database delle risorse del server X, che gestisce le preferenze dell'utente per le applicazioni X11. È consuetudine inserire le tue preferenze in un file chiamato ~/.Xdefaults e quindi per unire quelle preferenze nel database xrdb.

La personalizzazione più semplice sono i colori di base. Per vedere quali colori e altre proprietà puoi definire in rxvt, fai riferimento alla pagina man:

$ man urxvt

Per personalizzare l'aspetto delle tue finestre, la pagina man identifica il prefisso URxvt seguito dai colori 0 fino a 15 . Usando i codici esadecimali da qualsiasi selettore di colori Linux, puoi impostare il tuo tono per ogni colore ANSI. Ecco un tema solare, con commenti:

! 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

Con così tanti colori per il tuo testo, potresti preferire uno sfondo scuro. Con rxvt-unicode, puoi persino impostare uno sfondo parzialmente trasparente con una certa percentuale di opacità (100 è completamente opaco e 0 è invisibile).

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

Puoi anche impostare il testo su qualsiasi carattere che hai installato sul tuo sistema. Ad esempio, per impostare il carattere su Fantasque Sans Mono a 21 punti:

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

Per implementare le modifiche in .Xdefaults , esegui xrdb comando:

$ xrdb -merge .Xdefaults

Quindi riavvia xrvt. Ecco i risultati (notare che lo sfondo del mio desktop è leggermente visibile):

Puoi anche personalizzare l'aspetto della barra di scorrimento:

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

Ci sono molte altre opzioni disponibili, elencate nel manuale di rxvt, quindi prova quelle che ti piacciono. Per vedere tutti gli URxvt. proprietà, digitare:

urxvt --help

Quando provi rxvt, potresti notare che non supporta alcune convenzioni moderne, come Ctrl +C per copiare, CTRL +V per incollare, trascinare e rilasciare, fare clic con il pulsante destro del mouse sul menu contestuale e così via. Tuttavia, le cose non sono necessariamente come sembrano:rxvt ha un ricco set di funzionalità; sono semplicemente "nascosti" (almeno da un punto di vista moderno) in un paradigma a cui potresti non essere abituato.

Copia e incolla

Quando vuoi copiare e incollare, ci sono diversi modi per farlo. Il modo "ovvio" per un utente Linux esperto è con il trucco del sistema X Window di fare clic con il pulsante centrale del mouse per incollare il contenuto degli appunti principali. Tuttavia, rxvt fornisce più di questo:tieni premuto Ctrl +Pulsante destro del mouse su una selezione in rxvt e viene visualizzato un menu contestuale con le opzioni per copiare e incollare. Una volta visualizzato il menu, puoi rilasciare il Ctrl chiave, ma è necessario tenere premuto il tasto destro del mouse fino a quando non si effettua la selezione.

Converti i newline in spazi

A volte digiti una funzione o un ciclo nella tua shell, o ne copi uno da un sito Web, ma poi decidi che devi modificarlo prima di eseguirlo. Il problema è che un comando con interruzioni di riga viene annotato con > caratteri:

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

Quando lo incolli nel tuo terminale, nuovo > i caratteri vengono inseriti ad ogni carattere di nuova riga, risultando in questo:

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

Puoi modificarli, ma è un po' ingombrante lavorare su più righe in un terminale perché utilizza le frecce su e giù per scorrere la cronologia. Puoi eseguire il comando e poi tornare indietro nella cronologia, che converte i comandi su più righe in una riga, ma non sempre vuoi eseguire un comando in modo da poterlo modificare.

Quando si incolla qualcosa da un sito Web, è possibile che si verifichi un problema correlato:una sequenza di comandi potrebbe non avere > simboli, ma probabilmente hanno caratteri di nuova riga incorporati che, una volta incollati, richiedono al terminale di eseguire immediatamente il comando.

Una bella caratteristica bonus in rxvt è la newline agli spazi opzione nella Selezione menù. Questo modifica il contenuto degli appunti in modo che i caratteri di nuova riga diventino spazi, il che significa che un blocco di codice viene ridotto a una riga facilmente modificabile quando lo incolli in rxvt. I comandi che stai incollando da un sito web perdono tutti i caratteri di nuova riga incorporati, quindi non vengono eseguiti automaticamente dopo che li hai incollati. Questo non converti > caratteri in spazi, quindi dovrai comunque modificarli se sono presenti, ma è molto più semplice con tutto su una riga:

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

Le nuove righe agli spazi feature è una di quelle funzionalità minori che uso sempre perché lascio quasi sempre note a me stesso nelle cartelle su quale comando deve essere eseguito per eseguire alcune attività irregolari che svolgo solo occasionalmente. Inevitabilmente, finisco per voler modificare il comando quando lo eseguo di nuovo, quindi è bello poter garantire che il comando sia facile da modificare prima di eseguirlo. Questa funzione da sola potrebbe essere il vero motivo per cui sono rimasto con rxvt tutti questi anni.

Menu delle impostazioni

Per un rapido accesso alle opzioni comuni delle impostazioni del terminale, premi Ctrl +Pulsante centrale del mouse per attivare le Opzioni menu acceso e spento. Questo menu ti consente di impostare se il tuo cursore lampeggia, se il terminale utilizza un campanello visivo e molte altre preferenze che possono essere impostate nel tuo .Xdefaults file. A differenza della Selezione menu, questo menu persiste come menu mobile finché non premi Ctrl +Pulsante centrale del mouse di nuovo.

Avvia trucchi

Un'altra grande caratteristica di rxvt è che può essere rapidamente personalizzato all'avvio con le opzioni di comando. Lo uso ogni volta che so che trascorrerò molto tempo in una sessione SSH su un host remoto, perché voglio che sia abbondantemente chiaro quale terminale contiene quale sessione (non c'è niente di peggio di un sudo poweroff comando emesso al server di produzione anziché al server di sviluppo). Indipendentemente da come hai impostato il tema del tuo rxvt predefinito, puoi avviare un terminale rxvt con qualsiasi varietà di colori di primo piano, sfondo e cursore (-fg , -bg e -cr , rispettivamente). Puoi anche aggiungere un bordo per una maggiore enfasi:

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

Tendo a mantenere le cose semplici:uso il rosso per un server di produzione, il verde per un server di sviluppo e il giallo per un test o qualche altro sistema remoto.

Ci sono molte opzioni che puoi usare per sovrascrivere le tue impostazioni predefinite all'avvio. Per vederli tutti, fare riferimento al manuale di rxvt.

Schede

Il terminale rxvt è estensibile tramite Perl. Che tu conosca o meno Perl è in gran parte irrilevante, perché molte delle funzionalità fornite da Perl sono già in bundle con rxvt in /usr/lib64/urxvt/perl/ .

Una delle mie estensioni preferite è l'interfaccia a schede, che è una convenzione relativamente moderna di emulatori di terminale di cui nessuno dovrebbe fare a meno, inclusi gli utenti rxvt. Per attivare l'interfaccia a schede in rxvt, apri ~/.Xdefaults e aggiungi queste righe di configurazione:

!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

Unisci la tua configurazione con xrdb e quindi riavvia rxvt.

Dopo il riavvio, hai un indice delle schede nella parte superiore del terminale. Le voci predefinite sono [NUOVO] e 1 . Queste voci sono selezionabili. Puoi fare clic su [NUOVO] voce per aprire una nuova scheda e puoi fare clic su un numero per passare a quella scheda.

Puoi anche interagire con le tue schede utilizzando la tastiera:

  • Cambio +Freccia giù apre una nuova scheda
  • Cambio +Freccia sinistra attiva la scheda precedente
  • Cambio +Freccia destra attiva la scheda successiva
  • Ctrl +Freccia sinistra sposta la scheda corrente a sinistra
  • Ctrl +Freccia destra sposta la scheda corrente a destra
  • Ctrl +D chiude la scheda corrente

Ci sono molte altre estensioni Perl che puoi e dovresti provare. Ad esempio, l'estensione Kuake mostra e nasconde il tuo terminale rxvt premendo un tasto di scelta rapida globale (Ctrl +F10 per impostazione predefinita).

Clic di navigazione

La maggior parte dei terminali non si comporta molto come editor di testo, anche se è più o meno come appaiono. Ad esempio, se avvii un comando come echo ello e poi decidi che volevi digitare ciao , non puoi semplicemente fare clic sulla e per inviare il cursore lì per una rapida modifica. Invece, devi premere la Freccia sinistra tasto quattro volte, o forse conosci la scorciatoia Alt +B per eseguire il backup di una stringa. Il terminale rxvt lo cambia.

In rxvt, puoi premere MAIUSC +Pulsante sinistro del mouse per riposizionare il cursore ovunque sulla stessa riga di un comando che stai digitando. Il modo in cui rxvt realizza questo è calcolando e quindi emettendo il numero di pressioni dei tasti cursore sinistro o cursore destro necessarie affinché il cursore cambi la sua posizione. Il risultato è un'esperienza familiare a chiunque abbia mai utilizzato un qualsiasi editor di testo, ed è una piccola e rapida comodità che apprezzerai anche se non lo usi sempre (dopotutto, sono necessarie le dita per allontanati dalle tue chiavi).

Caratteristiche, caratteristiche, caratteristiche

Ci sono più funzioni in rxvt di quelle elencate qui. Il modo per trovarli è usare rxvt come terminale e cercare modi per risolvere le cose che ti infastidiscono nel lavorare in un terminale o nel lavorare con un vecchio "obsoleto" come rxvt. Sarai sorpreso di ciò che troverai.


Linux
  1. Perché uso Linux per gestire il mio studio di yoga

  2. Usa XMLStarlet per analizzare XML nel terminale Linux

  3. Usa il tuo terminale Linux per celebrare un anno eccezionale

  4. Come usare vi per modificare un comando nel terminale su Linux?

  5. Perché si dovrebbe usare sudo?

I 10 motivi principali per utilizzare Linux

Come utilizzare il terminale Linux in Android

Perché i nerd usano Linux

Come utilizzare Instagram nel terminale

Come utilizzare Terminale in cPanel?

Linux vs Mac OS:15 motivi per utilizzare Linux invece di Mac OS