zshをデフォルトのシェルとして使用するときに、.desktopファイルが表示できるように$ PATH変数をどこで設定する必要がありますか?

zshをデフォルトのシェルとして使用するときに、.desktopファイルが表示できるように$ PATH変数をどこで設定する必要がありますか?

私はDebian 12を使用しています。 GNOME 43. zshは私のデフォルトのシェル(sudo chsh --shell /usr/bin/zsh ismail)です。

私の.zshrcでは、次のようにパス変数を設定しました。

export PATH="$HOME/.dotfiles/.cargo/bin:$PATH"

alacritty バイナリは次の場所にあります。

% which alacritty
/home/ismail/.dotfiles/.cargo/bin/alacritty

次のデスクトップファイルが有効です。

[Desktop Entry]
Type=Application
Exec="/home/ismail/.dotfiles/.cargo/bin/alacritty"
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;

次のデスクトップファイルは機能しません。

[Desktop Entry]
Type=Application
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;

なぜこれがうまくいかないのかわかりません。

一つを指摘したい。

$ which foliate
/usr/bin/foliate

設定するとExec=foliate動作します。だから私はそれが道に関連していると思います。ファイルを実行しているシステムでは、.desktopに設定されているパス変数が表示されないことがあります.zshrc

この時何ができますか?

アップデート1:

次のデスクトップファイルを使用する場合:

[Desktop Entry]
Type=Application
Exec=gnome-terminal -e "zsh -c 'echo $PATH;$SHELL'"
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;

Name=Alacritty
GenericName=Terminal
Comment=A fast, cross-platform, OpenGL terminal emulator
StartupWMClass=Alacritty
Actions=New;

その後、パス変数は次のようになります。

/home/ismail/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

% echo $SHELL        
/usr/bin/zsh

% echo $PATH 
/home/ismail/.dotfiles/.cargo/bin:/home/ismail/.local/bin:/home/ismail/bin:/home/ismail/.dotfiles/.resources/git-scripts:/home/ismail/.dotfiles/.resources/zsh-scripts:/home/ismail/.dotfiles/.resources/python-scripts:/home/ismail/.dotfiles/.resources/bash-scripts:/home/ismail/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

したがって、デスクトップファイルには、/home/ismail/.dotfiles/.cargo/bin:/home/ismail/.local/bin:/home/ismail/bin:/home/ismail/.dotfiles/.resources/git-scripts:/home/ismail/.dotfiles/.resources/zsh-scripts:/home/ismail/.dotfiles/.resources/python-scripts:/home/ismail/.dotfiles/.resources/bash-scripts:後で.zshrc()で設定した最初の部分やパス変数は表示されません。

.desktopzshをデフォルトのシェルとして使用するときにファイルを見るために$ PATH変数をどこに設定する必要がありますか?

答え1

デスクトップ環境はシェルの設定には興味がありません。

DEが期待する方法でこの設定をミラーリングする必要があります(DEによって異なります)。

答え2

以下は私の問題を解決しました。

bashがデフォルトシェルの場合は、次のように.profile環境変数を設定する必要があります。

zshがデフォルトシェルの場合は、次のように.zshenv環境変数を設定する必要があります。

パス変数を取得するには、ログアウトしてからログインする必要があります。

関連情報