私はX端末で実行されるBASHスクリプトを使用して簡単なトレーニングツールを作成しました。 Bash初心者ガイドで説明されているように、ユーザーが選択を入力するように求めるプロンプトが表示されます。ユーザー入力キャプチャ、以前に入力した内容が画面にプッシュされます。
__________________________
|________________________X_|
| ... |^|
| 30 | |
| x 10 | |
| ------ | |
| > |=|
|________________________|v|
場合によっては、ユーザーが入力している間に表示される一部のグラフィックは、このテキスト入力領域の近くに表示される必要があります。私はさまざまな解決策を試しました。
txt2img
で使用するlibcasa
と、ターミナルウィンドウにグラフィックがカラーASCIIアートとして表示されますが、複雑なグラフィックは簡単には認識されません。- 写真を表示するために使用されます
eog
。これにより、画像が別のウィンドウに表示されますが、ユーザーは端末を使い続ける前に「q」を押すか、グラフィックウィンドウを終了する必要があります。
あるウィンドウにBASH端末のスクリプトを含む分割ビューウィンドウを表示し、別のウィンドウにBASHスクリプトを介して更新できる高品質のグラフィックを表示する方法はありますか?これは次のようになります。
__________________________
|________________________X_|
| |
| (PNG) |
| |
|==========================|
| ... |^|
| How many apples | |
| do you see in the | |
| picture? | |
| > |=|
|________________________|v|
答え1
部分的な答え:
スクレイピングなしで画像を表示できる画像ビューアプログラムが必要ですキーボードフォーカス。その後、シャットダウンして再実行できます。 (バックグラウンドで起動すると$!
PIDになります)。あるいは、パイプで表示するファイルのリストを読むこともできます。パイプから「今すぐこのファイルを表示する」などのコマンドを読むことをお勧めします。このコマンドは、シェルのファイル記述子のいずれかで開くことができます。
(このQ&Aの目的は次のとおりです。バックグラウンドプロセスパイプ入力。これを拡張してfd 42で新しいFDを作成すると、パイプに書き込むことができますecho foo >&42
。またはcoproc
使用する必要があります。 )
周りを見回したが焦点を合わせることができないオプションの画像ビューアが見つかりませんでした。既存のイメージビューアのコードを要求し、カスタムバージョンをコンパイルするためのフラグを追加できます。