Стандартные переменные окружения
Ardling 28 октября, 2009 - 00:37
Прочитал про такую переменную окружения в документации по awesome, но команда env ничего похожего не возвращает.
Как как задать переменную окружения, чтобы она каждый раз инициализировалась при загрузке?
Насколько я понимаю, $XDG_CONFIG_HOME - это стандартная переменная окружения, возможно существуют еще подобные. Есть у кого-то ссылки на материалы про это?
»
- Для комментирования войдите или зарегистрируйтесь
это куски от FreeDesktop.org
это куски от FreeDesktop.org , тамже можно и документацию отрыть
Имхо это как-то связано с
Имхо это как-то связано с ConsoleKit и PolicyKit (а в общем и freedesktop.org)... Надо или костылять поддержку consolekit или курить... неслабо курить...
Нейтральность - высшее достижение сознания!
создайте скрипт с объявлением
создайте скрипт с объявлением переменной и поместите его в /etc/profile.d/
можно и посложнее написать, ведь это самый обычный bash-скрипт ;)
НО!!! скрипт не должен начинаться с
#!/bin/bash
!!!Всем пользователям задать
Всем пользователям задать один и тот же домашний каталог?
Нет
Наверное именно для этого и была придумана такая штука как ~ (тильда).
Ardling написал(а): Как как
Для всех пользователей - в
/etc/env.d
(потом# env-update
). Для своего пользователя - где-то в~/.bashrc
.a_v написал(а): Ardling
+100
и не надо "лазать гразными лапами" в profile.d.
Для юзеров есть ~/.bash* vs. ~/.profile, для админов env.d.
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
А поподробнее?
Есть где-то формальное описание что должно лежать в этих папках? Хочется иметь некоторое понимание, кто или пользуется и как оно все работает.
Не давайте пожалуйста ссылок на гугол, они к меня уже есть, и если хотите отправить меня читать маны, то указывайте их названия. Заранее благодарен.
А не могли бы вы рассказать,
А не могли бы вы рассказать, как определить эту переменную в env.d? Создаю файл 95xdg-config, туда пихаю XDG_CONFIG_HOME="${HOME}/.config", а переменная ${HOME} не обрабатывается и в итоге ничего не работает. ЧЯДНТ?
кстати да
Тоже интересует этот вопрос - как сделать так, чтобы переменные в /etc/env.d раскрывались? Может кто подскажет?
Я пытался для Wine пеоеопределить переменную WINEPREFIX, и переменная $USER не раскрывается.
.
env-update
(да и вообще Хэндбук читать) кто делать будетЪ?:wq
--
Live free or die
Не тыкните ли в место в
Не тыкните ли в место в хандбуке, где рассказывается, как подставлять переменные в переменные в env.d? man env-update читал.
?
5.b. Defining Variables Globally
Occasionally you might be asked to set a certain environment variable system-wide. As an example we take the http_proxy variable. Instead of messing about with /etc/profile, you can now just create a file (/etc/env.d/99local) and enter your definition(s) in it
5.c. Defining Variables Locally
If you want to define an environment variable locally, you should use ~/.bashrc or ~/.bash_profile
обратите внимание, что в /etc/profile есть строка
export EDITOR=${EDITOR:-/bin/nano}
но если вы в /etc/env.d/99local напишете
export EDITOR=${EDITOR:-/bin/nano}
и сделаете env-update, то в /etc/profile.env попадёт
export EDITOR='${EDITOR:-/bin/nano}'
а это не одно и то же.
Если кратко - /etc/env.d/ вы не сможете вставлять переменные в переменные.
Ваш случай - "5.c. Defining Variables Locally"
См также http://bugs.gentoo.org/show_bug.cgi?id=4854
а эта строка - это просто подпись
Спасибо огромное :)
Спасибо огромное :)
Ardling написал(а): Насколько
Насколько я понимаю, не совсем. Это переменная, которую можно указать, чтоб наплевать на умолчальное поведение — использование
$HOME/.config
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а): Это
Есть некоторое сомнение на этот счет. Дело в том, что я с этой переменной столкнулся немного в другом контексте. awesome по умолчанию хранит свой конфиг в папке $XDG_CONFIG_HOME/awesome. Но у меня переменная $XDG_CONFIG_HOME не определена, и паки awesome я нигде не нашел.
А еще мне не нравится, что все программы хранят свои конфиги прямо в домашнем каталоге, это мешает искать если что-то потерялось, да и перенести настройки всех программ (без данных) просто скопировав одну папочку удобнее. Возможно изменение этой переменной как раз и поможет внести некоторый порядок. Еще возможно есть другие подобные стандартные переменные, которые могут помочь упорядочить программы. Если кто-то знает о таких, то отпишитесь пожалуйста.
Ardling
Ещё раз перечитай моё сообщение (-:Е
awesome не хранит свой конфиг в
$XDG_CONFIG_HOME/awesome
, он его оттуда берёт. Если она явно не определена (как и у меня), то конфиг берётся из$HOME/.config/awesome
. А если нет такового, то берёт из$XDG_CONFIG_DIRS/awesome
.Это вряд ли. Программы, уважающие эту переменную, и так кладут свои конфиги в
$HOME/.config/
(awesome, deluge, eric, transmission…).Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask
$XDG_CONFIG_DIRS не определен, но в .config директории awesome нет. И в ~ ее нет. Отсюда вопрос, как отредактировать конфиг?
mkdir -p ~/.config/awesome/
mkdir -p ~/.config/awesome/ && cp /etc/xdg/awesome/rc.lua ~/.config/awesome/ && vim ~/.config/awesome/rc.lua
Значит, если она не определена,
/etc/xdg
берётсяТекстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Файл
Файл /home/slava/.config/user-dirs.dirs