Es gibt also meiner Meinung nach bereits 2 Fragen dazu. Alle haben damit zu tun tail -f
und daher geben die Menschen die tangentiale Antwort "weniger verwenden".
Ich brauche es für alles, jeden Befehl usw. Das Problem ist, dass ich viele Konsolenfenster ausführen muss und sie auch bei mehreren Monitoren verkleinern muss. Infolgedessen wird fast jede Ausgabe durch Zeilenumbruch geschlachtet und ist schwer zu lesen.
Eine vorgeschlagene Lösung ist echo -ne '\e[?7l'
, was etwas funktioniert. Das Problem ist nun, gibt es eine Möglichkeit, Bildlaufleisten auf einer Konsole abzurufen?
Ubuntu 12.10, Terminal
ls
undmcedit
funktionieren einwandfrei, da Bildschirmbreite und Pufferbreite getrennt behandelt werden.Antworten:
Was Sie fragen, ist ein Terminal mit unendlicher Breite, von dem ein Teil angezeigt wird. Es ist nicht so, wie Terminals traditionell funktionieren oder wie Anwendungen erwarten, dass sie funktionieren.
Wenn das Terminal beispielsweise eine unendliche Breite hat, wie sollen visuelle Anwendungen funktionieren, wenn sie etwas in der Mitte des Bildschirms anzeigen möchten?
Sie können jedoch GNU verwenden
screen
(Sie sollten in der Lage sein, eine Bildschirmsitzung von mehreren Terminals unterschiedlicher Größe aus anzuhängen, damit der Bildschirm weiß, wie ein kleines Fenster eines größeren Terminals angezeigt wird) und diescreen
Fensterbreite auf etwas einstellen sehr groß und täuschen Sie dann visuelle Anwendungen vor, dass die Bildschirmbreite die ursprüngliche ist.Wie (innerhalb
screen
)Einige visuelle Anwendungen funktionieren einwandfrei, andere nicht so gut (für die Installation, wenn sie relativ positioniert sind oder wenn sie sich auf die Terminalumhüllung verlassen).
vim
scheint in Ordnung zu funktionieren.Dann werden die Daten zu blättern , und kopieren und einfügen, die einzige Möglichkeit ist , verwenden
screen
‚s Kopie - Modus. (<prefix>]
) Und die Cursor bewegen (sieheinfo -f screen -n Movement
in bewegten um Kopie - Modus).tmux
kann ähnliche Fähigkeiten haben.Dieser
terminator
Terminal-Emulator (Java-basiert), der nichtterminator
mit Ubuntu geliefert wird, macht genau das mit einer unendlichen Terminalbreite:screen
basierte Lösung, da der Terminfo-Eintrag behauptet, dass kein Zeilenumbruch durchgeführt wird, sodass Anwendungen dies wissen und BS am Anfang der Zeile nicht zum Ende der vorherigen Zeile verschoben wird.quelle
screen -X width -w 1000
RenditenNo screen session found.
, irgendwelche Ideen?screen
. Beginnen Siescreen
zuerst.screen -X width -w 1000 <mycommand>
screen
Ist ein terminalbasierter Terminalemulator. Sie müssen es also zuerst wie zuerstxterm
odergnome-terminal
zuerst starten , indem Sie denscreen
Befehl ausführen. In diesem neuen Terminalemulator führen Sie dann diesenscreen -X
Befehl aus, umscreen
die Fensterbreite zu ändern. Siehe auch meine bearbeitete Antwort für denterminator
Emulator, die Sie vermutlich bevorzugen werden.Während Emacs in erster Linie ein Editor und IDE¹ ist, passt es sehr gut zu Ihrem Problem. Sie können ein Programm in einem Emacs-Fenster ausführen, und Emacs zeigt es in einem dummen Terminal mit unendlicher Breite und Höhe an. Befindet sich der Cursor am Ende des Puffers, wird das Fenster gescrollt, während das Programm eine Ausgabe erzeugt. Wenn Sie den Cursor bewegen, bleibt das Fenster stehen, wenn die Ausgabe wächst.
Geben Sie
M-x shell RET
(dh Alt+ xshell
Return) ein, um eine Shell in einem Emacs-Puffer zu starten. Geben SieC-u M-x shell RET
oder einM-1 M-x shell RET
, um eine andere Shell zu starten. Sie können in jeder Shell ein Programm ausführen und die Puffer nach Belieben in mehreren Fenstern anordnen.¹ Manchmal wird gesagt, es sei ein besseres Betriebssystem als ein Editor, aber nur von Leuten, die es nicht verwenden - das ist nur ein Witz.
quelle