LINUX.ORG.RU

два независимых монитора

 


4

3

нужно сделать два монитора так, чтобы мышка не вылезала за пределы одного моника, а переключаться между ними такой-то комбинацией клавиш. думал о мультисит, но в этом случае нужен отдельный набор клавы и мышки. что ещё можно сделать?

упд: идеально было бы вообще по иксоргу на каждый моник запустить

★★★

Последнее исправление: xsektorx (всего исправлений: 1)

\подписался на тред.
\\ хотя шансы, что такое посоветую для венды, ничтожны.

dk-
()
Ответ на: комментарий от anonymous

но в них ведь тоже можно мышкой возюкать. вот у меня щас осом, а на другом монике создался ещё один, вроде независимый осом с тем же конфигом. а я, например, хочу на него хмонад возрузить. то есть, идеально было бы два иксорга

xsektorx ★★★
() автор топика
Ответ на: комментарий от anonymous

нет, как-то косячно по-моему. не лойс, если это было предложение железку купить

xsektorx ★★★
() автор топика
Последнее исправление: xsektorx (всего исправлений: 1)

а тебе нужно чтобы рабочее пространство было общее? если нет то можно через контейнеры запустить два разных линукса и вуаля, по крайне мере как мне кажется это самое быстро коробочное решение.

novoxudonoser
()

А у тебя вообще как сконфигурировано все - как один большой дисплей :0.0 (при помощи Xinerama, TwinView, RandR) или как два отдельных (:0.0 + :0.1)?

Zubok ★★★★★
()

Вот что есть. http://gentoo-en.vfose.ru/wiki/Switchscreen

и вот:

http://de.mcbf.net/david/dualscreenmouseutils/

Насколько я понимаю, надо сконфигурировать как два отдельных экрана :0.0 и :0.1, т. е. без Xinerama и TwinView (в случае nvidia).

UPD. Еще, кстати, вариант - прямо из репозиториев поставить xdotool. Можно на кнопку повесить перемещение мышки на другой экран. Там есть такая команда:

       mousemove [options] x y
           Move the mouse to the specific X and Y coordinates on the screen.

           --screen SCREEN
               Move the mouse to the specified screen to move to. This is only
               useful if you have multiple screens and ARE NOT using Xinerama.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)

Народ, я не очень понимаю, зачем вы советуете какие-то там контейнеры, да еще и второй Linux? В X Window System можно делать независимые экраны.

Zubok ★★★★★
()
Ответ на: комментарий от xsektorx

рабочее пространство должно быть общим

А что это означает? В самом первом посте ты даже заикнулся насчет разных серверов X. А это уже по определению не общее пространство - это два разных сервера. Тогда пришлось бы одну программу запускать с DISPLAY=:1, а другую с DISPLAY=:0. Тогда они будут попадать на разные сервера.

С независимыми экранами примерно то же самое. Либо ты запускаешь два отдельных оконных менеджера на разных экранах, либо какой-то один, но который умеет работать с независимыми экранами (это не все умеют). Если надо с одного экрана запустить программу на другом, то надо в ланчере запускать DISPLAY=:0.1 program.

Когда у тебя Xinerama, TwinView, то тогда у тебя создается один большой экран :0.0 и мышка гуляет по всему пространству. Если ты хочешь именно общий огромный экран (чтобы окна можно было перетаскивать) и один оконный менеджер на все экраны, то уже задачу надо ставить по-другому: нужно что-то придумать, чтобы ограничить движение мышки одним экраном, а по кнопке перекидывать в другие координаты. Не на другой экран (он один), а менять координаты. Ну менять координаты можно тем же xdotool, то есть не проблема, а вот создать искусственный ограничитель движению мышки надо поискать.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

два отдельных. то есть, в одном осом, в другом хмонад, например. но надо, чтобы работали оба одновременно и я между ними переключался как между виртуальными терминалами, например

надо в ланчере запускать DISPLAY=:0.1 program

DISPLAY=:0.1 startx сойдёт? пока под рукой нет второго моника, это на работе

xsektorx ★★★
() автор топика
Ответ на: комментарий от Zubok

чтобы были разные оконные менеджеры

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

два отдельных. то есть, в одном осом, в другом хмонад, например. но надо, чтобы работали оба одновременно и я между ними переключался как между виртуальными терминалами, например

Так тебе не нужно два сервера! Тебе нужна конфигурация одного сервера с двумя независимыми экранами. Потом в запуске делаешь

DISPLAY=:0.0 awesome &
DISPLAY=:0.1 xmonad
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Потом в запуске делаешь

Разумеется, при запуске сессии. А это смотря чем пользуешься. Это может быть ~/.xsession или ~/.xinitrc

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

ну хз, я непосредственно с иксами особо не работал. и как настроить так, чтобы независимо было? алсо, как между ними переключаться?

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

ну хз, я непосредственно с иксами особо не работал. и как настроить так, чтобы независимо было?

Ну у тебя же нет компьютера рядом. Сейчас спрашивать нет смысла. Никто твоей конфигурации не знает: что за карты, как моники подключены, какие драйвера (nvidia или nouveau) и т. д. Надо будет xorg.conf написать. Это уже вопрос другой. Ссылок в инете тьма.

алсо, как между ними переключаться?

Ёклмн. Ну выше же все написано. На кнопки вешаешь вызов xdotool с нужной командой. Одна кнопка с первого на второй. Другая кнопка - со второго на первый. У xmonad и awesome, к тому же, могут быть свои средства автоматизации по переходу на другой экран. В этих WM я не спец, но можно глянуть доки.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от xsektorx

и как настроить так, чтобы независимо было?

Спросишь - подскажем. Но лучше, конечно, если сам сначала попробуешь google: separate screens xorg.conf ":0.1" ":0.0"

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

одна карта, дрова вроде бы i965. как гуглить ссылки?

Ну выше же все написано

я думал, эта штука один большой так разделит

xsektorx ★★★
() автор топика
Ответ на: комментарий от Zubok

всё, понял, завтра попробую. спасибо

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

одна карта, дрова вроде бы i965. как гуглить ссылки?

Одна карта, два выхода? Ну, пробуй вот эту: http://gentoo-en.vfose.ru/wiki/X.Org/Dual_Monitors#Configuration

Только BusID используй, какой у тебя, и выходы у опции «ZaphodHeads» укажи соответствующие (названия выходов можно посмотреть в xrandr). BusID можно и закомментировать, в принципе. Если карточка одна, то сервер сам отыщет.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

с этим получилось, когда выполняю startx, включается только первый моник, что хорошо. но w выдаёт только :0. с иксами завершено или ещё что-то надо сконфигурить?

xsektorx ★★★
() автор топика
Последнее исправление: xsektorx (всего исправлений: 1)
Ответ на: комментарий от xsektorx

Ну а как ты собираешься в будущем в иксы заходить? Кaкой-то дисплейный менеджер запускать или через startx/xinit?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от xsektorx

А ты проверь запуск программы на втором монике. Сделай на первом монике в терминале

$ DISPLAY=:0.1 xterm

Ну или любую другую программу.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

короче, когда я выполнил startx, второй моник (для меня первый) врубился и показывает теперь осом. первый отрубился и это ок. но мне кажется, что иксы по прежнему не воспринимают их как два дисплея потому что

sek.tor@wk-325 ~ [0] $ w
 16:45:14 up 48 min,  4 users,  load average: 0.15, 0.21, 0.22
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
sek.tor  tty1                      15:59   45:38   6:25   0.00s xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc :0 vt1 -auth /tmp/serverauth.h5qsPWEGqG
...
sek.tor  pts/2    :0               16:45    1.00s  0.05s  0.00s w

на втором хочу хмонад, на первом - осом. запускать, наверно, с startx

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

w тебе показывает дисплей, а не экраны. Если все правильно. то сервер :0 - он один, а экранов два. Они не показываются тут. О них можно узнать из лога иксов или проверить, как выше, запустив программу. Вот запусти и убедись, что экран есть (или что его нет)

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от xsektorx

Значит, нет. Ищем ошибку. Покажи вывод xrandr, выложи /var/log/Xorg.log.0 на pastebin.com, покажи твою конфигурацию /etc/X11/xorg.conf

Zubok ★★★★★
()
Ответ на: комментарий от Zubok
[   165.701] (==) ServerLayout "default"
[   165.701] (**) |-->Screen "screen0" (0)
[   165.701] (**) |   |-->Monitor "<default monitor>"
[   165.701] (**) |   |-->Device "display0"
[   165.701] (==) No monitor specified for screen "screen0".
        Using a default monitor configuration.
[   165.701] (**) |-->Screen "screen1" (1)
[   165.701] (**) |   |-->Monitor "<default monitor>"
[   165.701] (**) |   |-->Device "display1"
[   165.701] (==) No monitor specified for screen "screen1".
        Using a default monitor configuration.
xsektorx ★★★
() автор топика
Ответ на: комментарий от Zubok

лог: http://paste.debian.net/132290/

лол, теперь он его вообще не нашёл (консоль там показывает):

wk-325 ~ [0] # xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 32767 x 32767
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
   1920x1080     60.00*+
   1280x1024     60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1024x768      70.07    60.00  
   800x600       60.32    56.25  
   640x480       66.67    60.00  
   720x400       70.08  

конфиг:

Section "Device"
        Identifier "display0"
        Driver     "intel"
#       BusID      "PCI:0:2:0"
        Option     "ZaphodHeads" "HDMI1"
        Option      "AccelMethod"  "sna"
        Screen     0
EndSection

Section "Device"
        Identifier "display1"
        Driver     "intel"
        BusID      "PCI:0:2:0"
        Option     "ZaphodHeads" "VGA"
        Option      "AccelMethod"  "sna"
        Screen     1
EndSection

Section "Screen"
        Identifier "screen0"
        Device     "display0"
EndSection

Section "Screen"
        Identifier "screen1"
        Device     "display1"
EndSection

Section "ServerLayout"
        Identifier "default"
        Screen     "screen0" 0 0
        Screen     "screen1" LeftOf "screen0"
EndSection

xsektorx ★★★
() автор топика
Ответ на: комментарий от Zubok

один - дви, другой - д-саб, оба во встроенную видюху

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx
[   165.905] (WW) intel(1): No outputs definitely connected, trying again...
[   165.905] (WW) intel(1): Unable to find connected outputs - setting 1024x768 initial framebuffer

Он пытается сконфигурировать первый экран, но не нашел выхода VGA. И в выводе xrandr я его не вижу. Он не отключается где-нибудь в BIOS? Ты полный вывод xrandr показал или только кусочек?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от xsektorx

лол, теперь он его вообще не нашёл (консоль там показывает):

Судя по интернету, intel аналоговый выход обызвает не «VGA», а «VGA1». Ты точно видел VGA? Если там «VGA1», то в xorg.conf надо именно «VGA1» указывать.

ls /sys/class/drm

?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)

мышка не вылезала за пределы одного моника

«Разнеси» мониторы подальше друг от друга, задав координаты, а не LeftOf.

а переключаться между ними такой-то комбинацией клавиш

попробуй xdotool

arson ★★★★★
()
Ответ на: комментарий от Zubok

извиняй, опечатался в конфиге. щас поднялось, но при запуске xmonad с дисплеем :0.1 жалуется на то, что на этом десктопе нет xinerama. xterm и dolphin, например, запускаются, но туда не передаётся управление с клавиатуры, работает только мышь. это уже с xdotool делается?

xsektorx ★★★
() автор топика
Ответ на: комментарий от arson

«Разнеси» мониторы подальше друг от друга, задав координаты, а не LeftOf

мышка-то всяко будет вылезать, потом её ещё возвращать хз как

xsektorx ★★★
() автор топика
Ответ на: комментарий от xsektorx

щас поднялось, но при запуске xmonad с дисплеем :0.1 жалуется на то, что на этом десктопе нет xinerama.

И не запускается? Или запускается, но просто ругается? Скопируй ругань. Это, скорее всего, причуды xmonad. Надо глянуть доки. Нее дело xmonad рассуждать, где мы его запускаем.

xterm и dolphin, например, запускаются, но туда не передаётся управление с клавиатуры, работает только мышь. это уже с xdotool делается?

То есть мышь сама переходит на второй монитор? Не совсем понял. Поподробнее расскажи, чтобы было понятно. Если эти программы запускаются без оконного менеджера, то для того, чтобы они получили фокус, надо в них мышку переместить. xterm точно без оконного менеджера не получает фокус, пока на него мышку не наведешь.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от xsektorx

но при запуске xmonad с дисплеем :0.1

Я тут наблюдаю какие-то жалобы на xmonad как раз по этой теме, но жалобам уже несколько лет. Поэтому сразу мне трудно сказать, какие там проблемы. Насколько я понял из этих сообщений, xmonad при запуске на :0.1 не может управлять окнами. Рекомендую попробовать запускать xmonad на :0.0, а awesome на :0.1. Тогда ругань на Xinerama есть?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.