GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum ich rxvt als Terminal verwende

Ich bin ein Fan von Konsole und GNOME Terminal und verwende beide regelmäßig. Es sind großartige Projekte, und sie stellen moderne Terminals dar, die die Bedürfnisse von Benutzern erfüllen, die ihren Tag in einer Shell verbringen, sowie von Benutzern, die nur hin und wieder in eine Unix-Shell eintauchen. Sie integrieren sich gut in eine Desktop-Umgebung und überbrücken die Lücke zwischen allgemeinen GUI-Aufgaben und allgemeinen Shell-Aufgaben. Ich benutze GNOME Terminal bei der Arbeit und Konsole zu Hause, und ich genieße beides. Nachdem ich jedoch mit dem rxvt-unicode-Terminal vertraut gemacht wurde, bin ich aufgrund seiner Einfachheit, Portabilität und Erweiterbarkeit ein Benutzer geblieben, seit ich anfing, es mit Slackware Linux 12 zu verwenden.

Hier ist der Grund und noch wichtiger, wie ich rxvt als mein Standardterminal verwende.

Es ist leicht

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Einer meiner persönlichen Haushaltstricks (und Beiträge zum umweltfreundlichen Reparatur- und Wiederverwendungsgedanken) ist es, niemals neue Hardware zu kaufen, sondern einen perfekt nutzbaren Computer für meinen persönlichen Laptop zu "retten". (Mein persönlicher Laptop war ein „Upcycling“-iBook von 2004, auf dem Debian Linux lief, bis sein Bildschirm 2017 irreparabel wurde.) Einer der entscheidenden Vorteile von Open Source ist, dass Sie die neueste erforderliche Software mit den neuesten Sicherheitspatches ausführen können leichte Anwendungen. Diese Anwendungen, einschließlich des Desktops selbst, berühren kaum wertvolle Systemressourcen, die auf alternden Computern normalerweise begrenzt sind. Das rxvt-Terminal ist relativ klein; etwas kräftiger als xterm, aber viel weniger anspruchsvoll als GNOME Terminal und Konsole.

Es ist unverwechselbar

Ein einfaches Terminal hilft bei der Trennung von Desktop-Funktionen (wie Drag-and-Drop, was rxvt nicht tut bereitstellen) von Terminalfunktionen (Dinge, die Sie beispielsweise über SSH tun können). Benutzer, die neu in der Arbeit mit Remote-Systemen sind, können verwirrt darüber sein, was das Terminal darstellt, besonders wenn es so gut in den Rest ihrer Computer integriert ist. Manchmal ist es sinnvoll, eine deutliche Trennung zwischen der lokalen Umgebung und Remote-Systemen beizubehalten. Das ist natürlich keine Absicht; Es ist wohl ein Manko von rxvt und ähnlichen einfachen Terminal-Emulatoren, dass sie keine Drag-and-Drop-Aktionen akzeptieren oder ausgefallene Kontextmenüs bereitstellen (dazu später mehr), aber es kann ein überraschender Vorteil sein.

Darüber hinaus zwingt Sie das Erlernen einer einfachen Terminalschnittstelle dazu, das zu erweitern, was Sie unter einer verwendbaren Schnittstelle verstehen. Sobald Sie gelernt haben, rxvt effektiv zu verwenden, werden Sie vielleicht feststellen, dass Eshell und xterm und sogar die bescheidene TTY-Schnittstelle ihren Zweck erfüllen. Sie lernen, Low-Spec-Terminals zu verwenden, weil Sie wissen, was ein Terminal braucht und was nur nice to have ist hat sich in Richtung Einfachheit verschoben.

Installation von rxvt

Der Fork von rxvt, den ich empfehle, wird in Software-Repositories normalerweise als rxvt-unicode bezeichnet und kann einen Starter namens URxvt oder ähnlich bereitstellen. Es ist eine kleine Anwendung, die nicht viel aus dem Quellcode erstellt werden muss, aber die meisten Linux-Distributionen bieten sie an, sodass sie mit Ihrem Paketmanager installiert werden kann.

Unter Fedora, CentOS oder RHEL:

$ sudo dnf install rxvt-unicode

Unter Debian und Ubuntu:

$ sudo apt install rxvt-unicode

Bei anderen, wie Slackware, ist rxvt möglicherweise bereits enthalten.

Die standardmäßige rxvt-Schnittstelle ist (täuschend) einfach und ziemlich schlicht.

Sie sind vielleicht daran gewöhnt, Ihre Schnittstellen mit einem Einstellungsfenster auf GNOME Terminal oder Konsole anzupassen, aber für rxvt nehmen Sie Änderungen in einer Textdatei vor.

Anpassen von rxvt

Eine der Schönheiten von rxvt ist seine Klartext-Konfigurationsdatei, die xrdb-Eigenschaften enthält. Das xrdb-Subsystem ist das X-Server-Ressourcendatenbankdienstprogramm, das Benutzereinstellungen für X11-Anwendungen verwaltet. Es ist üblich, Ihre Einstellungen in einer Datei namens ~/.Xdefaults abzulegen und diese Einstellungen dann in die xrdb-Datenbank einzufügen.

Die einfachste Anpassung sind Grundfarben. Um zu sehen, welche Farben und andere Eigenschaften Sie in rxvt definieren können, lesen Sie die Manpage:

$ man urxvt

Zum Anpassen des Erscheinungsbilds Ihres Fensters identifiziert die Manpage das Präfix URxvt, gefolgt von den Farben 0 bis 15 . Mit Hex-Codes aus jedem Linux-Farbwähler können Sie für jede ANSI-Farbe Ihren eigenen Ton festlegen. Hier ist ein solarisiertes Design mit Kommentaren:

! 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

Bei so vielen Farben für Ihren Text bevorzugen Sie vielleicht einen dunklen Hintergrund. Mit rxvt-unicode können Sie sogar einen teilweise transparenten Hintergrund mit einem gewissen Prozentsatz an Deckkraft festlegen (100 ist vollständig undurchsichtig und 0 ist unsichtbar).

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

Sie können den Text auch auf eine beliebige Schriftart einstellen, die Sie auf Ihrem System installiert haben. So stellen Sie beispielsweise Ihre Schriftart auf Fantasque Sans Mono bei 21 Punkten ein:

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

Um Änderungen in .Xdefaults zu implementieren , führen Sie xrdb aus Befehl:

$ xrdb -merge .Xdefaults

Starten Sie dann xrvt neu. Hier sind die Ergebnisse (beachten Sie, dass das Hintergrundbild meines Desktops leicht durchscheint):

Sie können auch das Erscheinungsbild der Bildlaufleiste anpassen:

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

Es sind viele weitere Optionen verfügbar, die im rxvt-Handbuch aufgelistet sind, also probieren Sie diejenigen aus, die Ihnen gefallen. Um alle URxvt. anzuzeigen Eigenschaften, geben Sie Folgendes ein:

urxvt --help

Wenn Sie rxvt ausprobieren, stellen Sie vielleicht fest, dass es bestimmte moderne Konventionen wie Strg nicht unterstützt +C zum Kopieren Strg +V zum Einfügen, Drag-and-Drop, ein Rechtsklick-Kontextmenü und so weiter. Die Dinge sind jedoch nicht unbedingt so, wie sie scheinen:rxvt hat eine Vielzahl von Funktionen; sie sind einfach "versteckt" (zumindest aus moderner Sicht) in einem Paradigma, an das Sie vielleicht nicht gewöhnt sind.

Kopieren und einfügen

Wenn Sie kopieren und einfügen möchten, gibt es verschiedene Möglichkeiten, dies zu tun. Der "offensichtliche" Weg für einen erfahrenen Linux-Benutzer ist der Trick des X Window Systems, mit der mittleren Maustaste zu klicken, um den Inhalt Ihrer primären Zwischenablage einzufügen. rxvt bietet jedoch mehr als nur das:Halten Sie Strg gedrückt + Rechte Maustaste über eine Auswahl in rxvt, und ein Kontextmenü mit Optionen zum Kopieren und Einfügen wird angezeigt. Sobald das Menü erscheint, können Sie die Strg-Taste loslassen Taste, aber Sie müssen die rechte Maustaste gedrückt halten, bis Sie Ihre Auswahl getroffen haben.

Zeilenumbrüche in Leerzeichen umwandeln

Manchmal tippen Sie eine Funktion oder Schleife in Ihre Shell ein oder kopieren eine von einer Website, aber dann entscheiden Sie, dass Sie sie bearbeiten müssen, bevor Sie sie ausführen. Das Problem ist, dass ein Befehl mit Zeilenumbrüchen mit > notiert wird Zeichen:

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

Wenn Sie das in Ihr Terminal einfügen, neu > Zeichen werden bei jedem Newline-Zeichen eingefügt, was zu Folgendem führt:

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

Sie können sie bearbeiten, aber es ist ein wenig umständlich, in einem Terminal zeilenübergreifend zu arbeiten, da es die Aufwärts- und Abwärtspfeile verwendet, um durch Ihren Verlauf zu blättern. Sie könnten den Befehl ausführen und dann im Verlauf zu ihm zurückkehren, was mehrzeilige Befehle in eine Zeile umwandelt, aber Sie möchten einen Befehl nicht immer ausführen, damit Sie ihn bearbeiten können.

Wenn Sie etwas von einer Website einfügen, können Sie auf ein ähnliches Problem stoßen:Eine Folge von Befehlen enthält möglicherweise nicht > Symbole, aber sie haben wahrscheinlich eingebettete Zeilenumbruchzeichen, die Ihr Terminal beim Einfügen dazu auffordern, den Befehl sofort auszuführen.

Ein nettes Bonusfeature in rxvt ist der Zeilenumbruch zu Leerzeichen Option in der Auswahl Speisekarte. Dadurch wird der Inhalt Ihrer Zwischenablage so bearbeitet, dass Zeilenumbruchzeichen zu Leerzeichen werden, was bedeutet, dass ein Codeblock auf eine einfach zu bearbeitende Zeile reduziert wird, wenn Sie ihn in rxvt einfügen. Bei Befehlen, die Sie von einer Website einfügen, gehen alle eingebetteten Zeilenumbruchzeichen verloren, sodass sie nicht automatisch ausgeführt werden, nachdem Sie sie eingefügt haben. Dies ist nicht der Fall konvertieren > Zeichen in Leerzeichen umzuwandeln, also müssen Sie diese immer noch herausschneiden, wenn sie da sind, aber das ist viel einfacher, wenn alles in einer Zeile steht:

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

Die Zeilenumbrüche in Leerzeichen Funktion ist eine dieser kleineren Funktionen, die ich ständig benutze, weil ich mir fast immer Notizen in Ordnern hinterlasse, welche Befehle ausgeführt werden müssen, um eine unregelmäßige Aufgabe zu erledigen, die ich nur gelegentlich erledige. Unweigerlich möchte ich den Befehl ändern, wenn ich ihn erneut ausführe, daher ist es schön, wenn ich sicherstellen kann, dass der Befehl einfach zu bearbeiten ist, bevor ich ihn ausführe. Allein diese Funktion könnte der wahre Grund sein, warum ich bei rxvt geblieben bin all die Jahre.

Einstellungsmenü

Drücken Sie für schnellen Zugriff auf allgemeine Terminal-Einstellungsoptionen Strg + mittlere Maustaste um die Optionen umzuschalten Menü ein und aus. In diesem Menü können Sie festlegen, ob Ihr Cursor blinkt, ob das Terminal eine visuelle Glocke verwendet, und viele andere Einstellungen, die in Ihren .Xdefaults festgelegt werden können Datei. Im Gegensatz zur Auswahl angezeigt wird, bleibt dieses Menü als schwebendes Menü bestehen, bis Sie Strg drücken + mittlere Maustaste nochmal.

Cheats starten

Ein weiteres großartiges Feature von rxvt ist, dass es beim Start schnell mit Befehlsoptionen angepasst werden kann. Ich verwende dies immer dann, wenn ich weiß, dass ich viel Zeit in einer SSH-Sitzung zu einem entfernten Host verbringen werde, weil ich möchte, dass es völlig klar ist, welches Terminal welche Sitzung enthält (es gibt nichts Schlimmeres als ein sudo poweroff Befehl, der an den Produktionsserver statt an den Entwicklungsserver ausgegeben wird). Unabhängig davon, wie Sie Ihr Standard-rxvt thematisiert haben, können Sie ein rxvt-Terminal mit einer beliebigen Auswahl an Vordergrund-, Hintergrund- und Cursorfarben starten (-fg , -bg und -cr , bzw). Sie können auch einen Rahmen für zusätzliche Hervorhebung hinzufügen:

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

Ich neige dazu, die Dinge einfach zu halten:Ich verwende Rot für einen Produktionsserver, Grün für einen Entwicklungsserver und Gelb für ein Test- oder ein anderes Remote-System.

Es gibt viele Optionen, mit denen Sie Ihre Standardeinstellungen beim Start überschreiben können. Um sie alle zu sehen, lesen Sie das rxvt-Handbuch.

Tabs

Das rxvt-Terminal ist über Perl erweiterbar. Ob Sie Perl kennen oder nicht, ist weitgehend irrelevant, da viele der von Perl bereitgestellten Funktionen bereits mit rxvt in /usr/lib64/urxvt/perl/ gebündelt sind .

Eine meiner Lieblingserweiterungen ist die Oberfläche mit Registerkarten, eine relativ moderne Konvention von Terminalemulatoren, auf die niemand verzichten muss – rxvt-Benutzer eingeschlossen. Um die Oberfläche mit Registerkarten in rxvt zu aktivieren, öffnen Sie ~/.Xdefaults und fügen Sie diese Konfigurationszeilen hinzu:

!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

Führen Sie Ihre Konfiguration mit xrdb zusammen und starten Sie dann rxvt neu.

Nach dem Neustart haben Sie oben in Ihrem Terminal einen Registerkartenindex. Die Standardeinträge sind [NEU] und 1 . Diese Einträge sind anklickbar. Sie können auf [NEU] klicken Eintrag, um eine neue Registerkarte zu öffnen, und Sie können auf eine Zahl klicken, um zu dieser Registerkarte zu wechseln.

Sie können auch über die Tastatur mit Ihren Tabs interagieren:

  • Umschalten + Pfeil nach unten öffnet einen neuen Tab
  • Umschalten + Pfeil nach links aktiviert den vorherigen Reiter
  • Umschalten + Rechtspfeil aktiviert den nächsten Reiter
  • Strg + Pfeil nach links Verschiebt den aktuellen Tab nach links
  • Strg + Rechtspfeil Verschiebt den aktuellen Tab nach rechts
  • Strg +D schließt den aktuellen Tab

Es gibt viele weitere Perl-Erweiterungen, die Sie ausprobieren können und sollten. Zum Beispiel zeigt die Kuake-Erweiterung Ihr rxvt-Terminal beim Drücken eines globalen Hotkeys (Strg) an und verbirgt es +F10 standardmäßig).

Klicknavigation

Die meisten Terminals verhalten sich nicht sehr wie Texteditoren, obwohl sie ziemlich genau so aussehen. Zum Beispiel, wenn Sie einen Befehl wie echo ello starten und entscheide dann, dass du hello eingeben wolltest , können Sie nicht einfach auf das e klicken um Ihren Cursor für eine schnelle Bearbeitung dorthin zu senden. Stattdessen müssen Sie den Linkspfeil drücken viermal drücken, oder vielleicht kennen Sie die Tastenkombination Alt +B um eine Saite zu sichern. Das rxvt-Terminal ändert das.

In rxvt können Sie Shift drücken + Linke Maustaste um Ihren Cursor an einer beliebigen Stelle in derselben Zeile eines Befehls neu zu positionieren, den Sie gerade eingeben. Die Art und Weise, wie rxvt dies erreicht, besteht darin, die Anzahl der Cursor-Links- oder Cursor-Rechts-Tastendrücke zu berechnen und dann auszugeben, die erforderlich sind, damit der Cursor seine Position ändert. Das Ergebnis ist eine Erfahrung, die jedem vertraut ist, der jemals einen Texteditor verwendet hat, und es ist eine kleine und schnelle Annehmlichkeit, die Sie zu schätzen wissen werden, auch wenn Sie es nicht die ganze Zeit verwenden (schließlich brauchen Sie dazu Ihre Finger). entfernen Sie sich von Ihren Schlüsseln).

Funktionen, Funktionen, Funktionen

Es gibt mehr Funktionen in rxvt als die hier aufgelisteten. Der Weg, sie zu finden, besteht darin, rxvt als Ihr Terminal zu verwenden und nach Wegen zu suchen, die Dinge zu lösen, die Sie daran stören, in einem Terminal zu arbeiten oder mit einem alten "veralteten" Terminal wie rxvt zu arbeiten. Sie werden überrascht sein, was Sie finden.


Linux
  1. Warum ich Linux verwende, um mein Yogastudio zu verwalten

  2. Verwenden Sie XMLStarlet, um XML im Linux-Terminal zu parsen

  3. Wie verwende ich vi, um einen Befehl im Terminal unter Linux zu bearbeiten?

  4. Warum shm_open verwenden?

  5. Warum sollte man sudo verwenden?

Die 10 wichtigsten Gründe für die Verwendung von Linux

So verwenden Sie das Linux-Terminal in Android

Warum Nerds Linux verwenden

So verwenden Sie Instagram im Terminal

Wie verwende ich das Terminal in cPanel?

Linux vs. Mac OS:15 Gründe, warum Sie Linux anstelle von Mac OS verwenden sollten