저는 데비안 12를 사용하고 있습니다. 그놈 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
사용하여 환경 변수를 설정해야 합니다.
경로 변수를 얻으려면 로그아웃한 다음 로그인해야 합니다.