2012-01-17 2 views
2

런타임시 특정 .bashrc 파일에 코딩 된 특정 버전의 응용 프로그램이 사용되는 위치를 변경할 수있는 간단한 스크립트가 있습니다.Xorg를 다시 시작하지 않고 XINITRC 다시로드

예를 들어, '고양이'응용 프로그램이 있다고 가정 해 봅시다./test/working과/test/beta의 두 가지 버전이 있습니다.

bash 명령 "changer.sh"를 실행하면/test/beta/cat 또는/test/working/cat을 가리 키도록/bin/cat의 심볼 링크가 변경됩니다. Konsole 또는 Xterm 내에서 터미널에서 작업 할 때는 정상적으로 작동합니다.

X 응용 프로그램에서도이 환경 변수를 볼 수 있도록 내 .xinitrc에 줄이 있습니다.하지만 문제가 있습니다. Xorg가 시작될 때 Xorg/Xfree86에서 심볼 링크를 참조 해제하는 것처럼 보입니다. 내 Xsession의 전체 지속 기간 동안 "cat"은/test/working/cat으로 해석되고 나중에 변경된 경우 심볼릭 링크를 다시 평가하지 않습니다. 이 시점에서 유일한 해결 방법은이 심볼릭 링크를 변경할 때마다 Xorg를 닫고 다시 시작하는 것입니다. Xorg가 매번 다시 시작하지 않고도 .xinitrc를 다시로드하거나 다시 구문 분석하도록 강제 할 수 있습니까?

감사합니다.

답변

2

아니요.

은 당신의 애플 리케이션과 함께 bin 폴더를 설정 : 심볼 링크에 원하는 응용 프로그램을 설정하는 .xinitrc

ln -s /working/bin/cat /local/bin/cat 

메이크업을.

CAT=/local/bin/cat # and execue $CAT and not just cat 

또는

PATH=/local/bin:$PATH 

/지방/빈에있는 모든 앱이 changer.sh가에있는 링크를 조작 할

$ PATH에 것들 이전에 사용 (발견)됩니다 그런 식으로/지역/bin

관련 문제