Ich habe gerade einen Freund mit GNU Screen bekannt gemacht, und es fällt ihnen schwer, sich daran zu gewöhnen. Das lässt mich über die wesentlichen Dinge nachdenken, die er über das hervorragende Bildschirmdienstprogramm wissen muss , die gleichen Dinge, die Sie für sinnvoll halten würden, um jemanden, einen Anfänger, von Grund auf zu unterrichten. Was sind einige Analogien und nützliche Tipps zum Erinnern an Bindungen usw.?
Es wäre großartig.
gnu-screen
Henry B.
quelle
quelle
Antworten:
Ich benutze
Screen
seit über 10 Jahren und benutze wahrscheinlich weniger als die Hälfte der Funktionen. Es ist also definitiv nicht notwendig, alle Funktionen sofort zu erlernen (und ich würde nicht empfehlen, es zu versuchen). Meine täglichen Befehle sind:Ich denke das ist es. Ich benutze manchmal die Split-Screen-Funktionen, aber sicher nicht täglich. Der andere Tipp ist, wenn der Bildschirm blockiert zu sein scheint, weil Sie versehentlich eine zufällige Tastenkombination gedrückt haben, tun Sie beides
^Q
und^A ^Q
versuchen Sie, ihn zu entsperren.quelle
exit
). Das Bildschirmfenster wird automatisch geschlossen, nachdem die letzte Shell in einem Fenster verlassen wurde.Ich konnte mich nicht an den Bildschirm gewöhnen, bis ich eine Möglichkeit gefunden hatte, eine Statusleiste am unteren Bildschirmrand festzulegen, die anzeigt, auf welcher Registerkarte oder auf welchem virtuellen Bildschirm Sie sich befinden und welche anderen es gibt. Hier ist mein Setup:
quelle
Ctrl+ A? - Zeige den Hilfebildschirm!
quelle
Wenn Ihr Freund die Gewohnheit hat, zu drücken
^A
, um in Bash an den Anfang der Zeile zu gelangen, wartet er auf einige Überraschungen, da^A
die Bildschirmbefehlstaste gebunden ist. Normalerweise habe ich einen eingefrorenen Bildschirm, möglicherweise aufgrund einer zufälligen Taste, die ich nachher gedrückt habe^A
:-)In diesen Fällen versuche ich es
^A s
und^A q
Blockieren / Entsperren des Terminal-Bildlaufsum das zu beheben. Um zum Anfang einer Zeile innerhalb des Bildschirms zu gelangen, lautet die Tastenfolge
^A a
.quelle
Sie können die Escape-Taste von Ctrl+ neu zuordnen, um Aeine andere Taste Ihrer Wahl zu sein. Wenn Sie sie also für etwas anderes verwenden, z. B. um in Bash an den Anfang der Zeile zu gelangen, müssen Sie Ihrem ~ / nur eine Zeile hinzufügen. screenrc Datei. Um es ^ b oder ^ B zu machen, benutze:
Verwenden Sie in der Befehlszeile Namenssitzungen, um mehrere Sitzungen unter Kontrolle zu halten. Ich verwende eine Sitzung pro Aufgabe mit jeweils mehreren Registerkarten:
Bei Verwendung des Bildschirms benötigen Sie nur wenige Befehle:
Eine ausgezeichnete Kurzreferenz finden Sie hier . Es lohnt sich, ein Lesezeichen zu setzen.
quelle
screen -e^oo
damit ich dafür Strg + O verwenden kann, und beginne dann die inneren mit,screen -m
damit sie neue Sitzungen starten.^A :
gefolgt von\Bb
gefolgt von Enter die Escape - Taste , um ^ B einzustellen. Im Allgemeinen^A :
können Sie Befehle auswerten, die Sie.screenrc
verstehen.Einige Tipps für diejenigen, die mit dem Bildschirm vertraut sind, sich aber nicht an Dinge erinnern, die sie auf der Manpage gelesen haben:
.screenrc
Datei:Das weist ctrl+ a shift+ 0 through 9für Windows 10 bis 19 zu.
quelle
Ctrl+ Aist der Basisbefehl
Ctrl+ A N= gehe zum *** N *** ext Bildschirm
Ctrl+ A P= gehe zum *** P *** Revious-Bildschirm
Ctrl+ A C= *** C *** neuer Bildschirm
Ctrl+ A D= *** D *** Befestigen Sie Ihren Bildschirm
quelle
http://www.debian-administration.org/articles/34
Ich habe das vor ein paar Jahren geschrieben, aber es ist immer noch eine gute Einführung, die viele positive Rückmeldungen erhält.
quelle
$VAR1 = \'Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (111 "Connection refused") at ../lib/Singleton/DBI.pm line 95. ';
Ich muss das hinzufügen: hinzufügen
zu Ihrem
.screenrc
, wenn Sie - wie ich - geteilte Fenster verwendet haben, umC-a S
das eigentliche Fenster zu teilen , es aberC-a s
einfrieren. Also habe ich gerade die Freeze-Verknüpfung deaktiviert.quelle
^-Q
Entfriert, wenn Sie treffen^-S
Ctrl+ aist ein spezieller Schlüssel.
Ctrl+ a d- [d] etach, lass Programme (irssi?) im Hintergrund, gehe nach Hause.
Ctrl+ a c[c] ein neues Fenster erstellen Ctrl+ a 0-9zwischen Fenstern nach Nummer wechseln
screen -r - kehre zur getrennten Sitzung zurück
Das deckt 90% der Anwendungsfälle ab. Versuchen Sie nicht, alle Funktionen gleichzeitig anzuzeigen.
quelle
screen
ich verwirrt darüber, was es eigentlich bedeutete, einen Bildschirm abzunehmen und wieder anzubringen . Zitat : "... Sie können Aufgaben in verschiedenen Konsolen (wie ssh auf einem Remmote-Computer, IRC-Sitzungen usw.) auf einem bestimmten Computer ausführen, von der Sitzung trennen, von einem physischen Standort zu einem anderen wechseln und eine Verbindung herstellen die Maschine über ssh und erneut an die Bildschirmsitzung anschließen, um weiter zu arbeiten. "Nicht wirklich wichtig, nicht nur in Bezug auf den Bildschirm, aber die Aktivierung von 256 Farben in meinem Terminal, GNU Screen und Vim haben meine Bildschirmerfahrung erheblich verbessert (insbesondere, da ich in Vim ungefähr 8 Stunden am Tag codiere - es gibt einige großartige augenfreundliche Farbschemata).
quelle
Die erste Änderung, die ich an .screenrc vornehme, besteht darin, den Escape-Befehl zu ändern. Nicht anders als viele von Ihnen mag ich die Standard-Strg-A-Sequenz nicht, weil sie in fast jedem anderen Kontext diese grundlegende Funktionalität beeinträchtigt. In meiner .screenrc-Datei füge ich hinzu:
Flucht `e
Das ist Backtick-e.
Auf diese Weise kann ich den Backtick als Escape-Taste verwenden (z. B. um einen neuen Bildschirm zu erstellen, drücke ich Backtick-c, Trennen ist Backtick-d, Backtick-? Ist Hilfe, Backtick-Backtick ist vorheriger Bildschirm usw.). Die einzige Möglichkeit, die es stört (und ich musste mich von der Gewohnheit lösen), besteht darin, Backtick in der Befehlszeile zu verwenden, um die Ausführungsausgabe zu erfassen, oder alles einzufügen, das einen Backtick enthält. Für erstere habe ich meine Gewohnheit mithilfe der BASH $ (Befehl) -Konvention geändert. Für letzteres öffne ich normalerweise einfach ein anderes xterm oder entferne mich vom Bildschirm und füge dann den Inhalt ein, der den Backtick enthält. Wenn ich einen wörtlichen Backtick einfügen möchte, drücke ich einfach backtick-e.
quelle
In der nächsten Version von Ubuntu Server wird einige interessante Arbeit geleistet, um ein gutes GNU-Bildschirm-Setup zu erreichen. Dazu gehört, dass am unteren Bildschirmrand alle Fenster sowie andere nützliche Maschinendetails (wie die Anzahl der Updates) angezeigt werden verfügbar und ob der Computer einen Neustart benötigt). Sie können wahrscheinlich ihre greifen
.screenrc
und sie an Ihre Bedürfnisse anpassen.Die nützlichsten Befehle, die ich in meinem habe,
.screenrc
sind die folgenden:Auf diese Weise weiß ich immer, welche Fenster geöffnet sind und was gerade in ihnen läuft.
quelle
Ich benutze folgendes für
ssh
:Dann setze ich die folgenden Bash-Aliase:
Es öffnet sich ein neuer Bildschirm für die oben genannten Aliase. Wenn Sie ssh verwenden, wird der Bildschirmtitel mit dem ssh-Hostnamen umbenannt.
quelle
Ich möchte eine Bildschirmsitzung mit beschreibenden Namen für die Fenster einrichten. Mit ^ a A können Sie dem aktuellen Fenster einen Namen geben und mit ^ a "eine Liste Ihrer Fenster. Wenn Sie fertig sind, trennen Sie den Bildschirm mit ^ ad und hängen Sie ihn erneut mit screen -R an
quelle
Ich verwende gerne, um
screen -d -RR
automatisch einen bestimmten Bildschirm zu erstellen / an diesen anzuhängen. Ich habe Bash-Funktionen erstellt, um es einfacher zu machen ...Sie erstellen einen Alias für
/usr/bin/screen -d -RR -S $name $command
. Zum Beispiel verwende ich irssi gerne in einer Bildschirmsitzung, also habe ich in meiner .bashrc (unter diesen Funktionen):Dann kann ich einfach
irc
ein Terminal eingeben, um in irssi zu gelangen. Wenn der Bildschirm 'irc' noch nicht existiert, wird er erstellt und / usr / bin / irssi wird darauf ausgeführt (was natürlich automatisch eine Verbindung herstellt). Wenn es bereits ausgeführt wird, füge ich es einfach wieder hinzu und entferne zwangsweise jede andere Instanz, die bereits daran angehängt ist. Es ist ganz nett.Ein weiteres Beispiel ist das Erstellen temporärer Bildschirm-Aliase für Perldocs, wenn ich auf sie stoße:
Die Option -a (muss das erste Argument sein) hängt den Bildschirmalias an .bashrc an (damit er dauerhaft ist) und -d entfernt ihn (diese können möglicherweise destruktiv sein, daher auf eigenes Risiko verwenden). xD
Anhängen:
Ein weiterer Bash-Ismus, den ich praktisch finde, wenn ich viel mit dem Bildschirm arbeite:
Auf diese Weise können Sie Ihre Bildschirme mit viel weniger Tastenanschlägen auflisten. Ich weiß nicht, ob es
sls
mit vorhandenen Dienstprogrammen kollidiert, aber es war zu diesem Zeitpunkt auf meinem System nicht der Fall, also habe ich mich dafür entschieden.quelle
^ AA wechselt zurück zu dem Bildschirm, von dem Sie gerade gekommen sind.
quelle
Ctrl+ Aist eine großartige Sonderfigur für Unix-Benutzer, aber wenn Sie den Bildschirm verwenden, um mit OpenVMS zu sprechen , werden Sie vorzeitig kahl nicht in der Lage sind, ^ A zu verwenden.
Wenn Sie in VMS einen DCL- Befehl vor der Ausführung aus dem Verlaufspuffer bearbeiten , ist der Einfügemodus deaktiviert (dies muss aus einigen Gründen geschehen, auf die ich hier nicht eingehen werde) ... um ihn einzuschalten, damit Sie ihn nicht aktivieren Wenn Sie Ihren Befehl nicht übertippen, anstatt Dinge auszuräumen, müssen Sie `^ A drücken.
quelle
screen -e ^Ll
aus ähnlichen Gründen; Ich kann es einfach nicht verlernen, Strg-A einzugeben, um zum Zeilenanfang in Emacs zu gelangen. Glücklicherweise ist Strg-L ein Tastenanschlag, den ich selten brauche, und es verbindet sich meiner Meinung nach gut mit seiner allgemeinen Bedeutung (Neuzeichnen / Löschen des Bildschirms)..screenrc
hasescape ^@^@
, das das Nullzeichen anstelle von control-A verwendet. Auf den meisten Systemen können Sie das Nullzeichen als Kontrollraum eingeben, was sehr einfach einzugeben ist. (Ich habe eine verschachtelte Bildschirmsitzung in einem Fenster in meiner Hauptsitzung; für diese habe ichescape ^]^]
.)