![대화형 로그인 셸 및 X 디스플레이 관리자](https://linux55.com/image/115235/%EB%8C%80%ED%99%94%ED%98%95%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%EC%85%B8%20%EB%B0%8F%20X%20%EB%94%94%EC%8A%A4%ED%94%8C%EB%A0%88%EC%9D%B4%20%EA%B4%80%EB%A6%AC%EC%9E%90.png)
내 친구와 나는 RHCSA를 함께 작업하고 있었는데 우리 둘 다 완전히 이해하지 못하는 것을 우연히 발견했습니다. 이것이 우리가 그것이 작동한다고 생각하고 그것이 올바른지 궁금해하는 방식입니다.
텍스트 기반 대화형 로그인을 사용하여 로그인하면 쉘은 /etc/profile
또는 ~/.bash_profile
(Debian의 .profile?)에서 설정을 가져옵니다. 이것이 우리가 혼란스러워하는 곳입니다. 이 세션에서 생성된 하위 쉘은 상위 쉘과 동일한 설정을 갖습니까(예: /etc/profile
and 에서 무엇을 얻습니까 ~/.bash_profile
?) 아니면 기본적으로 모든 설정을 잊어버리고 /etc/bashrc
and 에서 상속받 습니까 ~/.bashrc
?
또한,
X Windows를 통해 로그인하면 쉘인가요?
단지 자신만의 특별한 설정을 가진 세션 관리자인가요? 아니면 /etc/profile에서도 상속됩니까?
X Windows에서 GUI 응용 프로그램을 열면 어디서 권한을 상속받나요?
답변1
나는 이 질문이 이해에 도움이 될 것이라고 믿습니다.로그인 쉘과 비로그인 쉘의 차이점은 무엇입니까?
제 경험을 바탕으로 답변드리겠습니다. Bash와 같은 대화형 로그인 셸을 사용하는 경우 로그인하면 /source ~/.bash_profile을 읽습니다. 해당 세션에서 여는 모든 새 하위 쉘은 소스 ~/.bashrc 외에도 이러한 설정을 상속합니다. 이것이 일반적으로 사람들이 .bash_profile에 환경 변수를 넣고 별칭이나 프롬프트 테마와 같은 다른 것들을 .bashrc에 넣는 이유입니다.
그러나 예를 들어 디스플레이 관리자를 사용하여 로그인하는 경우. lightdm, 일단 로그인하면 .bash_profile을 얻지 못합니다. 대신 일반적으로 ~/.xprofile을 읽고 실행하는 모든 터미널은 ~/.bashrc만 가져옵니다(이 경우 ~/.bash_profile은 가져오지 않습니다).
어떤 사람들은 모든 환경 변수와 전역 설정을 포함하는 ~/.profile 또는 ~/.env 파일을 만들고 ~/.bash_profile, ~/.xprofile, ~/.zprofile 등에서 해당 파일을 가져와서 로그인 사이를 이동합니다. 쉘 관리자를 전환하거나 표시하는 것이 더 쉽습니다. 그런 다음 shell/x 관련 항목을 자체 파일에 넣을 수 있습니다. 예를 들어, 내 ~/.xprofile은 매우 간단합니다.
source ~/.env
volumeicon &