私は、ターミナルポップアップを使用してgitの複製、パッケージのインストールなど、実行中のプロセスをユーザーに表示するデスクトップアプリケーションを開発しています。問題は、私たちのチームと私はすべてのユーザーのためにXtermをインストールして使用していましたが、ほとんどの場合不適切に見えることです。私はシステムの基本的なターミナルエミュレータをインポートして実行する安定した方法を見つけようとしました。
os.system('basename "/"$(ps -f -p $(cat /proc/$(echo $$)/stat | cut -d \ -f 4) | tail -1 | sed \'s/^.* //\')')
実行すると、bashを使用して端末を検出すると聞きました。残念ながら、これはコマンドが実行されるファイルの名前だけを読み取るようです。python
Pythonシェル、test.py
スクリプト、およびKonsoleからkonsole
印刷します。 bashスクリプトでコマンドを使用して呼び出しましたが、そのコマンドを含むファイルの名前のみが印刷されます。
私も使用するように指示されましたが、os.system('echo $TERM')
とにかく出力されます。xterm-256color
私はPythonを介して直接呼び出しを試み、pstree -sA $$ | head -n1 | awk -F "---" '{ print $(NF-1) }'
bashスクリプトを介してPythonを介して呼び出しを試みましたが、まだ成功しませんでした。ただエクスポートしてくださいpython
。
基本端末を確認するソリューションがある人はいますか?変数として保存するには、Pythonスクリプト内で実行できる必要があります。ネイティブ端末エミュレータが必要です。
編集:私はKDEデスクトップ環境を使用してArch Linuxを実行しています。すべてのデスクトップ環境で実行するように設計されています。