Можно добраться PATH
- поиск использования семантики env
, так:
#!/usr/bin/env ruby
имеет семантику, от которой Вы хотели бы
#!ruby
Причина это в зависимости от PATH
не рассматривается хорошая практика - то, что сценарий не может сделать предположения о содержании переменной окружения PATH, повредив "последовательную модель зависимости" двоичных файлов где
/bin
содержит исполняемые файлы, необходимые во время начальной загрузки;/usr/bin
содержит другие исполняемые файлы, используемые установкой ОС;/usr/local/bin
содержит исполняемые файлы, установленные системным администратором, которые не являются частью основной ОС.~/bin
содержит собственные исполняемые файлы пользователя.Каждый уровень не должен принимать существование двоичных файлов позже в последовательности, которые являются большим количеством "приложения", но могут полагаться на двоичные файлы ранее, которые являются большим количеством "зада". И переменная ПУТИ имеет тенденцию работать от applicationy до фундаментального, который является противоположным направлением к естественной зависимости выше.
Для иллюстрирования проблемы спросите себя, что происходит если сценарий в ~/bin
вызывает сценарий в /usr/local/bin
это вызывает Ruby? Если тот сценарий зависит от установленной версии ОС в /usr/bin/ruby
, или на персональной копии пользователь, оказывается, имеет в ~/bin/ruby
? PATH
поиск дает непредсказуемую семантику, связанную с последним (возможно, ~/bin/ruby
разорванная символьная связь), при выпекании в пути к #!
дает первому.
Нет действительно никакой другой платформенно независимой "операционной системы... информации относительно пути для зарегистрированной команды", таким образом, самая простая вещь состоит в том, чтобы настоять на пути, обеспечиваемом в #!
.
Прямо сейчас я отвечаю на это со своим ноутбуком, подключенным к монитору. Иметь мой рабочий стол расширилось, я использую xrandr
и его графический интерфейс ARandR
, они оба работающие вполне прилично.
Действительно, у меня есть сценарий, который я выполняю каждый раз, когда я регистрируюсь к своему ноутбуку, присоединяющему экран к нему:
#!/bin/sh
xrandr --output LVDS1 --mode 1280x800 --pos 0x0 --rotate normal --output VGA1 --mode 1440x900 --pos 1280x0 --rotate normal --output HDMI1 --off
Для понимания этого в первую очередь, необходимо видеть, что это ссылается три outputs
: LVDS1, который является экраном ноутбука; VGA1, который является моим внешним монитором; и HDMI1, который отключен (опция --off
прямо после него), потому что у меня нет монитора присоединенным к тому порту.
Можно получить список выводов, доступных с:
xrandr -q
После каждого output
некоторые параметры, которые устанавливают определенные функции их:
mode
: устанавливает разрешение вывода.pos
: который устанавливает положение вывода относительно верхнего левого угла составленного рабочего стола.rotate
: который устанавливает вращение, Вы хотите для вывода.У меня есть графический адаптер Intel. В случае Nvidia у них есть приложение для выбора TwinView
, например.
(Позвольте мне рассматривать это Вопросы и ответы как заметка к моему будущему сам),
Самым легким путем я нашел с, просто нажимают кнопку "extend desktop" - Функциональный F5.
Например, в KDE4 Вы выполняете Параметры настройки системы, и в настройках Display Вы выбираете для расширения монитора (и также в которой стороне - левый или правый - требуется "поместить" второй монитор). Простых 100%.