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