Пользовательские настройки и переменные окружения

Последнее обновление: 23.03.2024

Когда пользователь входит в систему, используется файл конфигурации /etc/profile. Этот файл определяет настройки среды для всех пользователей при входе в систему. Он также может включать команды, которые необходимо выполнить при первом входе пользователя в компьютер. Кроме файла /etc/profile в системе также может иметься файл .profile, который можно создать в домашнем каталоге пользователя и который определяет настройки только для текущего пользователя. Файл .profile выполняется последним, поэтому в случае конфликта настроек между двумя файлами всегда будут использоваться настройки, специфичные для пользователя.

Кроме того, когда пользователь запускает консоль из текущей среды, применяются еще один файл конфигурации — /etc/bashrc, а также его версия для конкретного пользователя - ~/.bashrc.

В некоторых дистрибутивах самая важная часть настроек оболочки по умолчанию находится в /etc/profile и .profile, другие дистрибутивы используют /etc/bashrc и .bashrc для хранения этих настроек. Во многих дистрибутивах команда /etc/profile включает в себя исходный код /etc/bashrc. Поэтому если необходимо, чтобы при входе в систему и при запуске терминала применялись какие-то настройки, то можно определить их в файлах /etc/bashrc и .bashrc.

После внесения изменений в эти файлы конфигурации их новые настройки надо активировать. Для этого можно использовать команду source или . (точка):

source ~/.bashrc
. ~/.bashrc

Переменные окружения

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

Для получения переменных применяется команда env:

eugene@Eugene:~$ env
SHELL=/bin/bash
QT_ACCESSIBILITY=1
COLORTERM=truecolor
GNOME_SHELL_SESSION_MODE=ubuntu
DESKTOP_SESSION=ubuntu
GTK_MODULES=gail:atk-bridge
PWD=/home/eugene
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=wayland
HOME=/home/eugene
USERNAME=eugene
LANG=en_US.UTF-8
WAYLAND_DISPLAY=wayland-0
USER=eugene
GNOME_TERMINAL_SERVICE=:1.221
DISPLAY=:0
SHLVL=1
QT_IM_MODULE=ibus
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
eugene@Eugene:~$ 

Обычно переменные автоматически загружаются при входе в систему. Наиболее важным источником новых переменных является файл /etc/profile — скрипт, который обрабатывается для каждого пользователя, входящего в систему. Для установки новой переменной для всех пользователей системы эта переменная добавляется в конец файла /etc/profile.

Если надо установить переменную только для текущего пользователя, то в домашнем каталоге пользователя (каталог home) создается файл .profile (если он отсутствует), и в конец этого файла добавляется переменная. Этот файл работает как дополнение к файлу /etc/profile

Альтернативой файлу /etc/profile является /etc/bashrc. Этот файл обрабатывается, когда пользователь открывает новое окно терминала. Этот файл также имеет аналог в домашних каталогах пользователей с именем .bashrc. Некоторые дистрибутивы Linux хранят все переменные и другие настройки оболочки только в файле .bashrc, а также считывают этот файл из /etc/profile, чтобы гарантировать, что настройки выполняются при входе пользователей в систему.

Для отображения переменной вызывается команда echo, которой передается имя переменной, предваряемое символом $:

eugene@Eugene:~$ echo $LANG
en_US.UTF-8
eugene@Eugene:~$ echo $USER
eugene
eugene@Eugene:~$ 

Для установки новой переменной мы можем присвоить имени переменной некоторое значение и вывести ее в соответствующий файл, например, в .bashrc:

echo HELLO=Hello_METANIT.COM >> ~/.bashrc

Для немедленного применения изменений введем команду

source ~/.bashrc

И проверим переменную HELLO

eugene@Eugene:~$ echo $HELLO
Hello_METANIT.COM
eugene@Eugene:~$ 
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850