i3 exec 스크립트에 대한 환경 변수를 초기화할 수 없습니다.

i3 exec 스크립트에 대한 환경 변수를 초기화할 수 없습니다.

display데스크탑 배경을 설정하는 데 사용하는 스크립트가 있습니다 feh. 다음 줄을 사용하여 이 작업을 수행합니다.

feh --bg-scale $WALLPAPER &

$WALLPAPER 환경 변수는 내 에 있습니다 .bashrc. 로그인 후 일반 쉘에서 스크립트를 실행하면 스크립트가 제대로 작동합니다.

i3이 시작 시 이 스크립트를 실행하도록 하고 싶습니다. 그래서 다음 줄을 추가했습니다 ~/.config/i3/config.

exec display

하지만 작동하지 않습니다. STDERR을 파일로 리디렉션하려고 시도했는데 결과는 다음과 같습니다.

feh: No loadable images specified.
See 'man feh' for detailed usage information

echo $WALLPAPER또한 를 입력 하려고 하면 display빈 줄이 나타납니다. 따라서 환경 변수가 아직 초기화되지 않았습니다. 좋습니다. 위의 줄을 추가해 보았지만 exec /bin/bash -c "source ~/.bashrc"별 차이가 없는 것 같습니다. i3이 시작될 때 이 변수가 초기화되도록 하는 방법은 무엇입니까?

답변1

다른 사용자가 i3을 실행하는 경우 ~를 사용하여 상대 경로 대신 소스 명령에 대한 절대 경로를 제공해 보세요.

답변2

이것은 나를 위해 답변되었습니다레딧에서. 문제는 .bashrcbash에 의해서만 로드된다는 것입니다. 환경 변수를 넣는 것은 ~/.profile올바르게 실행된다는 것을 의미합니다.

관련 정보