Estou usando Debian 12. Gnome 43. zsh é meu shell padrão ( sudo chsh --shell /usr/bin/zsh ismail
).
Em meu .zshrc, configurei a variável de caminho como:
export PATH="$HOME/.dotfiles/.cargo/bin:$PATH"
O binário alacritty está localizado em:
% which alacritty
/home/ismail/.dotfiles/.cargo/bin/alacritty
O seguinte arquivo da área de trabalho funciona:
[Desktop Entry]
Type=Application
Exec="/home/ismail/.dotfiles/.cargo/bin/alacritty"
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
O seguinte arquivo da área de trabalho não funciona:
[Desktop Entry]
Type=Application
Exec=alacritty
Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Não tenho ideia de por que isso não está funcionando.
Eu quero apontar uma coisa.
$ which foliate
/usr/bin/foliate
Se eu definir Exec=foliate
, funcionará. Então, eu acho que tem algo a ver com o caminho. O sistema que executa .desktop
arquivos provavelmente não está vendo a variável de caminho definida em .zshrc
.
O que posso fazer neste momento.
Atualização 1:
Se eu usar o seguinte arquivo da área de trabalho:
[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;
Então as variáveis de caminho são:
/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
Portanto, o arquivo da área de trabalho não está vendo a primeira parte ou a variável de caminho que defini posteriormente em .zshrc ( /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:
).
Onde preciso definir a variável $PATH para que o .desktop
arquivo possa ver quando estou usando zsh como meu shell padrão.
Seu ambiente de área de trabalho não se preocupa com suas configurações de shell.
Você deve espelhar essa configuração da maneira que seu DE espera (que difere de DE para DE).
O seguinte resolveu meu problema:
Quando o bash é o shell padrão, deve ser usado
.profile
para definir as variáveis de ambiente.Quando zsh é o shell padrão, deve ser usado
.zshenv
para definir as variáveis de ambiente.devemos sair e fazer o login para obter as variáveis de caminho.