Полезные переменные (системные и пользовательские)
Модератор: Модераторы разделов
Полезные переменные
Вот многие наверняка не знают, что очень многого можно добиться, просто установив кое-какие переменные окружения. В этом случае разные программы будут использовать их значения в своей работе, что позволяет глобально создать подстройку системы под себя.
Как именно их устанавливать, зависит от системы/shell и т.п., для bash - пишем
export VARIABLENAME=value в .bashrc
Про переменную LANG и LC_* много говорили отдельно, они устанавливают язык интерфейса и опции локализации.
VISUAL, EDITOR - ваш любимый консольный редактор. Обычно по умолчанию vi, хорошие кандидаты - vim, emacs и т.п.
PAGER - консольный текстовый просмотрщик, обычно less, я лучше ничего не нашел.
HTTP_PROXY, FTP_PROXY
(устарело) http_proxy, ftp_proxy
Прокcи, через которую должны работать HTTP/FTP соединения, например http://user:password/192.168.0.1:8080
Многие программы могут использовать специальные переменные окружения, но об этом должно быть написано в документации к программе.
Раскапывайте конфиги.
Как именно их устанавливать, зависит от системы/shell и т.п., для bash - пишем
export VARIABLENAME=value в .bashrc
Про переменную LANG и LC_* много говорили отдельно, они устанавливают язык интерфейса и опции локализации.
VISUAL, EDITOR - ваш любимый консольный редактор. Обычно по умолчанию vi, хорошие кандидаты - vim, emacs и т.п.
PAGER - консольный текстовый просмотрщик, обычно less, я лучше ничего не нашел.
HTTP_PROXY, FTP_PROXY
(устарело) http_proxy, ftp_proxy
Прокcи, через которую должны работать HTTP/FTP соединения, например http://user:password/192.168.0.1:8080
Многие программы могут использовать специальные переменные окружения, но об этом должно быть написано в документации к программе.
Раскапывайте конфиги.
Re: Полезные переменные
очень полезная идея
нужно только будет про разницу в синтаксисе POSIX shell и C shell досочинить (могу взять на себя)
нужно только будет про разницу в синтаксисе POSIX shell и C shell досочинить (могу взять на себя)
- polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
- Контактная информация:
Re: Полезные переменные
export G_FILENAME_ENCODING=@locale может исправить проблемы в отображении не UTF8 названий файлов в некоторых gtk-программах.(у меня например rox ее хочет).
для sh/bash/zsh. для tcsh/csh пишем setenv VARIABLENAME value
для bash - пишем export VARIABLENAME=value в .bashrc
для sh/bash/zsh. для tcsh/csh пишем setenv VARIABLENAME value
И немедленно выпил.
Re: Полезные переменные
(polachok @ Понедельник, 01 Августа 2005, 17:15) писал(а):export G_FILENAME_ENCODING=@locale может исправить проблемы в отображении не UTF8 названий файлов в некоторых gtk-программах.(у меня например rox ее хочет).
для bash - пишем export VARIABLENAME=value в .bashrc
для sh/bash/zsh. для tcsh/csh пишем setenv VARIABLENAME value
для zsh допустимы оба синтаксиса
для csh/tcsh переменные оболочки определяются командой
set VARIABLENAME value
их принято определять в файле ~/.cshrc
Переменные среды определяются командой
setenv VARIABLENAME value
их традиционно помещают в ~/.login
В zsh - все очень кучеряво, так что наверное про него здесь не нужно?
Re: Полезные переменные
Вот ещё, вспомнил.
BROWSER
BROWSER
- polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
- Контактная информация:
Re: Полезные переменные
а в чем отличие переменных среды от переменных оболочки? про zsh так и сказать
PS про zsh знал - забыл
для zsh допустимы оба синтаксиса
PS про zsh знал - забыл
И немедленно выпил.
Re: Полезные переменные
(polachok @ Понедельник, 01 Августа 2005, 17:41) писал(а):а в чем отличие переменных среды от переменных оболочки?
переменные оболочки действенны только в текущем экземпляре шелла, переменные среды - во всех порожденных процессах (в т.ч и не обязательно шеллах - в mc, например)
поэтому переменные среды обычно определяют раз навсегда в том файле, который отвечает за конфигурацию login shell - в csh сотоварищи это будет ~/.login, в zsh - ~/.zlogin или ~/.zprofile, в зависимости от того, какой схемы придерживаться - sh'вской или csh'евской
а в bash - ~/.bash_profile? не ошибаюсь?
alv добавил в 01.08.2005 19:37
еще такая важная переменная, как
PACKAGESITE URL
или ее аналоги - место, откель по умолчанию берутся пакеты при использовании штатного пакетного менеджера
Re: Полезные переменные
А что же про такую классику, как PATH и MANPATH не написали? В первой хранится список путей (в bash -- разделённых двоеточиями) для поиска запускаемых файлов, во второй -- для поиска man-страниц. Например, у меня в ~/.bashrc есть такие строки:
t.t добавил в 01.08.2005 20:23
Ещё вот вспомнил, полезные вещи для работы с историей команд:
HISTCONTROL -- у меня там единственный параметр, ignoredups, думаю, смысл понятен из названия; про других не помню.
HISTIGNORE -- список (в баше -- опять же через двоеточия) игнорируемых, т.е. не добавляемых в историю, команд, например
Код: Выделить всё
for i in /usr/share/man/ru*; do
echo $MANPATH |grep -q "$i" || export MANPATH="$i":"$MANPATH"
done
t.t добавил в 01.08.2005 20:23
Ещё вот вспомнил, полезные вещи для работы с историей команд:
HISTCONTROL -- у меня там единственный параметр, ignoredups, думаю, смысл понятен из названия; про других не помню.
HISTIGNORE -- список (в баше -- опять же через двоеточия) игнорируемых, т.е. не добавляемых в историю, команд, например
Код: Выделить всё
cd:cd *:l:ls:la:su:su *:/tmp/*:ps aux:exit:logout:reboot:poweroff
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Полезные переменные
PATH это тривиально.
MANPATH знал да забыл, его не часто нужно менять, а за озвучку спасибо.
MANPATH знал да забыл, его не часто нужно менять, а за озвучку спасибо.
Re: Полезные переменные
По мне, не более тривиально, чем, скажем, LANG.(Bolverk @ Понедельник, 01 Августа 2005, 19:25) писал(а):PATH это тривиально.
Менять -- да, а вот прописать в стартовых файлах после доустановки тех же русских манов не помешает.(Bolverk @ Понедельник, 01 Августа 2005, 19:25) писал(а):MANPATH знал да забыл, его не часто нужно менять
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Полезные переменные
а также в тех дистрах, которые активно пользуют /opt
и в системах, использующих pkgsrc - там это просто обязательно
а про alias'ы будем здесь говорить? или лучше в отдельной теме?
Re: Полезные переменные
по-моему, лучше в отдельной.(alv @ Понедельник, 01 Августа 2005, 19:34) писал(а):а про alias'ы будем здесь говорить? или лучше в отдельной теме?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Re: Полезные переменные
кстати, про PATH - имхо нужно добавить нечто вроде этого:
в большинстве систем переменная PATH определяется по разному для root'а и всех обычных пользователелей. Для первого в числе ее значений в обязательном порядке присутствуют каталоги /sbin, /usr/sbin и, возможно, /usr/local/sbin, которые у пользователя обычно не определяются. Категорически не рекомендуется вносить в PATH администратора текущий каталог (символ точки); для юзера это не столь критично, но делать это следует только если есть веская причина (хотя какая причина может быть тут веской - ума не приложу:-)), и в любом случае текущий каталог должен быть последним из значений PATH
alv добавил в 01.08.2005 20:40
согласен. покончим с переменными - займемся алиасами?
в большинстве систем переменная PATH определяется по разному для root'а и всех обычных пользователелей. Для первого в числе ее значений в обязательном порядке присутствуют каталоги /sbin, /usr/sbin и, возможно, /usr/local/sbin, которые у пользователя обычно не определяются. Категорически не рекомендуется вносить в PATH администратора текущий каталог (символ точки); для юзера это не столь критично, но делать это следует только если есть веская причина (хотя какая причина может быть тут веской - ума не приложу:-)), и в любом случае текущий каталог должен быть последним из значений PATH
alv добавил в 01.08.2005 20:40
согласен. покончим с переменными - займемся алиасами?
Re: Полезные переменные
Вставлю и свои 5 копеек Для тех кто любит сам собирать кдешный софт полезно определить переменную KDEDIR:
export KDEDIR=`kde-config --prefix`
Это избавит от необходимости каждый раз указывать --prefix в ./configure
А для кутявых прог можно определить QTDIR.
export KDEDIR=`kde-config --prefix`
Это избавит от необходимости каждый раз указывать --prefix в ./configure
А для кутявых прог можно определить QTDIR.
Свобода есть тонкая полоска между диктатурой и анархией.
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
Re: Полезные переменные
(alv @ Понедельник, 01 Августа 2005, 17:37) писал(а):а в bash - ~/.bash_profile? не ошибаюсь?
У меня запихнуто в ~/.bashrc, но ~/.bash_profile выглядит так:
Код: Выделить всё
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
BASH_ENV=$HOME/.bashrc
export BASH_ENV
Это читает ~/.bashrc, и ещё какую-то переменную выставляет...
Bolverk добавил в 02.08.2005 02:23
А вот ещё MAIL, вроде бы указывающая на юзерский почтовый ящик (подозреваю, что для программы mail, т.е. только mbox).
Bolverk добавил в 02.08.2005 02:32
(t.t @ Понедельник, 01 Августа 2005, 18:27) писал(а):По мне, не более тривиально, чем, скажем, LANG.
LANG тоже тривиально Без него никуда.
(t.t @ Понедельник, 01 Августа 2005, 18:27) писал(а):Менять -- да, а вот прописать в стартовых файлах после доустановки тех же русских манов не помешает.
Ну, это смотря какой дистрибутив
Bolverk добавил в 02.08.2005 02:34
(t.t @ Понедельник, 01 Августа 2005, 18:23) писал(а):HISTCONTROL -- у меня там единственный параметр, ignoredups, думаю, смысл понятен из названия; про других не помню.
Вот за это дякую, ибо задолбало.
Bolverk добавил в 02.08.2005 02:37
(polachok @ Понедельник, 01 Августа 2005, 17:41) писал(а):а в чем отличие переменных среды от переменных оболочки?
Переменные оболочки, по сути - конфигурационные параметры шелла, размер истории
там и т.п.
(alv @ Понедельник, 01 Августа 2005, 17:37) писал(а):PACKAGESITE URL
У меня такой переменной не обнаружилось, аналогов не знаю... и меня это совсем не удивляет
Re: Полезные переменные
тоже добавим в копилку ....
при использовании локали (не UTF) для GTK2:
G_BROKEN_FILENAMES
G_FILENAME_ENCODING
antialiasing: QT_XFT, GDK_USE_XFT
MPD_HOST,MPD_PORT - хост/порт демона musicpd, если используются клиенты mpc, ncmpc
для FreeBSD:
__MAKE_CONF - путь к make.conf
для KDE:
KDEWM - оконный менеджер для KDE
при использовании локали (не UTF) для GTK2:
G_BROKEN_FILENAMES
G_FILENAME_ENCODING
antialiasing: QT_XFT, GDK_USE_XFT
MPD_HOST,MPD_PORT - хост/порт демона musicpd, если используются клиенты mpc, ncmpc
для FreeBSD:
__MAKE_CONF - путь к make.conf
для KDE:
KDEWM - оконный менеджер для KDE
-
- Сообщения: 537
- Статус: 人です
- ОС: Gentoo
Re: Полезные переменные
Народ, а в каком файлике прописывается переменная $PATH?
Re: Полезные переменные
Издеваешься?(clx @ Четверг, 04 Августа 2005, 14:43) писал(а):Для MaGIc2laNTern:
Может в /etc/ld.so.conf ?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
- polachok
- Бывший модератор
- Сообщения: 2199
- Статус: главный форумный маргинал
- ОС: gnu/linux
- Контактная информация:
Re: Полезные переменные
типа прикол наверное в конфигурационном файле твоего shell'a
И немедленно выпил.
Re: Полезные переменные
Ладно , проехали
Переменная $PATH прописывается в ~/.bash_profile, например.
Переменная $PATH прописывается в ~/.bash_profile, например.
iMac 20" Core Duo.
Re: Полезные переменные
Код: Выделить всё
t=/mnt/media/mp3 // для удобства быстрого перехода в каталог пример #cd $t
PATH="${PATH}:${HOME}/bin" //для поиска программ в каталоге
alias ls="ls --color=auto" // list files цветной
Re: Полезные переменные
А вот переменную PRINTER забыли! А ведь её многие редакторы пользуют!
Don't trouble troubles until troubles trouble you!
Re: Полезные переменные
А вот из собственного опыта.
Когда локаль выставлена не очень верно, Perl может ругается на LOCALE.
Для временной блокировки сего эффекта можно установить PERL_BADLANG=0.
Но при этом
возможно будет работать не очень верно .
Когда локаль выставлена не очень верно, Perl может ругается на LOCALE.
Для временной блокировки сего эффекта можно установить PERL_BADLANG=0.
Но при этом
Код: Выделить всё
use locale;
возможно будет работать не очень верно .
Re: Полезные переменные
в FC (в других не обращал внимания) есть файл /etc/environment, значения которого действуют на всех юзеров
phenom x4 905e, asus m4a79 deluxe, 4 gb, ati x550, ati 4350, 2 x 17" LCD