[unix] .profile은 데비안 Wheezy LXDE에서 제공되지 않습니다

에서 추가 $HOME/bin합니다 . 그러나 로그인 중에는 소스가 아닌 것 같습니다. 나는 로그인 관리자를 사용 – 내가 생각하고 있지 . 어떤 스크립트가 실행되는지에 대해 이것이 중요하다는 것을 알고 있습니다.$PATH~/.profilelxdmstartx

설명하기 위해 $HOME/bin명시 적으로 출처를 지정한 후에가 추가되는 방법을 참조하십시오 ~/.profile. 그러나 그래픽 로그인 중에 제공되지 않았어야합니까?

sashoalm@aspire:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ source ~/.profile
sashoalm@aspire:~$ echo $PATH
/home/sashoalm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$



답변

그러나 그래픽 로그인 중에 제공되지 않았어야합니까?

일부 그래픽 로그인이 비정상적인 자세를 취하는 것에 대한 사소한 논쟁이 있습니다 …

~ HOME에서 $ HOME / bin을 $ PATH에 추가합니다. 그러나 로그인 중에는 소스가 아닌 것 같습니다. 로그인 관리자를 사용합니다-lxdm

옳은. 대부분의 DM은 ~/.profile사용자가 로그인 할 때 읽 습니다. 그러나 ~/.profile일반적으로 로그인 쉘 에서 제공되며 DM (GUI 로그인)은 쉘이 아니므로 명시 적으로 수행해야합니다 .

DM은 셸이 아니기 때문에 lightdm사람들이 명시 적으로 소싱 하지 않은 것에 대한 타당한 이유는 무엇입니까 ~/.profile?

당신은 ~/.profile자신을 얻을 수 있습니다 ~/.xsession여기를 참조하십시오 .


답변

배쉬는 로그인 쉘의 경우, 다음이 시도됩니다 ~/.bash_profile, ~/.bash_login그리고 ~/.profile이 순서입니다. 그러나 처음 발견하면 멈 춥니 다 .

~/.profile소스가 아닌 경우 HOME디렉토리 에 다른 두 가지 중 하나가있을 수 있음을 의미합니다 . 어느 것을 확인한 다음 새로운 PATH진술을 첫 번째 진술에 배치해야합니다 .


답변

@goldilocks에 가장 동의하십시오. 그냥 소스에 스크립트가 있음을 추가 할 ~/.profile것입니다 ~/.xsessionrc대신, ~/.xsession.

근거는 다음과 같습니다.

qxu@debian:/etc/X11/Xsession.d$ cat 40x11-common_xsessionrc
# This file is sourced by Xsession(5), not executed.

#Source user defined xsessionrc (locales and other environment variables)
if [ -r "$USERXSESSIONRC" ]; then
  . "$USERXSESSIONRC"
fi

qxu@debian:/etc/X11$ grep USERXSESSIONRC Xsession
USERXSESSIONRC=$HOME/.xsessionrc


답변

Bash가 대화식 로그인 쉘 또는 --login옵션이 있는 비 대화식 쉘로 호출되면 /etc/profile파일이 존재하는 경우 먼저 파일에서 명령을 읽고 실행 합니다. 해당 파일을 읽은 후, 그것은을 찾습니다 ~/.bash_profile,
~/.bash_login그리고 ~/.profile, 순서대로, 그리고 읽고 존재하고 읽을 수있는 첫 번째에서 실행하는 명령을.

따라서 ~/.bash_profile존재하는 경우 ~/.profile절대 읽지 않습니다.


답변