xtermのスクロールバックバッファーにファイルとしてアクセスする


8

どういうわけか、xtermのスクロールバックバッファーに(読み取り専用)ファイルまたはキャラクターデバイスとしてアクセスできますか?

中心的な問題(x / yの「問題」を回避するため)は次のとおりです。実行したばかりのコマンドが非決定的な出力を生成することがあり、その出力をT型にすることを事前に考えずに何らかの方法で使用したい場合があります。 。現在、これを行う唯一の方法(私が承知していること)は、マウスを使用してテキストを選択し、1次選択することです。


を使用する代わりにteescriptすべてのコマンドのログをファイルに作成するために実行することを検討しましたか?
Stephen Quan

回答:


6

これを行うには、print-everythingアクションを使用してデータを出力するようにxtermに指示します(通常はキーにバインドされていません)。

または、XTermの制御シーケンスに記載されているエスケープシーケンスがあります。

CSI ? Pm i                                                                      
          Media Copy (MC), DEC-specific.                                        
            Ps = 1  -> Print line containing cursor.                            
            Ps = 4  -> Turn off autoprint mode.                                 
            Ps = 5  -> Turn on autoprint mode.                                  
            Ps = 1  0  -> Print composed display, ignores DECPEX.               
            Ps = 1  1  -> Print all pages.

次のように呼び出すことができます

printf '\033[?11i'

ただし、どちらの方法(ファイルに書き込む)でも、printerCommandを構成する必要があります。


xtermを再起動せずにそれを行うことは可能ですか?xtermの再起動が含まれる場合、出力が失われる原因となるため、実際には答えではありません。
kasperd

これは私が探していたものです。リソースはその場でリロードでき、xtermを再起動してもかまいません。名前付きのfifoを作成し、それをprinterCommandに構成し、print-everythingコマンドをキーにバインドしました。
ジョンZ.18年

2

常にtmuxのようなものを使用できcapture-pane、分割(垂直および水平)と多重化、セッションサポート、およびその他の多くの機能とともに、必要な機能を提供します。

または、別のターミナルエミュレータを使用すると、xfce4-terminal軽量で簡単にSave Contents


1
私にとって、これは質問に対する答えのようには聞こえません。これらのプログラムはいずれも、現時点ではxtermウィンドウにのみ存在する出力を魔法のようにキャプチャすることはできません。
kasperd

@kasperd公正な解釈。彼は事前に考えずにキャプチャできる何かを望んでいます。tmux思いがけず使用しています。その後、私はこの問題を抱えていません。tmuxを使用する習慣を身に付けることができれば、これ(または他の多くのこと)をもう一度考える必要はありません。
エヴァンキャロル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.