ターミナルの基本機能を拡張するプログラムを書く方法についてのクイックアイデアはありますか?私はターミナルがやるすべてをしたいのですが、ユーザーが私のターミナル派生に入力するすべてにいくつかのカスタマイズを追加したいと思います。
答え1
GNOME端末のソースコードをダウンロードし、カスタム処理を追加して再コンパイルしてください。ソースは次の場所にあります。https://git.gnome.org/browse/gnome-terminal/ 元の質問で「カスタム処理」が何を意味するのかは明らかではありません。
答え2
「リアルタイム」データが必要ない場合は、そのデータを読み取り、man bash
PID別に使用$HISTFILE
し、保存したコマンドを後でインターネットに送信できます。ソース修正ではなく、スクリプトの簡単な問題です。しかし、非協調的なユーザはこのアプローチを弱めることができる。
私の答えの一つUbuntuに尋ねる方法の最初の部分について議論します。残りは~/.bash_logout
(再)man bash
できます。
答え3
達成しようとしている目標の説明から拡張したいのは、端末ではなくシェル(タグで判断するとbashです)のように聞こえます。
方法はソースコードを修正することです。プロジェクトホームページ。
目的を達成するもう1つの方法は、各ユーザーのシェルが各コマンドの入力と出力をscript
格納するプログラムを内部で実行していることを確認することです(進行状況バーなどの変更出力を提供するコマンドの場合は、出力を読み取る難しいかもしれません)。 。コマンドを一意の名前のファイルに合わせて保存する一種のラッパーを作成する必要があるかもしれません/etc/passwd
(uidと時間を組み合わせて使用することをお勧めします)。このオプションを使用すると、-f
stdout / stderrに書き込むたびにこのファイルが書き込まれます。入力が何であるか、出力が何であるかを決定するのは明らかに簡単ではありませんが、満足のいく結果を得ることはbashを修正するよりもまだ簡単かもしれません。