
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.
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
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!!