.profile не поставляется в Debian Wheezy LXDE


11

Я добавляю $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:~$ 

Вы пытались добавить его в / etc / profile?
MariusMatutiae

3
Я не хочу, чтобы это было глобальным для всех пользователей, только для одного пользователя.
sashoalm

Ответы:


13

Но разве это не должно было быть получено во время графического входа?

Есть небольшая дискуссия о том, что некоторые графические логины занимают необычную позицию ...

Я добавляю $ HOME / bin в $ PATH из ~ / .profile. Тем не менее, кажется, что это не источник во время входа в систему. Я использую менеджер входа в систему - я думаю, lxdm

Верный. Большинство DM читают, ~/.profileкогда вы входите в систему. Тем не менее, они должны делать это явно, так ~/.profileкак они традиционно получают из оболочек входа в систему, а DM (GUI login) не является оболочкой!

Какое оправдание я видел у lightdmлюдей за то, что они не используют~/.profile явный источник - потому что DM - это не оболочка.

Вы можете взять ~/.profileсебя из ~/.xsession- смотрите здесь .


2
Источники ~/.profileиз ~/.xsessionвероятно работали, когда этот ответ был написан, но, похоже, он больше не работает. Я получил это, работая ~/.xsessionrcвместо этого.
Филип С.

2

Если bash - это ваша оболочка входа в систему, то она будет пытаться ~/.bash_profile, ~/.bash_loginи ~/.profileв этом порядке. Однако он остановится на первом найденном.

Если у вас ~/.profileнет источника, это означает, что у вас есть один из двух других (возможно, оба) в вашем HOMEкаталоге. Вы должны проверить, какой, а затем поместить новый PATHоператор в первый.


3
Хотя это и является возможной причиной, эти файлы не существовали в моей системе (я проверял это еще до того, как спросил).
sashoalm

2

Согласитесь с @goldilocks mostely. Просто хочу добавить, что скрипт к источнику ~/.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

1

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с --loginпараметром, она сначала читает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла, он ищет ~/.bash_profile, ~/.bash_loginи ~/.profile, в таком порядке, и читает и выполняет команду из первого, который существует и читаемые.

Так что, когда ~/.bash_profileсуществует, ~/.profileникогда не будет прочитано.


4
Да, но это не существует в моем случае.
sashoalm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.