Linux サーバーで実行される Python プログラムを作成しています。いくつかのログ ファイルを監視し、特定のキーワードに基づいて、そのログ ファイルの行を GUI に表示します。
プログラムでユーザーがダブルクリックした行を示す「less」を含むターミナル ウィンドウを開く新機能を追加しました。
私の問題は次のとおりです。プログラムをローカル (コンピューター上) で実行すると、完全に動作します。しかし、SSH 経由でメイン サーバーに接続しているときにメイン サーバーからプログラムを実行すると、プログラムは正常に実行されますが、行の 1 つをダブルクリックすると、コンソール ウィンドウがすばやく開いたり閉じたりします。
「Less ターミナル」を開くコードは次のとおりです。
p = subprocess.Popen(args = ["gnome-terminal", "--command = less -p " + "\"" +searchString + "\"" " -j 10 " + "\"" + path + "\""], stdout = subprocess.PIPE)
どうすれば開いたままにできますか?
PS を追加するshell = TRUE
と、結果のない新しいターミナル ウィンドウが開きless
ます。