Як я можу встановити змінні середовища для графічного входу в Linux?


15

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

Іншими словами, що таке еквівалент Xorg ~/.bash_login?

Відповіді:


10

Ви завжди можете розмістити їх .profile, тому вони повинні застосовуватись для будь-якого входу.

Однак проблеми виникають, якщо такі .bash_loginє: У такому випадку баш не читатиметься .profile.

Якщо ви хочете, щоб ваші змінні .profileзастосовувались як у bash, так і для інших входів, не використовуйте .bash_login! .bashrcЗамість цього поставте специфічні змінні bash .

Або в якості альтернативи включати .profileвід.bash_login


Спасибі, .profileпрацювали.
Райан К. Томпсон

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

1
Здається, що для KDE вам потрібно це вкласти ~/.kde/env/і закінчити .sh. Дивіться сторінку startkde.
Райан К. Томпсон,

2
Насправді це здається трохи складнішим. Це залежить від вашого вибору розподілу, середовища на робочому столі та навіть вашої оболонки для входу. Для Gnome в Ubuntu 10.04 вам слід ввести сценарій налаштування ~/.gnomerc, як показано в. /etc/X11/Xsession.d/55gnome-session_gnomercKDE читає сценарій профілю для того, який оболонкою буде ваша оболонка для входу. Якщо SHELL=bash, то він читає ~/.profile. Якщо SHELL=zsh, то він читає ~/.zprofile. Я не знаю, що це робить для інших снарядів.
Райан К. Томпсон,

4

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

. ~/.setenv

Файл, який викликає .xsessionrcотримання, є /etc/X11/Xsession.d/40x11-common_xsessionrc.

Використання файлів, які bash використовує для встановлення свого оточення, не робив того, що я хочу. Звичайно, якби я запустив bash shell в X11, я отримав би те середовище, яке хотів. Однак мені потрібно встановити свій PATH, щоб моє середовище на робочому столі запускало потрібне програмне забезпечення. Наприклад, я часто використовую власні версії Firefox, встановлені поза звичайними шляхами. Я хочу, щоб моє середовище на робочому столі запустило належну версію, а не використовувало те, що воно може знайти на контурах за замовчуванням. Для цього потрібно встановити PATH перед тим, як розпочнеться середовище робочого столу.


0

Сам Xorg не має його, оскільки він не запускає ваші програми - це буде будь-який диспетчер дисплеїв (gdm, xdm, xinit, startx тощо) або менеджер сеансів (gnome-session, KDE тощо), який ви використовуєте. , оскільки це батьки процесів сеансу на робочому столі. На жаль, існує безліч таких, кожен з яких має різні сценарії / dotfiles запуску, тож відповіді не має одного розміру. (У моделі клієнт / сервер X, сервер X може навіть не знаходитися на тій же машині, що і клієнти, і він часто працює як root замість вас, тому неправильне місце для налаштувань, таких як змінні середовища.)


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