3つの質問に基づいて:
- ZSHでさまざまな構成ファイルを使用する(他の端末アプリケーションで)しかし、macOS用にのみ設計されています。
- セッションごとに異なるtmux設定がありますか?しかし、他の端末アプリケーション(Deepin端末、Tilix、およびVSCode用の統合端末)に対して別の.zshrcファイルを使用したいと思います。
- .bashrc環境の.desktopファイルしかし、成功しませんでした。
TL:博士号- 例えば:
.zshrc
if [ -f /usr/bin/tilix ]; then
if [ -f ~/tilix.zshrc ]; then
source ~/tilix.zshrc
fi
elif [ -f /usr/bin/deepin-terminal ]; then
if [ -f ~/deepin-terminal.zshrc ]; then
source ~/deepin-terminal.zshrc
fi
elif [ -f /usr/bin/code-insiders ]; then
if [ -f ~/code-insiders.zshrc ]; then
source ~/code-insiders.zshrc
fi
else
source ~/tilix.zshrc
fi
- Deepin TerminalとTilixのデスクトップファイル:
Exec=bash -c 'source $HOME/deepin-terminal.zshrc && deepin-terminal'
Exec=bash -c 'source $HOME/tilix.zshrc && tilix'
- VSコード
settings.json
:
{
"terminal.integrated.shell.linux": "source $HOME/code-insiders.zshrc && /usr/bin/zsh"
}
しかし、何も動作しません。
おそらく使用する必要がありますが、それがうまくいくかどうかはdevilspie
わかりません。
答え1
ターミナル側から
各ターミナルまたはターミナルランチャーの構成では、TERM_SUBTYPE=tilix
またはTERM_SUBTYPE=deepin
などの環境変数を設定するようにソートしますTERM_SUBTYPE=vscode
。あなたの変数で.zshrc
次の変数の値を確認してください。
case $TERM_SUBTYPE in
tilix) …;;
…
'') …;;
esac
この'')
行は何も設定していませんTERM_SUBTYPE
。この場合、特にすることがない場合は省略しても構いません。
シェル側から見る
ターミナルエミュレータは通常シェルの親プロセスなので、親プロセスを確認してください。
case ${$(ps -p $PPID -o comm=):t} in
tilix) …;;
deepin-terminal) …;;
code-insiders) …;;
*) …;
esac
*)
この行は、親プロセスが認識されたケースの1つでない場合の置換です。この場合、特にすることがない場合は省略しても構いません。