/ etc / profile vs ~ / .profile


13

Я запускаю ubuntu 12.04.1 LTS. І я не можу отримати порядок / пріоритет для завантаження файлів профілів. Коли я запускаю систему та входжу за допомогою GUI, який файл завантажується? І чому? Що робити, якщо запустити оболонку входу? Чи буде те саме? Насправді зараз я не можу зрозуміти, чому мій ~/.profileне завантажується при запуску системи, оскільки тут я бачу, що це повинно:

https://help.ubuntu.com/community/EnvironmentVariables


Як ви тестуєте, чи завантажується ~ / .profile?
Андреа Корбелліні

Є змінна середовище, оновлена ​​в ~ / .profile
sunprophit

Відповіді:


3

Ви можете визначити змінну у кожному файлі:

ORDER=${ORDER}+"/etc/profile"

відповідно

ORDER=${ORDER}+"~/.profile"

і виконати

echo ${ORDER}

щоб побачити, що стосувалося і в якому порядку. Звичайно, це не скаже тобі, якщо були різні сценарії, які ти пропустив.

Тож, якщо ви бачите одне джерело, згадане, прочитайте цей скрипт, щоб подивитися, чи є один із джерел сценарію іншим, і включіть їх також.

/etc/bash.bashrc і ~ / .bashrc і ~ / .bash_login приходять на думку, а також речі з / etc / default.


Гм, $ ЗАМОВЛЕННЯ порожнє, це означає, що жоден з них не завантажений?
sunprophit

Не впевнений, чому $ ORDER порожній, можливо, через якусь синтаксичну помилку. Я не знаю багато про різниці між тире і башти. Хоча я маю на увазі вас відповісти правильним, тому що це допомогло дістатися, де проблема.
sunprophit

7

Все залежить від того, з яким користувачем ви намагаєтесь увійти. Глобальний /etc/profileфайл завантажується для кожного користувача , тоді як файл завантажується ~/.profileлише для користувача.

~вказує на домашній каталог поточного користувача. Отже, якщо ви введете його /home/user-a/.profileта ввійдете в систему як user-a, так і глобальний та специфічний для нього файл завантажуються (у такому порядку), тоді як якщо ви ввійдете як user-bбез .profileфайлу, він завантажує лише глобальний.


У поточному профілі користувача (~ / .profile) є частина, яка повинна оновлювати змінні середовища. Я маю на увазі, що це не в якомусь іншому профілі. Це профіль цього користувача. Але я спробував @user_unknown рішення перевірити завантаження профілів, і, здається, жоден з них не завантажений.
sunprophit

0

Обидва повинні бути завантажені, і ~ / .profile має бути завантажений останнім (значить, він має пріоритет).


Тоді я не впевнений, що відбувається. Якщо я запускаю це явно в терміналі, він завантажується. Чи може виникнути проблема під час входу в систему, і в результаті ~ / .profile не завантажується, але тоді в терміналі цих проблем немає. Чи можу я перевірити, чи намагалася система завантажити його?
sunprophit

0

Це моя вина. У моєму ~ / .profile був [[some_test]], і він працює добре в bash, але я думаю, тире виконує деякі команди pre_session_creation / post_session_creation при запуску сеансу, а тире не знаю [[ключове слово. Отже, все було завантажено, але зупинилось на помилці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.