저는 환경 모듈 관리자를 사용하여 이 작업을 수행했습니다(예:왼쪽 금형). 따라서 표준 트리에서 자체 컴파일된 애플리케이션이 많이 있습니다. 예를 들어 /software
, 이러한 애플리케이션 중에 일부 프로비전 항목이 있다고 가정해 보겠습니다 .desktop
. 예를 들어, 최신 버전의 evince: 를 다시 컴파일 /software/evince/2.32
하여 /software/evince/2.32/bin
/software/evince/2.32/lib
/software/evince/2.32/share/applications/evince.desktop
.
당신이 해야 할 일은 ecc... 앞에 자체 컴파일된 응용 프로그램의 경로를 modulefiles
추가하는 것 PATH, LD_LIBRARY_PATH
뿐입니다. 이렇게 하면 업데이트된 버전을 얻게 됩니다 module load evince
.$PATH
desktop
사용자에게 추가(또는 업데이트된) 데스크탑 애플리케이션을 제공할 수 있도록 항목에 대해서도 동일한 작업을 수행하고 싶습니다 . WM이 desktop
다른 디렉터리에서 파일을 가져올 수 있도록 업데이트할 수 있는 환경 변수가 있습니까 ?
답변1
이를 수행하는 방법에는 두 가지가 있습니다.
첫 번째 옵션은 $XDG_DATA_DIRS
변수를 업데이트하는 것입니다. 그러나 파일은 디렉터리에 .desktop
있어야 합니다 . 따라서 파일에 대한 디렉터리를 생성 하고 에 추가 $XDG_DATA_DIRS/applications/
해야 합니다 . 그런 다음 명령을 실행하여 캐시를 업데이트해야 합니다. 이는 패키지에서 제공됩니다./software/applications
.desktop
/software
$XDG_DATA_DIRS
update-desktop-database
desktop-utils
또 다른 옵션은 파일 xdg-desktop-menu install
에서 실행하는 것입니다 .desktop
. 이 프로그램은 xdg-utils
비표준 환경의 일부이며 자동으로 처리하며 일반 사용자도 실행할 수 있습니다. 또한 세부정보 보기 만 실행하면 제거가 더 쉬워집니다 xdg-desktop-menu uninstall
.man xdg-desktop-menu
개인적으로 권장하는 것은 xdg-utils
데스크톱 관련 업데이트에 다양한 프로그램을 사용하는 것입니다. 환경 변수를 다루는 것보다 이를 처리하는 것이 훨씬 쉽습니다.