私は Windows Server 2012R2 上で Bash (Git BASH) でプログラミングしています。
bash スクリプト内から、実行中の mintty ウィンドウのスクリーンショットを作成したいと思います。
によると出典: github.iominnty には「画像スクリーンショットのエクスポート」機能があります。
mintty の「画像スクリーンショットエクスポート」機能の使い方を知っている人はいますか?
printf '\e[12i' を使用すると動作しないようです:
#!/usr/bin/env bash
echo "we start in this directory: $(pwd)";
echo "now printing ...";
printf '\e[12i' >/dev/tty; echo "ret1: $?";
[ -t 2 ] && { printf '\e[12i' >&2; echo "ret2: $?"; }
[ -t 1 ] && { printf '\e[12i'; echo "ret3: $?"; }
echo "printed";
ls -rlt | tail -3;
つながる
$ 99_tmp1.sh
we start in this directory: /d/_bin01
now printing ...
ret1: 0
ret2: 0
ret3: 0
printed
-rwxr-xr-x 1 zzz91289 1049089 48592 Nov 7 10:39 99_cross_const.sh
-rwxr-xr-x 1 zzz91289 1049089 7327 Nov 7 19:54 99_reset_svc.sh
-rwxr-xr-x 1 zzz91289 1049089 419 Nov 7 20:21 99_tmp1.sh
xxxx@Wxxxx MINGW64 /d/_bin01
$
しかし、スクリーンショットが見つかりません。現在のディレクトリにも、$HOME にも見つかりません。
答え1
の「画像スクリーンショットエクスポート」機能の使い方はmintty
?
端末コンテンツのイメージダンプ
Mintty は、ターミナル画面の視覚的な内容を画像ファイル mintty.date_time.png に保存できます。これはコンテキストメニューまたはユーザー定義のキー機能からサポートされます。Tek モードを除き、現在の端末寸法が画像サイズに使用されます。Tek モードでは、元の Tek サイズの 1 つが使用されます (12 ビット ピクセル アドレスが有効かどうかによって異なります)。
(強調は筆者による)
ファイル名のパターンと場所は設定可能です (SaveFilename の設定)。
ソースミント
cygwinを使用して画像を保存するにはmintty
、右クリックしてコンテキストメニューを開き、Save as Image
これを行うには、キー関数を定義できるようです。キー関数はおそらくbash
スクリプトから実行できますが、私はこれを実行した経験がありません。
答え2
SaveFilename
私にとって欠けていたのは、.minttyrcファイル。
コンソールから、次のようnano ~/.minttyrc
に入力して設定ファイルを開きます。ナノエディタで次の行を追加(または必要に応じて変更)して保存します(参考文献と例はこちら)。
SaveFilename=$USERPROFILE/Pictures/mintty/%Y-%m-%d_%H-%M-%S
開くと新しいGit Bash ウィンドウでは、新しい設定が使用され、右クリックして「画像として保存」を選択すると、指定した場所/ファイルプレフィックスにスクリーンショットが保存されます。