Это прибывает от суперпользователя:
menuentry "Other Disk" {
insmod part_msdos
set root='(hd1)'
drivemap -s hd0 hd1
chainloader (hd1)+1
}
Этот конкретный пример для slingshotting к другому диску для начальной загрузки MBR, который содержит GRUB1. Таким образом, требуется немного перезаписи для Вашего конкретного примера. Но бросок GRUB2 для начальной загрузки другого диска, кажется, способ пойти. Ваш set root=(hd1,1)
надежды найти загрузчик в первом разделе второго диска.
Нет, Вы не можете сделать этого непосредственно. В X архитектуре два физических монитора, которые Вы видите, не являются заметными приложениями. Можно только проложить себе путь вокруг этой абстракции путем определения, которому соответствуют области видимой рабочей области, какой монитор и затем помещают окна при корректном смещении.
Разумные инструментарии поддерживают a -geometry
опция, которая позволяет Вашему приложению запрашивать быть помещенным в определенное положение. Если Вы не имеете эту опцию в наличии, можно использовать wmctrl
если у Вас есть совместимый менеджер по X Window EWMH/NetWM, чтобы переместить и уже изменить размер существующих окон (см. wmctrl (1), Вам нужны опции -r
и -e
). Я использую devilspie
для принуждения размещения некоторых окон и конечно предпочтительный менеджер окон может иметь свое собственное средство для принуждения размещения окна.
devilspie
позволяет применять определенные действия на X-окна и может использовать свойства X-окна для различения различных окон и приложений. Ключевое правило для Вас было бы geometry "<width>x<height>+<xoffset>+<yoffset>"
.
Все же всегда необходимо делать вычисления того, когда и где другой физический монитор начинает себя. Но это не слишком твердо и xrandr
действительно говорит Вам, как и где это использует мониторы в форме "<width>x<height>+<xoffset>+<yoffset>
на каждой строке, смотрящей с выходным именем.
Нет foolproof-it-will-just-work пути, потому что реализации могут (и делать!) варьируются. wmctrl
обычно работы над заголовком окна для идентификации цели. devilspie
может также относиться к его классу, все же, я не знаю ни о каком инструментарии, который позволяет Вам указать класс X-окон, но не его геометрию.
Конечно, Вы могли всегда запускать два xephyr
экземпляры и делают одну заливку Вашим левым экраном и другим Вашим правильным экраном и затем обращаются к экранам через DISPLAY
переменная среды, но это решение имеет другие оборотные стороны.
В теории полномочия для управления размещением окна являются менеджером окон. Следовательно, если Вы хотите материал, Ваш менеджер окон не может к, это будет hacky, и это - также причина, почему нет никакого универсального способа выполнить это.
Все же, если Ваш конкретный вариант использования является Вашим эмулятором андроида..., который очень отличается от просьбы об опции указать SCREEN=n fooapp
на оболочке, затем devilspie
может быть тем, что Вы ищете. Подсказка: Я нашел, лучше определять приложения их классом окна.
Это зависит от того, как Ваши парные мониторы являются установкой.
Если бы Вы используете XINERAMA, чтобы заставить оба дисплея быть похожими на тот к X, то Вы использовали бы -geometry
опция попросить, чтобы приложения появились в определенном местоположении. Если у Вас будет установка дисплеев как различные экраны затем, то Вы будете использовать DISPLAY
достигнуть этого.
Дайте им попытку:
$ DISPLAY=0.0 xterm &
$ DISPLAY=0.1 xterm &
Если Ваши мониторы являются экраном 0 и 1, это должно породить xterm на каждом мониторе.
-geometry
не всегда работает правильно. Кейси
– casey
27.12.2013, 22:49
emulator
, на основе QEMU). Программа открывается, где мой курсор мыши расположен.
– Lekensteyn
27.12.2013, 22:59
Это - менеджер окон определенное решение. Это - то, как сделать это с kwin, который является менеджером окон KDE по умолчанию.
Если Вы щелкаете правой кнопкой по Панели заголовка приложения и выбираете больше настроек-> специальные параметры настройки приложения.
Перейдите к вкладке соответствия Окна. Нажмите на Detect Window Properties button. Затем с мышью курсор нажимают на главное окно приложения. Это выберет класс окна и т.д. и также получит информацию о расположении окна и т.д.
Затем нажмите на вкладку Size и Position. Нажмите Box Position и поле Size и выпадающее поле направо от обоих и установите для запоминания.
Затем нажмите ОК.
В следующий раз, когда Вы запускаете приложение, это должен быть тот же размер и на том же мониторе.
Я использую это в KDE для открытия моего uRxvt терминала на моем левом мониторе на установке с 3 мониторами, и это работает каждый раз.
Удачи.
Я действительно сталкивался с этим методом, который использует xdotool
, xprop
, & wmctrl
.
Вот то, что ниже сценария сделает:
Это переместит активное окно в другой монитор. Это может только обработать рядом, иначе. горизонтальный, конфигурация мониторов.
wid=`xdotool getactivewindow`
max_state=`xprop -id $wid _NET_WM_STATE`
wmctrl -ir $wid -b remove,maximized_vert,maximized_horz
eval `xdotool getwindowgeometry --shell $wid`
new_x=1600
if [[ "$X" -ge "$new_x" ]]; then
new_x=0
fi
xdotool windowmove $wid $new_x $Y
if [ -z "${max_state/*_NET_WM_STATE_MAXIMIZED_*/}" ]; then
wmctrl -ir $wid -b add,maximized_vert,maximized_horz
fi
xdotool windowraise $wid
SCREEN=2 appX
понятие, кроме он appX; sleep 1; moveWindow.sh
.
– slm♦
22.01.2014, 15:12
app & sleep 1; moveWindow.sh
поскольку программы не отсоединяются. Я не считаю это улучшением по сравнению с использованием правил окна KWin все же. +1 для Ваших усилий.
– Lekensteyn
22.01.2014, 16:14
SCREEN=x app
, действительно ли возможно добавить свойство окна таким образом так, чтобы это могло быть фильтровано KWin? – Lekensteyn 20.01.2014, 13:32