新しい入力が生成されている間に端末ウィンドウを上にスクロールする方法


37

Ubuntuでは、コマンドがターミナルウィンドウで実行されているときに上にスクロールして、新しい出力を生成します(実際に実行されるコマンドはrspecです)。上にスクロールできますが、rspecはコンソール出力の新しい行を生成するたびに、一番下に戻ります。すべて上にスクロールする方法はありますか?Linux Mint / Ubuntu 12.04 LTSでターミネーターを使用しています

更新

私は、可能な回避策は見つかっ ターミネーターのホームページを持つことを言います

stty ixon

「端末出力のXON / XOFFフロー制御を有効にできます。^ Sと入力して出力を一時停止し、^ Q [...]と入力して再開できます」

これは、出力を一時停止することなく(そして、再びオンにするのを忘れたときに疑問に思うかもしれませんが)、完全に私が望んでいたものではありません。より良いソリューション?


これは、LXTerminal(LXDE)で本当に気に入っていることの1つです。
マシュールンドバーグ

Shift-PgUpまたはスクロールバーでスクロールしていますか?
ott--

@MatthewLundberg通常、マウススクロールホイールを使用しているため、スクロールバー。しかし、それはまた、シフト-PGUPでは動作しません:(あなたが知っている私は、同様のターミネーターのlxterminal内部を持つことができますか?
ヨLudke

1
xfce4-terminal出力にScrollというオプションがあり、チェックを外すことができ、要求したとおりに実行します。
マルティンキャナバル

1
回避策として、出力をファイルに送信し、別のターミナルを開いて、生成されたとおりに表示することができますtail -f file.txt。これにより、最初の端末が自由にスクロールバックされ、出力をリアルタイムで見ることができます。エレガントではありません。
テルドン

回答:


53

私は少し遅れていますが、ここに来る人が解決策を得ることができるように、ここに投稿しています。私にとって、同じ問題の解決策は次のとおりです。

ターミネーターの設定-> [プロファイル]タブ-> [サブタブ]タブのスクロール-> [出力時にスクロール]オプションをオフにします。

このオプションの良い点は、出力の一番下にいるときでも出力をスクロールすることですが、上にスクロールするとすぐに停止し、出力コンテンツがまだ残っていても気にしません生成されました。

これが役立つことを願っています


クール:)このオプションを切り替えるショートカットを作成することは可能ですか?
ヨルドケ

1
少し検索しましたが、ターミネーター内のショートカットで切り替える方法が見つかりませんでした。ただし、オプションは「$ HOME / .config / terminator / config」にあるターミネータ設定ファイルに書き込まれるため、設定ファイルでオプションのオンとオフを直接切り替えるコマンドにグローバルショートカットを割り当てることができるはずです。
チキトゥルフォ

4
それでも、構成ファイルにその変更を加えても、既に実行されているターミネーターインスタンスには影響しませんが、編集後に起動された新しいターミネーターインスタンスにのみ影響します。したがって、実行中のターミネーターで切り替えたい場合は、手動で行う必要があります。いずれの場合も、オプションをfalseに切り替えて、最後の行までスクロールするとすぐに、出力での自動スクロールを継続します。手動で上にスクロールした場合にのみ自動スクロールを停止します。したがって、オプションのオンとオフを切り替える必要は実際にはありません。
チキトゥルフォ

1

tail -f log.txt | less新しい情報に進むために更新され、その後、上下に移動できます。less検索機能などを使用することもできます。pipeメソッドを使用すると、移動する出力を解析することもできます。

そして、同じ考えですが、パイプはありませんless +F log.txt
(これは、この方法でコンテンツを操作できることを前提としています。)

古いUnixの方法は、ターミナルでCtrl-Sを押して停止し、Ctrl-Qを押して出力のスクロールを再開することstty ixonでした。これは基本的に、ターミネーターでできることです。
スクロールバーが追加されたので、これは私にとってかなりまともなようです-Control-Sを押して、好きなものまでスクロールし、次にControl-Qを押して下に戻ります。はい、出力の一時停止を忘れることがあります。

私は非常に怠け者であり、出力リダイレクトの柔軟性が好きなので、パイプでtail -fを使用します(ケースに適合すると仮定します)。それから私はそれを停止し、矢印を押してgrepのようなものを追加できますが、それでも動作します: tail -f tac_plus.log | less | egrep 'peerip'

いくつかを投げるcatteeそこに本当のパーティーがあります。


これをrspec仕様に使用したかった-問題は、テール/レスアプローチでは、色が失われる(コマンドを直接実行すると、出力が緑/赤ではなく白黒になる)
Yo Ludke

@YoLudke私はrspecや色付けの方法に慣れていません。grepなどに色を渡す方法がありますが、ここではうまくいかないかもしれません。あなたはrspecを永続的/ループ/長時間実行プロセスに向けて実行し、そこから出力を取得するようなことをしていますか?
ベラク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.