답변:
.desktop
파일 을 편집하여 응용 프로그램에 환경 변수를 추가 할 수 있습니다 . 예를 들어, 환경 변수로 "digiKam"을 실행 APPMENU_DISPLAY_BOTH=1
하려면 해당 digikam.desktop
파일을 찾고 env
명령을 통해 변수 설정을 "Exec"항목에 추가하십시오 .
Exec=env APPMENU_DISPLAY_BOTH=1 digikam -caption "%c" %i
귀하의 경우 :
Exec=env GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
.desktop
파일 을 수정하는 대안 은 예를 들어 래퍼 스크립트를 넣는 것 ~/bin
입니다.
$ cat ~/bin/eclipse
#!/bin/sh
export GTK2_RC_FILES=gtkrc.custom
exec /usr/bin/eclipse "$@"
이렇게하면 다음에 응용 프로그램 패키지가 업데이트 될 때 사용자 지정 내용을 덮어 쓰지 않습니다.
편집하다:
왜 이것이 작동하는지에 대한 힌트는 PATH
변수에 무엇이 포함되어 있는지 확인하면 알 수 있습니다. 나의 경우에는:
$ echo $PATH
/home/gunnar/bin:/home/gunnar/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
~/bin
는 목록에서 첫 번째 폴더이므로 이전을 /usr/bin
봅니다.
.desktop
파일을 업데이트해도 이점이 없습니다 .
~/bin
도움이 되는지 모르겠습니다 . 패키지 소유 .desktop
파일은 해당 래퍼를 볼 수 없습니다! 또한 사용해야합니다update-alternatives
.desktop
파일이 래퍼를 "볼"필요는 없습니다. 그냥 실행 되고 래퍼 eclipse
로 인해 PATH
대신 선택됩니다 /usr/bin/eclipse
. 명확히하기 위해 답을 편집했습니다.
$HOME
있습니까? 확장Exec=env MYVAR="$HOME/foo"
되거나Exec=env MYVAR="~/foo"
확장 되지 도 않습니다 . 대신 문자 그대로 전달됩니다.