sh
i3 configコマンドを使用してプロセスを開始するときにデフォルトで使用されるi3を使用していますexec
。これは問題ありませんが、私の.zshrcで生成された環境変数がi3の子プロセス(私が開くほとんどすべてのプログラム)に転送されないことを意味します。
/bin/sh
この問題を解決するために、次のように指すシンボリックリンクを変更してみました/bin/zsh
。
$ which sh
/bin/sh
$ sudo rm /bin/sh
$ sudo ln -s /bin/zsh /bin/sh
これは私が期待するシンボリックリンクを生成します。
$ ls -la /bin/sh
lrwxrwxrwx 1 root root 8 Mar 13 22:16 /bin/sh -> /bin/zsh
$ which sh
/bin/sh
sh
しかし、実行しようとするとsh
代わりに起動しますzsh
。を実行しても同じことが起こります/bin/sh
。ログアウトして再度ログインします。何も変わりません。
/bin/zsh
コマンドは期待どおりに開始されますzsh
。zsh
答え1
zsh
打ち上げは大丈夫であることが判明したがsh
。マニュアルページをもっと注意深く読んでください。 @steeldriverが指摘したように、マニュアルページには「Zshがそれぞれshまたはkshとして呼び出されると、shまたはkshをエミュレートしようとします。」