Профиль загружен не для всех пользователей - PullRequest
2 голосов
/ 12 ноября 2010

Недавно я получил набор инструментов arm-linux-gcc для моей операционной системы Ubuntu.Я настроил переменную пути для набора инструментов в файле / etc / profile.Я могу получить доступ к цепочке инструментов, только когда я вошел в систему как пользователь root, и это тоже, я должен делать

source /etc/profile

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

С уважением,

1 Ответ

3 голосов
/ 12 ноября 2010

Возможно, вы не используете оболочку входа в систему.

Это немного зависит от используемой вами оболочки. Я использую Bash, но, возможно, вы используете BusyBox?

Из руководства по bash:

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

То, что я обычно делаю, чтобы решить эту проблему, помещено:

source /etc/profile

как первая строка в моем ~ / .bashrc.

Это работает, потому что ~ / .bashrc также выполняется для оболочек без входа в систему.

Чтобы увидеть, какие файлы выполняются, вы можете поместить в них диагностические сообщения. Если я не могу вспомнить, какие файлы выполняются при каком типе входа в систему, я ставлю:

echo /etc/profile/

как первая строка в моем / etc / profile, то же самое для / etc / bash / bashrc, ~ / .bashrc, ~ / .profile и т. Д.

Для получения дополнительной информации обратитесь к части "INVOCATION" руководства по bash.

...