Bei Verwendung von GNU Screen können wir mit dem Befehl mit dem Scrollback-Puffer arbeiten, der auch als "Kopiermodus" bezeichnet wird Ctrl+a+[
.
Dort können wir Text in den Kopierpuffer kopieren, indem wir drücken space
, den Text auswählen und space
erneut drücken .
Gibt es eine Möglichkeit, diesen Text aus dem Bildschirmkopierpuffer in die X-Zwischenablage zu kopieren?
In meinem Fall verwende ich Ubuntu 12.04 mit Gnome und Xorg.
quelle
cat | xsel -b
meine gesamte Geschichte ausgeführt, als ich sie aus der Shell ausgeführt habe.cat
Befehl irgendwie beendet (^C
vielleicht mit), sodass er keine Eingaben akzeptierte, als Sie den Kopierpuffer entleerten? Wenn wir das lösen können, können Sie vielleicht Ihre Ablehnung entfernen.DISPLAY
Umgebungsvariable. Die meisten Terminalemulatoren stellen dies ebenso ein wiessh -X
. Da es nicht festgelegt wurde, schlägt xsel fehl, bevor Eingaben akzeptiert werden. Daher wird die Pipeline beendet und der Rest der "Tastenanschläge" aus dem Bildschirmpuffer in Ihre Shell verschoben.cat
Incat | xsel -b
ist eine nette Art, denxsel
Eingang mit einer Pipe zu verbinden (im Gegensatz zu atty
) undxsel
den "Eingangs" -Modus des Triggers auszulösen . hat aberxsel
das-i
Flag, um den Eingabemodus explizit auszulösen. Alsoxsel -bi
ist es wahrscheinlich vorzuziehencat | xsel -b
.Diese Antwort gilt für OS X.
Gehen Sie wie folgt vor, nachdem Sie den gewünschten Text im Kopiermodus in den Einfügepuffer des GNU-Bildschirms kopiert haben:
pbcopy <enter>
.Ctrl-a ]
sei denn, Sie haben Ihre Escape-Taste geändert).<enter>
, um eine einzufügen.Ctrl-d
abschließendpbcopy
, um den Text in die Systemzwischenablage zu verschieben.Anschließend können Sie den Text wie gewohnt an
Command-v
einer anderen Stelle in OS X einfügen, indem Sie eine entsprechende Menüoption verwenden.quelle
Es gibt eine einfachere und weniger manuelle Möglichkeit, dies zu tun. Fügen Sie in Ihrer Bildschirm-RC-Datei die folgende Zeile hinzu:
So verwenden Sie die Kopierfunktion:
screen -c path/to/screen/config.rc
BEARBEITEN: Unter Linux ohne pbcopy, aber mit clipit können Sie Folgendes verwenden:
bindkey -m '' eval 'stuff \ 040' 'writebuf' 'exec sh -c "/ bin / cat / tmp / screen-exchange | / bin / clipit"'
quelle
/bid/clipit
zu/usr/bin/cliptit
und ich hatte zu installierenlibcanberra-gtk-module
.Diese Antwort funktioniert nur in einem Szenario, in dem Ihr Endziel darin besteht, den kopierten Pufferinhalt sofort einzufügen.
Der einfachste Weg, dies zu tun, besteht darin, Ihren Bildschirm in zwei Regionen aufzuteilen. Sie können dies tun, indem Sie CTRL+ und adann |'Dies ist kein i. Es ist das PIPE-Zeichen auf Ihrer Tastatur.
Drücken Sie dann CTRL+ , um zur zweiten Region zu wechseln, + und erstellen Sie dann eine neue Sitzung in der zweiten Region.aTABCTRLac
Wenn Sie von nano kopieren möchten , und im Terminal einfügen, öffnen Sie die Datei in nano auf der linken Bereich nach oben, drücken Sie CTRL+ adann ESC, blättern zum Startpunkt Ihrer Kopie Lage und Hit SPACE, den Text auswählen , indem Sie auf den Endpunkt Scrollen und Hit SPACEerneut, um die Kopie zu markieren.
Jetzt müssen Sie nur noch CTRL+ adrücken TAB, um zu der Region auf der rechten Seite zu wechseln, und dann CTRL+ adrücken ].
Ihr Text wird in die Befehlszeile geschrieben. Beachten Sie, dass Sie auch nach einer Hardcopy-Option suchen können, wenn Sie direkt in eine Datei schreiben möchten.
quelle
Da scheint niemand die Frage direkt beantwortet zu haben:
Sobald Sie die gewünschte Ausgabe in Ihren Puffer kopiert haben, müssen Sie
vim somefile.txt
i
in vimCtrl + a
dann]
, um den Inhalt des gerade gefüllten Puffers in den Texteditor zu kopierenta-da!
quelle
Beenden Sie Ihre SSH-Terminalsitzung, wenn Sie derzeit mit einem Server verbunden sind.
Wenn Sie XQuartz unter Mac OS und xsel auf dem Server verwenden. Sie sollten die XQuartz-Pasteboard-Einstellungen aktualisieren, indem Sie im xQuartz-Anwendungsmenü Einstellungen auswählen.
XQuartz-Einstellungen:
ssh in den Remote-Computer und versuchen Sie auszuführen:
xsel -p <<<"THIS IS A TEST".
Drücken Sie cmd + v und "DAS IST EIN TEST" sollte ausgegeben werden.
quelle
Wenn Sie nur ein paar Informationen kopieren möchten, markieren Sie diese einfach mit der Maus und fügen Sie sie an der gewünschten Stelle ein.
Wenn Sie versuchen, viele Informationen abzurufen, kann die Bildschirmsitzung in einer Datei protokolliert werden. Anschließend können Sie sie aus der Datei kopieren oder ein wenig bereinigen und Anweisungen zum Ausführen verwenden
quelle
Endlich habe ich heute eine Lösung mit der Maus gefunden:
Halten Sie die Strg- Taste gedrückt und klicken Sie mit der rechten Maustaste. Das Kontextmenü Kopieren / Einfügen wird angezeigt.
Einige Bildschirme unter https://michalzuber.wordpress.com/2015/01/28/gnu-screen-copy-paste-with-mouse/
quelle