LINUX.ORG.RU

Как указать программе на конкретный монитор - если он (второй монитор) не определяется

 , , , ,


0

1

Есть 2 монитора

xradnr:


Screen 0: minimum 8 x 8, current 3840 x 1200, maximum 32767 x 32767
DP1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     59.99  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00  
   720x400       70.08  
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)




оба они как screen 0

как мне указать какой либо программе на 2 монитор?


Дай угадаю: в настройках второй стоит как продолжение первого а не как отдельный монитор?

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

Подскажи как через xrandr - настроить так чтобы они отдельными скринами были?

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

GGUseR
() автор топика

Ээээ.. Какой программе? Чтобы любую программу запустить на некий монитор, гарантировать можно только отдельным Xserver. Умение различать и использовать несколько мониторов на одном Xserver зависит от программы. Или как минимум возможностей WM.

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

Итак, nvidia все еще не поддерживается XRandR. Все что они сделали, это разработали собственную технологию называемую TwinView которая в его простейшей конфигурации, не так уж хороша для нас в стандартном виде, так как Awesome видит экран как один большой desktop (таким образом вы не сможете перемещать приложения между экранами, поскольку нет другого экрана, куда можно было бы переместить их). Но я полагаю, здесь могут быть некоторые случаи использования, где это будет востребовано, поэтому я также опишу это. Тогда, немного настроив, мы получим то поведение, которое ожидаем. Наш последний пример будет использовать Xinerama который будет иметь тот же результат, как и в наших предыдущих примерах.

Это вот тут нашел: http://awesome.naquadah.org/wiki/Using_Multiple_Screens/ru

Moreo
()
Ответ на: комментарий от Elyas

запускал xrandr и на de и на wm - разницы нет

такчто не надо ляля про «Или как минимум возможностей WM.» и про всё остальное тоже

если через xorg.conf настраивать - там получается как 2 отдельных монитора - но он не удобен само собой.

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

у меня intel ещё есть amd

кароче через xrandr нельзя

ясно.

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

Попытаюсь вежливо. Ещё раз: большинство графических программ работают только с относительными координатами в своём окне. И где окно находится - знать не знают. Некотрые трюки возможны черех -geometry параметр. Можно поиграться с wmctrl. Ну и кое-что можно придумать с Xnest/Xephyr. Конкретнее сложно подсказать, поскольку задача озвучена не была.

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

запускал xrandr и на de и на wm - разницы нет

такчто не надо ляля про «Или как минимум возможностей WM.» и про всё остальное тоже

Ну как минимим, xmonad умеет с xrandrom выводить разные рабочие столы на разные мониторы и привязывать запуск программ на конкретные рабочие столы.

zhekas
()
Ответ на: комментарий от Elyas

задача поставить цветовой профиль через xcalib на монитор



xcalib 0.8
Copyright (C) 2004-2007 Stefan Doehla <stefan AT doehla DOT de>
THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY!

usage:  xcalib [-options] ICCPROFILE
     or xcalib [-options] -alter

where the available options are:
    -display <host:dpy>     or -d
    -screen <screen-#>      or -s
    -clear                  or -c
    -noaction <LUT-size>    or -n
    -verbose                or -v
    -printramps             or -p
    -loss                   or -l
    -invert                 or -i
    -gammacor <gamma>       or -gc
    -brightness <percent>   or -b
    -contrast <percent>     or -co
    -red <gamma> <brightness-percent> <contrast-percent>
    -green <gamma> <brightness-percent> <contrast-percent>
    -blue <gamma> <brightness-percent> <contrast-percent>
    -alter                  or -a
    -help                   or -h
    -version

last parameter must be an ICC profile containing a vcgt-tag

Example: ./xcalib -d :0 -s 0 -v bluish.icc
Example: ./xcalib -red 1.1 10.0 100.0




при выполнении - ставится профиль на монитор «1» а на втором нечего не меняется

также пробовал запускать терменал на 2 мониторе - также эффекта нет

до этого ещё нужно было некоторым программа указать на монитор


то что программы работают ... это понятно

не помнятно почему - xrandr видит мониторы как один..

пробовал на openbox,awesome,xfce,ещё както на c** DE называлось
также были разные ОС и ядра разные соответсвенно

на данный момент ядро 4.1.11
вывод xrandr везде идентичный был = screen 0 - 3840x1200

GGUseR
() автор топика

А проявить чуть-чуть смекалки:

xrandr --output HDMI2 --off ; ./xcalib -d :0   -co 20 -a ; xrandr --output HDMI2 --auto

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

если после этого должен было затемнить 2й монитор - то мимо - не работает

заменил HDMI2 на выход 2 монитора - HDMI3 (кстати с HDMI2 тоже работало)

в результате потемнел 1 монитор

затем заменил (чисто чтоб проверить) HDMI3 на выход 1 монитора - DP1

и опять потемнел 1 монитор.

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

тоесть без ковыряния xorg.conf (после чего я лишусь возможности настройки без перезапуска - xrandr'ом) разбить на 2 отдельных монитора не получится?

GGUseR
() автор топика

Тут либо одни плюсы, либо другие. Но два монитора, как один гораздо удобней, так как в данной конфигурации ты можешь легко окна между мониторами перетаскивать, или запустить что-то на двух мониторах сразу. Если же ты настроишь отдельно, то данный функционал ты потеряешь. Для запуска на другом мониторе используется --geometry, но не все программы поддерживают данный функционал. В случае же если ты настроишь отдельно, то ты решишься возможности перетаскивать окна или запускать приложение на двух мониторах сразу, но зато сможешь без проблем указывать любой программе монитор по номеру. Некоторый софт без проблем разбирается в мониторах, даже если у тебя они настроены как один. Для калибровки можешь воспользоваться dispcalGUI . Очень удобно использовать плагин compiz, Put, который поможет тебе перетаскивать окна с помощью хоткея. В моем случае пришлось вернуться с metacity + compton на compiz (который я уже несколько лет не использовал), как раз ради этого функционала, и я ничуть не жалею. Тени, анимация - все это вполне отключается.

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

Не знаю, работает ли юзкейс ОП-а, но я свою нвидию с блобюм настраиваю через xrandr. Твой гайд мог устареть.

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

много както текста

хочеш сказать - если сделать разные мониторы (sc1 и sc2) то возможно DE/WM не будет работать сразу на обоих?

и по поводу того - разбирается софт или нет

вот я запускаю xcalib - он рзобрался же - где у меня первый монитор (он схему только на 1 монитор ставит) но в нём можно указывать только через screen - которых у меня всего 1штука - screen 0

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

если сделать разные мониторы

Ты не сможешь перетаскивать между ними окна и запускать что-то, в твоем случае в разрешении ~3840 x 1200

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

я вроде через xinerama настраивал - было 2 отдельных и «рабочих» монитора

какой тогда - смысл в разных скрина (и почему большенство программ имеют данную опцию) если они не могут на 1ом WM/DE работать?...

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

я тебе не верю кароче.. даже в винде - программы умеют разные мониторы и это там реализованно нормально.

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

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

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

Вот вы все такие умные - столько рассуждений и теории

Приведи пожалуйста пример - какая программа (кроме xrandr или подобной) может - и главное как - определять какой конкретно монитор ей нужен - и как пользователь должен ей это указать?

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

Я тебя не распарсил но имхо приложение всегда запускается на primary мониторе, а дальше ты уже через опции/настройки самого приложения или с помощью оконного менеджера посылаешь его на отдельный монитор или запускаешь сразу на двух. Хотя некоторые DE умеют запускать приложение на экране с активным курсором мыши (не получилось этого добиться).

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

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

да это везде так же...

кароче ясно - вопрос достаточно сложный

я на форуме убунты - 4 раза спрашивал - в течении полугода если не больше

внятного ответа - так и небыло - как и тут вообщемто

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

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

Хотя некоторые DE умеют запускать приложение на экране с активным курсором мыши (не получилось этого добиться)

Да сейчас проверил, все-таки это проблемы plank. (если с него запускать, то будет всегда на primary мониторе) Если запускать из меню gnome и при этом в compiz указано «Use output device with pointer», то приложение действительно будет запускаться на экране с активном курсором мыши. Перепроверил: А нет никакой разницы, какие-то приложения запускаются на экране с активном курсором, а большинство приложений на primary мониторе, вот такая вот ерунда.

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

внятного ответа - так и небыло - как и тут вообщемто

Нет внятного вопроса - нет внятного ответа. У меня многомониторная конфигурация и всё прекрасно выводится на указанные мониторы.

DISPLAY=:0.0 и DISPLAY=:0.1 соответственно

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

вот спецально для тебя - раз уж ты даже 1 пост не посчитал нужным прочитать

$ xcalib dell_u2412m_user4.icc
Error - Can't open display 0:1
$ DISPLAY=0:2                                                                         
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 0:2
$ DISPLAY=1:0                 
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 1:0
$ DISPLAY=1                   
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 1
$ DISPLAY=2                   
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 2
$ DISPLAY=:2                  
$ xcalib dell_u2412m_user4.icc
Error - Can't open display :2
$ DISPLAY=:1                  
$ xcalib dell_u2412m_user4.icc
Error - Can't open display :1

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

ну и + (у тебя чуть по другому)

$ xcalib dell_u2412m_user4.icc
Error - Can't open display 0.1
$ DISPLAY=0.0                 
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 0.0
$ DISPLAY=0.2                 
$ xcalib dell_u2412m_user4.icc
Error - Can't open display 0.2

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

или мат часть подучи

Человек у которого определенный функционал не работает рассказывает человеку, у которого этот же функционал работает подучить матчасть.

Окей, ушел учить. Как подучусь - вернусь и расскажу, рассказывать сейчас желание отпало - я ж не в теме, могу фигню сморозить. Вот когда научусь уму-разуму - вот тогда огого!

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

Я тему-то прочитал. Повторю еще раз - у меня с конфигом иксов всё работает. Ты же на вопрос покажи конфиг сказал что у тебя с ним ничего не работает.

Где сам конфиг? Или ты думаешь я телепатически смогу сказать что у тебя в нём неправильно? Где Xorg.0.log? Как без лога можно понять что у тебя происходит в системе?

Если ты надеешься на автоконфигурации настроить 2 раздельных экрана на любых драйверах - ты неисправимый оптимист. И не владею в данном случае матчастью явно не я.

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

Это уже не первый раз, когда всплывают темы с твоим участием, где ты поносишь людей.

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

Видиокарта(видиядро) intel HD

на ней 2 монитора

конфига иксов нет

2 монитора настраиваются так:

xrandr --output DP1 --left-of HDMI3


до этого (более полу года назад) настраивал через xorg.conf - чисто проверить - xrandr не работал (если использовался xorg.conf)

очень хочется увидить конфиг - с которым работает xrandr.

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

2 монитора настраиваются так:

Ошибка в выражении. 2 монитора с одним Screen настраиваются так.

Тебе же нужно 2 РАЗДЕЛЬНЫХ Screen связанных между собой. Ну и Xinerama, да.

Так что давай по шагам, базовый конфиг иксов, подключай расширение RANDR(чтобы работал xrandr), создавай по 2 секции Device/Monitor/Screen и настраивай их расположение в ServerLayout

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

Легко.

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        Option         "Xinerama" "1"
EndSection

Section "Extensions"
        Option "XVideo"         "true"
        Option "Composite"      "true"
        Option "Randr"          "true"
EndSection

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,ru"
        Option "XkbVariant" ",winkeys"
        Option "XkbOptions" "grp:ctrl_shift_toggle,terminate:ctrl_alt_bksp,grp_led:scroll,numpadmicrosoft"
        MatchIsKeyboard "on"
EndSection

Section "InputClass"
        Identifier "mouse-all"
        Driver "evdev"
        MatchIsPointer "on"
EndSection

Section "Files"
        ModulePath   "/usr/lib64/xorg/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
        Load  "wfb"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth      24
        SubSection "Display"
                Depth     24
        EndSubSection
EndSection


Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        Identifier  "Card1"
        Driver      "intel"
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        DefaultDepth      24
        SubSection "Display"
                Depth     24
        EndSubSection
EndSection
Pinkbyte ★★★★★
()
Ответ на: комментарий от anonymous_sama

xfwm (который в xfce) так умеет. Под xubuntu 14.04 работает.

Moreo
()
Ответ на: комментарий от GGUseR

Выкинь свой xorg.conf. Xinerama на интеле точно не нужна, разбиение на screen-ы тоже не нужно, общий дисплей будет и так.

не работает

УМВР. Отключаешь дисплей который по умолчанию, xcalib работает со вторым. Конечно не фонтан, мигает экран, сбрасывается положение мониторов, но работает.

arson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.