私は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()で設定した最初の部分やパス変数は表示されません。
.desktop
zshをデフォルトのシェルとして使用するときにファイルを見るために$ PATH変数をどこに設定する必要がありますか?
答え1
デスクトップ環境はシェルの設定には興味がありません。
DEが期待する方法でこの設定をミラーリングする必要があります(DEによって異なります)。
答え2
以下は私の問題を解決しました。
bashがデフォルトシェルの場合は、次のように.profile
環境変数を設定する必要があります。
zshがデフォルトシェルの場合は、次のように.zshenv
環境変数を設定する必要があります。
パス変数を取得するには、ログアウトしてからログインする必要があります。