zsh를 기본 쉘로 사용할 때 .desktop 파일이 볼 수 있도록 $PATH 변수를 어디에서 설정해야 합니까?

zsh를 기본 쉘로 사용할 때 .desktop 파일이 볼 수 있도록 $PATH 변수를 어디에서 설정해야 합니까?

저는 데비안 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()에서 설정한 첫 번째 부분이나 경로 변수가 표시되지 않습니다.

.desktopzsh를 기본 쉘로 사용할 때 파일을 볼 수 있도록 $PATH 변수를 어디에 설정해야 합니까 ?

답변1

데스크탑 환경은 쉘 설정에 관심이 없습니다.

DE가 예상하는 방식으로 이 설정을 미러링해야 합니다(DE마다 다름).

답변2

다음은 내 문제를 해결했습니다.

bash가 기본 셸인 경우 다음을 사용하여 .profile환경 변수를 설정해야 합니다 .

zsh가 기본 쉘인 경우 다음을 .zshenv사용하여 환경 변수를 설정해야 합니다.

경로 변수를 얻으려면 로그아웃한 다음 로그인해야 합니다.

관련 정보