15

Я ищу способ установить произвольные переменные среды для моего графического входа в Linux. Я не говорю о запуске терминала и экспорте переменных среды внутри терминала, потому что эти переменные существуют только внутри этого одного терминала. Я хочу знать, как установить переменную среды, которая будет применяться ко всем программам, запущенным в моем графическом сеансе.

Другими словами, что такое Xorg-эквивалент ~/.bash_login?

3 ответа3

8

Вы всегда можете поместить их в .profile , поэтому они должны применяться для любого входа в систему.

Проблемы возникают, однако, если существует .bash_login : В этом случае bash не будет читать .profile .

Если вы хотите, чтобы ваши переменные из .profile применялись как в bash, так и для других входов в систему, не используйте .bash_login ! Вместо этого поместите определенные переменные bash в .bashrc .

Или, альтернативно, включите .profile из .bash_login

3

Мой .profile делает больше, чем просто устанавливает переменные среды, поэтому я выделил задачи установки среды в файл .setenv который только устанавливает среду. Чтобы установить среду для X11 в Debian, я добавил .xsessionrc у себя дома с помощью:

. ~/.setenv

Файл, который вызывает источник .xsessionrc , является /etc/X11/Xsession.d/40x11-common_xsessionrc .

Использование файлов, которые использует bash для настройки среды, не помогло. Конечно, если бы я запустил оболочку bash в X11, я бы получил ту среду, которую хотел. Однако мне нужно настроить PATH так, чтобы в моей среде рабочего стола было запущено необходимое мне программное обеспечение. Например, я часто использую пользовательские версии Firefox, установленные вне обычных путей. Я хочу, чтобы среда рабочего стола запускала правильную версию, а не использовала все, что можно найти в путях по умолчанию. Для этого необходимо установить PATH до запуска среды рабочего стола.

0

У самого Xorg такого нет, поскольку он не запускает ваши программы - это будет любой менеджер дисплеев (gdm, xdm, xinit, startx и т.д.) Или менеджер сессий (gnome-session, KDE и т.д.), Который вы используете , так как они являются родителями ваших процессов сеанса рабочего стола. К сожалению, существует множество таких, каждый из которых имеет свои сценарии запуска / точечные файлы, поэтому нет единого ответа для всех. (В соответствии с моделью клиент / сервер X, сервер X может даже не находиться на том же компьютере, что и клиенты, и часто вместо вас он работает от имени пользователя root, так что это неподходящее место для таких настроек, как переменные среды.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .