Definieren Sie ein großes GNU-Bildschirmprofil mit .screenrc

Inhalt

Bildschirm, das Linux-Dienstprogramm, mit dem Sie einen "Bildschirm" starten können’ in einem Terminal, es ist standardmäßig ein wenig falsch konfiguriert. Erfahren Sie, wie Sie ein großartiges Bildschirmprofil erstellen, das bei jeder Verwendung des Bildschirms automatisch geladen wird.

Was ist es Bildschirm?

Screen ist ein GNU-Dienstprogramm (GNU ist eine großartige Sammlung von Open-Source-Software, und ihre Gruppierung zu einem Betriebssystem ist allgemein bekannt als Linux) wodurch Sie einen oder mehrere Bildschirme in Ihrem Terminal starten können.

Sie fragen sich vielleicht, warum ich einen Bildschirm in meinem Terminal starten möchte, und kann einstellen Bildschirm besser / weiter weg? Sicher. Stellen Sie sich vor, Sie verwenden einen entfernten SSH-Server und, plötzlich, Ihre Netzwerkverbindung ist unterbrochen, mitten in der Datenbankmigration oder Produktionssicherung, die in Ihrem Terminalfenster lief. Es passiert regelmäßig, und das Problem ist, dass jeder Befehl, der ausgeführt wurde, als die Verbindung unterbrochen wurde, jetzt beendet wird, egal in welchem ​​zustand du warst.

Diese eindeutig ärgerliche Situation möchten Sie unbedingt vermeiden.. Sie können das System oder Softwarepaket nicht nur in einem undefinierten Zustand belassen, aber die ganze bisher geleistete arbeit kann einfach verloren gehen.

Willkommen zu screen, das Linux-Dienstprogramm, mit dem Sie eine virtuelle Terminalsitzung starten können (ein ‘Bildschirm‘) innerhalb Ihrer Terminalsitzung, mit dem großen und großen Vorteil, dass die Bildschirmsitzung nicht jedes Mal beendet wird, wenn die Netzwerkverbindung unterbrochen wird, oder wenn Sie die Terminalsitzung schließen, die das gestartete screen Sitzung (das Elternverfahren). Sie können einfach warten, bis Ihre Netzwerkverbindung wiederhergestellt ist, oder öffnen Sie ein anderes Terminal, wenn Sie nicht über SSH verbunden sind und nur auf dem lokalen Computer arbeiten, und verbinden Sie sich einfach wieder mit Ihrer Bildschirmsitzung.

Exzellent? Lass uns schnell installieren Bildschirm dann, falls du es noch nicht gemacht hast:

installieren Bildschirm

Installieren Bildschirm auf Ihrer Debian-basierten Linux-Distribution / Geeignet (wie Ubuntu und Mint), Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo apt install screen

Installieren Bildschirm auf Ihrer RedHat-basierten Linux-Distribution / Yum (wie RHEL, Centos und Fedora), Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo yum install screen

Jetzt ist der Bildschirm installiert, Sie können es sofort verwenden. Renn einfach screen in der Kommandozeile und schon bist du drin. Möglicherweise müssen Sie die Eingabetaste oder die Leertaste drücken, um durch die screen Willkommensbildschirm.

Der Willkommensbildschirm des Linux-GNU-Bildschirms

Sie sehen eine neue Eingabeaufforderung. Drücken Sie die Tastenfolge CTRL+a > CTRL+d um zur Eingabeaufforderung der Haupt-Shell-Sitzung zurückzukehren. Dann, ausführen können screen -ls um eine Liste der aktiven Bildschirmsitzungen anzuzeigen. Schreiben Sie den Befehl (in der Hauptshell sind Sie jetzt, wenn Sie dem Text identisch gefolgt sind), screen -d -r bringt dich zurück zu screen Sitzung, solange es nur eine aktive Bildschirmsitzung gibt (kann viele anfangen).

Wenn auf Ihrem System mehr als eine Bildschirmsitzung ausgeführt wird (und es ist sein Eigentum), du kannst Tippen screen -d -r NAME wo NAME ist der Name eines Bildschirms gemäß der Liste screen -ls, als Beispiel 367434.pts-1.roel1, auch wenn Sie nur einen Teil vor oder nach dem Punkt angeben (Was 367 Ö pts), die eine bestimmte Bildschirmsitzung immer noch eindeutig identifiziert, es reicht auch.

Mal sehen, wie wir jetzt ein tolles Bildschirmprofil einrichten können, basierend auf einem Auszug aus setup_server.sh, befindet sich im Percona-QA GitHub-Repository (GPLv2-lizenziert), ein Skript, das erstellt wurde, um einen Server für QA-Tests zu konfigurieren. Ich empfehle nicht, dieses Skript auszuführen, da es veraltet ist, dient nur als Referenz und, im Allgemeinen, Schritt für Schritt manuell ausführen. Der einzige Abschnitt, den wir verwenden werden, ist der .screenrc Code, unten wiedergegeben.

Definieren einer großen .screenrc-Konfiguration

das .screenrc Die Datei ist eine Konfigurationsdatei, die in Ihrem Home-Verzeichnis versteckt ist. Um es zu bearbeiten (wahrscheinlich existiert es noch nicht, vor allem wenn du gerade installiert hast screen, Verwenden Sie einfach Ihren bevorzugten Texteditor und öffnen Sie die Datei ~/.screenrc. Wenn Sie Erfahrung mit Vim haben, Sie können einfach Ihre Terminal-Eingabeaufforderung eingeben vi ~/.screenrc. Weitere Informationen zu Vi / Vim, Lesen Sie unseren Beitrag Erstellen eines großartigen Vim-Profils mit .vimrc.

Sobald Sie geöffnet haben ~/.screenrc, füge einfach den folgenden Textblock hinzu:

# Allgemeine vbell-Einstellungen in vbell_msg '! Glocke!' autodetach en startup_message off defscrollback 10000 # Termcapinfo für xterm termcapinfo xterm * Z0 = E[?3h:Z1=E[?3l:ist=E[betreffend[mich[2IST[ER[?7er[?1;4;6l   # Do not resize window
termcapinfo xterm* OL=1000                                                    # Erhöhen Sie den Ausgabepuffer für Geschwindigkeit

# Remove various keyboard bindings
bind x    # Do not lock screen
bind ^x   # Idem
bind h    # Do not write out copy of screen to disk
bind ^h   # Idem
bind ^   # Do not kill all windows/exit screen
bind .    # Deaktivieren Sie die Dump-Term-Obergrenze

# Add keyboard bindings
bind } history
bind k kill

Unsere .screenrc-Vorlage

Wenn Sie keinen Texteditor verwenden möchten, oder wollen irgendwie die Installation von diesem scripten .screenrc Datei in viele Systeme, Sie könnten stattdessen den folgenden Code verwenden, was wird – wann immer eingefügt, oder von einem anderen Skript ausgeführt werden, die Datei erstellen ~/.screenrc für den Benutzer, der das Skript ausführt. Nennen wir unser Skript make_screenrc.sh oder ähnliches.

#!/bin/bash
# Create screen script ~/.screenrc
touch ~/.screenrc
if [ -Mit "$(Katze ~/.screenrc|grep 'termcapinfo xterm')" ];  nach Kat << EOF> ~ / .screenrc # Allgemeine Konfiguration vbell auf vbell_msg '! Glocke!' autodetach on startup_message off defscrollback 10000 # Termcapinfo für xterm termcapinfo xterm * Z0 = E[? 3h: Z1 = E[? 3l: ist = E[betreffend[mich[2J E[ER[ ? 7er[? 1; 4; 6l # Ändern Sie die Größe des termcapinfo xterm-Fensters nicht * OL = 1000 # Erhöhen Sie den Ausgabepuffer für die Geschwindigkeit # Entfernen Sie mehrere Tastaturlinks bind x # Bildschirmlink nicht blockieren ^ x # Idem enlazar h # Schreibe keine Bildschirmkopie auf den Festplattenlink ^ h # Idem enlazar ^  # Töte nicht alle Fenster / Bildschirmverbindung beenden.  # Deshabilitar Dump Laufzeitbegrenzung # Tastaturbindungslinks hinzufügen} Geschichte bind k kill EOF fi

Das Skript gibt eine Reihe von Einstellungen vor, und die meisten der hier gezeigten sind selbsterklärend. Als Beispiel, startup_message off schalte einfach den Begrüßungsbildschirm aus, den wir vorhin gesehen haben. defscrollback 10000 setzt unser rückwärts scrollen auf 10000 Linien (kann in den Scroll-Modus wechseln / Bearbeiten durch Drücken der Tastenfolge CTRL+a > CTRL+ESC und Sie können es daher beenden, indem Sie ein- oder zweimal ESC drücken).

Wir aktivieren auch eine virtuelle Glocke (da wir den Lautsprecherton von einem entfernten Server nicht hören können) Verwendung der vbell on und vbell_msg '!Bell!' Befehle, die die virtuelle Klingelnachricht in . konfigurieren '!Bell!'. Trotz dieses, Ich habe festgestellt, dass die virtuelle Haube oft nicht funktioniert.

Nächste, wir etablieren einige termcapinfo Codes zum Erweitern des Ausgabepuffers und Anpassen der Fenstergröße. Außerdem haben wir einige potenziell nervige Tastenkombinationen entfernt und einige nützliche Tastatureinstellungen hinzugefügt..

Alles, was wir tun werden, um dieses neue zu aktivieren .screenrc Einstellung ist, ein neues zu öffnen screen Sitzung. Jetzt profitieren wir von der neu etablierten Konfiguration.

Ende

Einen großen Fehler definieren .screenrc die Datei hilft bei der Verwendung screen viel. Schalten Sie den Begrüßungsbildschirm aus, die Erhöhung des Rückwärts-Scrollens und die Verbesserung des Ausgabepuffers für die Geschwindigkeit sind nur einige der Dinge, die wir in unserem .screenrc Vorlage. Viel Spaß mit dem Bildschirm und der .screenrc-Vorlage!!

Abonnieren Sie unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.