VT100端末には、端末の内容をエスケープコードとともにファイルに保存する 比較的簡単な方法があります Meta-p:
XTerm.VT100.printAttributes: 2
XTerm.VT100.printerCommand: cat - > file
XTerm.VT100.translations: #override Meta <KeyPress> P: print() \n
私はかなり調べてみましたが、デフォルトのGNOMEターミナル+ XTerm + Bashで動作するための解決策が見つかりません。
私ははありませんウィンドウの内容を持つだけの画像が欲しいです。
GNOMEターミナルは最終的にはこれを修正 するかもしれませんが 、どのバージョンに含まれるかについての情報はなく、最後の更新からほぼ3年が経過しています。 。
残念ながら、l0b0の箱から出した答えは次のとおりです。これは不可能です。
他の回答では、スクリプトを使用してこれを行う方法をリストしましたが、指摘したようにいくつかの違いがあります。もう1つの方法は、ソースをコンパイルするか、不安定なバージョンを使用することです。
Raringのバージョンは3.6.1なので、このソースを見ることができます。 115行目のTerminal-window.cの内部:
/*
* We don't want to enable content saving until vte supports it async.
* So we disable this code for stable versions.
*/
#include "terminal-version.h"
#if (TERMINAL_MINOR_VERSION & 1) != 0
#define ENABLE_SAVE
#else
#undef ENABLE_SAVE
#endif
#endif
オプション:
お役に立てれば。
残念ながら、すぐに使える答えは次のとおりです。これは不可能です。
端末で常にスクリプトを実行し、すべての出力をログに記録することで、これを修正する2つの方法があります。 gnome-terminalを開いて、編集-> プロファイル設定に移動し、タブタイトルとコマンドに移動し、カスタムコマンドにこれを使用します:
bash -l -c 'script -q -c bash $HOME/sessionlogs/$BASHPID.sessionlog.$(date +%Y%m%d-%H%M).txt'
「sessionlogs」が$ HOMEに存在することを確認してください。
他の方法は削除され、この質問の2番目の回答として追加されました。
screenと呼ばれるパッケージがあります-VT100/ANSIターミナルエミュレーションを備えたターミナルマルチプレクサ。
buntu Manuals Webサイトのscreenのマンページ 、screenと主張する
複数のプロセス(通常は対話型シェル)間で物理端末を多重化するフルスクリーンウィンドウマネージャー各仮想端末は、 DEC VT100端末 の機能に加えて、ISO 6429からのいくつかの制御機能を提供します(ECMA 48、ANSI X3.64)およびISO 2022標準(行の挿入/削除、複数文字セットのサポートなど)VT100/ANSI端末エミュレーションを備えた端末マルチプレクサ。
およびscreenを実行している場合:
Ctrlah (ハードコピー)現在のウィンドウのハードコピーをファイル「hardcopy.n」に書き込みます。
GNOMEターミナルでscreen
を実行して入力しました Ctrlah
これは、Geditで開いたときのhardcopy.1ファイルの出力です。
screenはUbuntu 13.04のraring/mainソフトウェアリポジトリにあります。
デフォルトではインストールされていません。
script(1) を使用してシェルを実行し、ファイルに保存されたターミナルのすべての入出力(ターミナルエスケープを含む)を取得できます。