.xsessionrc에서 스크립트 파일을 가져올 수 없는 이유는 무엇입니까?

.xsessionrc에서 스크립트 파일을 가져올 수 없는 이유는 무엇입니까?

저는 Debian Linux에서 LXDE/Openbox를 실행하고 있습니다. 로그인 후 다음을 수행하고 싶습니다.

  • $PATH 변수에 사용자별 디렉터리 추가(A)
  • 일부(비그래픽) 명령 실행(예: 마운트 디렉터리) (B)

이 설정은 로그인 셸(예: SSH)뿐만 아니라 그래픽 로그인에도 적용됩니다. 특히 $PATH 변수를 확장하는 부분이 까다로운 것 같습니다...

나의 이상적인 솔루션은 모든 명령(A 및 B)을 별도의 스크립트 파일(F)에 넣고 소스 .xsessionrc(세션 관리자를 통한 그래픽 로그인용) 및 .profile(로그인 쉘용)을 제공하는 것입니다. F에서 가져오는 것은 .profile잘 작동하지만 F에서 가져오는 데는 .xsessionrc실패하는 것 같습니다.

.xsessionrc.profile그래서 (및 )에서 직접 새 $PATH를 설정하고 및 (이제 B 명령만 포함)에서 F만 실행하는 해결 방법을 취했습니다 . 이것은 잘 작동하지만 이제 and(A) 에 중복된 명령이 나타나기 때문에 별로 만족스럽지 않습니다..xsessionrc.profile.xessionrc.profile

다른 파일을 꺼내려면 마법을 부려야 합니까 .xsessionrc? 아니면 내 아이디어에 다른 명백한 결함이 있습니까?

답변1

표준 조달 문서를 따를 이유가 없습니다.구입명령 (tcsh, bash, ksh 및 zsh에서도 지원되는 cshism이지만 표준은 아님) .은 .source.xsessionrc

소스 파일의 구문이 표준 sh구문인지 확인해야 합니다.

답변2

.xsessionrc쉘에서 사용하는 다른 파일이 아닌 다른 파일에서 .bash_profile이 작업을 수행하는 이유는 무엇입니까?로그인.bashrc( 모든 쉘에서 획득하는 ? 와 혼동하지 마십시오 )? 여기(Fedora)에 유용한 리뷰도 있습니다 User specific environment and startup programs...

답변3

배포판에 따라 시작 시 자동으로 실행되도록 스크립트를 추가할 수 있습니다. initscript를 사용하면 rc.local(/etc/rc.local IIRC)에 추가되고 systemd를 사용하면 해당 서비스 파일을 만든 다음 부팅 시 실행되도록 활성화할 수 있을 것입니다.

데비안의 경우 initscripts이므로 rc.local.

설치는 /etc/fstab시작 시 실행되어야 합니다.

관련 정보