에서 추가 $HOME/bin
합니다 . 그러나 로그인 중에는 소스가 아닌 것 같습니다. 나는 로그인 관리자를 사용 – 내가 생각하고 있지 . 어떤 스크립트가 실행되는지에 대해 이것이 중요하다는 것을 알고 있습니다.$PATH
~/.profile
lxdm
startx
설명하기 위해 $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
절대 읽지 않습니다.