ответ andcoz предоставил мне хороший критерий поиска, т.е. просто использование
$ apt-cache search gallery
результаты в некоторых пакетах, соответствующих указанным выше критериям, например.
--bigy
), домашняя страница и страница справочника пропускают некоторые примеры использования--original
создает ссылки на исходные файлы(В соответствии с Ubuntu 10.04)
tl; доктор
Выполнение ssh 127.0.0.1 ydisplay
источники ~/.bashrc
вместо /etc/profile
. Измените свой путь в ~/.bashrc
вместо этого.
подробнее
Единственное время /etc/profile
читается, когда Ваша оболочка является "оболочкой входа в систему".
Из справочника Bash:
Когда удар вызывается как оболочка входа в систему... он сначала читает и выполняет команды из файла/etc/profile
Но когда Вы работаете ssh 127.0.0.1 ydisplay
, bash
не запускается как оболочка входа в систему. Все же это действительно читает другой файл запуска. В Справочнике Bash говорится:
когда... выполняется... sshd.... это читает и выполняет команды от
~/.bashrc
Таким образом, необходимо поместить Ваш PATH
настройки в ~/.bashrc
.
В большинстве систем, ~/.bash_profile
источники ~/.bashrc
, таким образом, можно поместить настройки только в ~/.bashrc
вместо того, чтобы помещать их в оба файла.
Нет никакого стандартного способа изменить настройки для всех пользователей, но большинство систем имеет a /etc/bashrc
, /etc/bash.bashrc
, или подобный.
Сбой этого, настроенного pam_env
и помещенный PATH
начинание /etc/environment
.
См. также:
Исторически, файлы профиля (/etc/profile
и ~/.profile
) были вызваны, когда Вы вошли в систему (на текстовой консоли, что еще?) и подаваемый много целей:
stty
).Все эти цели не были идентифицированы как отдельные до позже. Поскольку сценарии профиля могут сделать вещи, которые только имеют смысл на интерактивной сессии (терминальное взаимодействие, запустите другие программы), когда удаленный вызов оболочки (rsh) был представлен, делание из rsh решило не вызвать удаленную оболочку как оболочку входа в систему, так, чтобы сценарии профиля не были выполнены. (Некоторые версии rshd
имейте опцию выполнить удаленную оболочку как оболочку входа в систему.) Ssh скопировал это поведение, чтобы быть общедоступной заменой для rsh.
Если Вы хотите выполнить свои сценарии профиля, можно вызвать их явно.
ssh 127.0.0.1 '. /etc/profile; . ~/.profile; ydisplay'
Отметьте команду .
загрузить сценарии профиля в оболочке: они - команды, которые будут выполняться в той оболочке, не внешней программе.
Если Вы хотите установить переменную среды глобально для всех пользователей, во многих системах существует другой метод: вместо того, чтобы определить его в /etc/profile
, определите его в /etc/environment
. Этот файл прочитан pam_env
модуль; большинство дистрибутивов Linux настраивается для чтения его.
Если Ваша оболочка входа в систему является ударом, существует дальнейшая возможность. Обычно, Вы не должны устанавливать переменные среды в .bashrc
(потому что они не будут установлены на X сессиях кроме того, если Вы пройдете терминал с интерактивной оболочкой, потому что они не будут установлены, если Вы войдете в систему в интерактивном режиме на текстовой консоли или по ssh, потому что они переопределят пользовательские настройки, если Вы вызовете оболочку в другой программе). Однако удар имеет странную функцию, которую я никогда не понимал: это читает ~/.bashrc
при двух несвязанных обстоятельствах:
rshd
или sshd
.При выполнении команды по ssh Вы находитесь во втором случае. Можно расположить считать профиль путем чтения /etc/profile
и .profile
от .bashrc
. Включайте следующий код в Ваш ~/.bashrc
:
case $- in
*i*) :;; # this is an interactive shell, fine
*) # This is not an interactive shell! This must be a non-interactive remote shell session.
. /etc/profile; . ~/.profile
return;;
esac
У меня уже была эта проблема. Причина проста,
If you have two executable files sharing the same name located in two different directories, the shell will run the file that is in the directory that comes first in the $PATH
Источник:Как добавить каталог в PATH в Linux
У меня было приложение Pointwise.Когда я проверил, где находится его исполняемый файл, я заметил следующее:
:~> which pointwise
/usr/local/bin/pointwise
который был пуст, но при установке этот каталог был создан. Когда я проверил $PATH
, у меня было:
/usr/bin/path:/home/mendezj/bin:/usr/local/bin:/usr/bin:/bin:/opt/pbs/bin:/opt/sim_pkgs/working/apps/POINTWISE
Обратите внимание, что я изменил /etc/profile
и добавил фактический путь к исполняемому файлу. Чтобы решить проблему, я изменил местоположение исполняемого файла. Я вывел его в начало переменной $PATH
.
Это было:
PATH="$PATH:/opt/sim_pkgs/working/apps/POINTWISE"
и я изменил его на:
PATH="/opt/sim_pkgs/working/apps/POINTWISE:$PATH"
Проблема решена, так как перед переходом к /usr/local/bin
просматривается первая запись.