Wie lade ich screenrc neu, ohne screen neu zu starten?

90

Wie kann man nach der Änderung von screenrc die Änderungen sehen, ohne den Bildschirm neu zu starten?

garconcn
quelle

Antworten:

103

Sie könnten versuchen Ctrl- .a : source ~/.screenrc

Dennis Williamson
quelle
7
Die Beschaffung der Datei sollte funktionieren. Abnehmen und erneutes Anbringen ist nicht möglich.
Zed
1
@Zed: Aber es wird das termcap / terminfo-Zeug erneut anwenden, was nicht passieren wird, wenn Sie es verwenden source.
Dennis Williamson
@Dennis, ich habe versucht, es zu lösen und wieder anzubringen, und es hat nicht funktioniert, daher kam ich, um diese Frage zu stellen. Mit source können auch alle Fenster von .screenrc geöffnet werden. Die Sitzung wird jedoch nicht aktualisiert, sondern es werden in einer Sitzung doppelte Fenster erstellt. Vielen Dank.
Garconcn
3
Die Verwendung von "source" ist die richtige (und einzige) Möglichkeit, den Bildschirm in einer laufenden Sitzung erneut auszulesen. Ja, dies bedeutet, dass alle darin enthaltenen Befehle erneut ausgeführt werden, einschließlich der Befehle, mit denen Fenster oder Layouts erstellt werden. Sie können die Datei bearbeiten, um die Befehle auszukommentieren, mit denen die neuen Fenster / Layouts erstellt werden. Quelle der Datei; und dann diese Zeilen auskommentieren. Natürlich, wenn es die Fenstererstellung ist, die Sie testen möchten, haben Sie hier nicht viel Auswahl ...
James Polley
8
@garconcn: Wenn dies etwas ist, das Sie möglicherweise häufig tun, speichern Sie diese Informationen (Anweisungen, die keine Anweisungen für die Bildschirmerstellung sind ) in einer zweiten Datei und geben Sie sourcesie ab .screenrc(die Anweisungen für die Bildschirmerstellung enthalten), damit Sie sie regelmäßig starten können und wenn Sie sourcesie später erneut benötigen screenhat bereits begonnen, einfach "ctrl-a: source secondary-file" ausführen, um die Bildschirmerstellung zu überspringen.
Dennis Williamson
36

Ich habe die hier erwähnte Option ausprobiert - Ctrl- und es hat bei mir nicht funktioniert.a : source ~/.screenrc

Das hat bei mir funktioniert - Ctrl-a : source $HOME/.screenrc

heiliger teufel
quelle
Es ist normal zu erwarten ~, dass Sie in Ihr Home-Verzeichnis expandieren.
user9517
@Iain ich weiß, idealerweise sollte es. Ich denke, irgendetwas stimmte damals nicht mit meinem ENV. Trotzdem hat es geklappt.
holydevil
Ich hatte genau das gleiche Problem auf CentOS 5.
Slm
Gleiches Problem mit zsh und oh-my-zsh unter Archlinux.
Jaseem
2
Dasselbe Problem auf meinem Mac, musste 'source $ HOME / .screenrc' verwenden
bobmagoo
19

Ich habe dies in meiner .screenrc-Datei:

bind R eval "source $HOME/.screenrc" "echo '.screenrc reloaded!'"

Wodurch screen die .screenrc-Datei neu lädt, wenn Ctrl-AShift-Rgedrückt wird.

Dies funktioniert natürlich nur, wenn Sie die Zeile bereits in Ihrer .screenrc-Datei haben! Um diese Sortierung in einer vorhandenen Bildschirmsitzung zu 'booten', fügen Sie die Zeile über der Zeile zu Ihrer .screenrc-Datei hinzu und folgen Sie dann der Antwort von @Dennis Williamson. Danach können Sie die neue Tastenkombination verwenden.

ltn100
quelle