現在のシェルセッションがguiまたはttyにあるかどうかを確認する方法

現在のシェルセッションがguiまたはttyにあるかどうかを確認する方法

zshシェルのどの設定を使って、私がx-serverにあるのか、コンソールにいるのかを確認できますか?ターミナルエミュレータにいるときとtty /コンソールにいるたびに.zshrcで異なる設定を持つことができる方法を見つけようとしています。

基本的に私はそうしたでしょう。

(医師コード)

if(current shell session is in console)
[
    implement PROMPT x
]else[
    implement PROMPT Y
] 

ベストアンサー1

現在、ttyの名前がローカルコンソールと同じであることを確認する方が簡単になると思います。

case $(tty) in 
  (/dev/tty[1-9]) PS1='console version';; 
              (*) PS1='not console version';; 
esac

これは結果を確認する唯一の方法です。 grepまたはパラメータ拡張を使用できますが、これはアイデアを示しています。

確認することはできますが、保証され$DISPLAYておらず、X11環境が必要なシェルプロンプトで何をするか想像できません。

おすすめ記事