Janelas em outro monitor ao ativar monitores desligados

Olá!

Ontem instalei meu segundo monitor e setup ficou como mostrado na foto abaixo:

O monitor da esquerda é um de 144Hz e está conectado com cabo/porta DisplayPort.
O monitor da direita, é um de 75Hz e está conectado via HDMI.

Eu programo para se desligar após 30min sem utilização.
Porém, percebi um detalhe… ao reativar os monitores e exibir as telas novamente, todas as janelas foram movidas para o monitor da direita, me obrigando a mover as janelas para seus devidos lugares novamente.

A barra de ferramentas e atalhos, está configurada para o monitor da esquerda.

Na tela de configuração dos monitores, quando fui definir qual era o monitor 1 e qual era o monitor 2, o monitor da direita foi definido automaticamente como #1 (de 75Hz) e o da esquerda como #2 (144Hz). Porém, pra mim, é mais produtivo ter o monitor #1 a esquerda e o #2 a direita.

Bem… olhei e não encontrei alguma configuração para salvar a posição das janelas, por isso pergunto, tem alguma configuração a ser ajustada ou seria mais interessante fazer a mudança física mesmo, levando o da esquerda (144hz) para a direita (tornando-se o #2) e o da direita (75Hz) para esquerda (tornando-se o #1) ?

Sugestões… valeu!

Qual é o primário?

o primário, nesse momento, é o de 144Hz…

Qual ambiente?

E qual é o gerenciador de login?
Xorg ou wayland?

opa…

elvio@pc-elvio-mint20:~$ echo $XDG_SESSION_TYPE
x11
elvio@pc-elvio-mint20:~$ env | grep -i wayland
elvio@pc-elvio-mint20:~$ echo $DESKTOP_SESSION
cinnamon
elvio@pc-elvio-mint20:~$ xrandr --listmonitors
Monitors: 2
 0: +*DP-2 1920/527x1080/296+0+0  DP-2
 1: +HDMI-0 1920/509x1080/286+1920+0  HDMI-0
elvio@pc-elvio-mint20:~$ inxi -G
Graphics:  Device-1: NVIDIA TU116 [GeForce GTX 1660] driver: nvidia v: 460.73.01 
           Display: x11 server: X.Org 1.20.9 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 1920x1080~75Hz 
           OpenGL: renderer: GeForce GTX 1660/PCIe/SSE2 v: 4.6.0 NVIDIA 460.73.01 
elvio@pc-elvio-mint20:~$

ok…
vc usa x11

tente o seguinte
veja com xrandr os monitores, aplique na configuração abaixo

crie o arquivo
/etc/X11/xorg.conf.d/10-monitor.conf

e coloque

Section "Monitor"
    Identifier  "VGA1"
    Option      "Primary" "true"
EndSection

Section "Monitor"
    Identifier  "HDMI1"
    Option      "LeftOf" "VGA1"
EndSection

salve, reinicie e faça um teste…

acho que isso irá resolver…
:+1:

Estranho… pois no Mint, o diretório “xorg.conf.d” não existe, só existe o “/etc/X11” e, internamente, alguns arquivos e diretórios… também não encontrei qualquer arquivo “??-monitor.conf”…

elvio@pc-elvio-mint20:~$ ls /etc/X11/ -l
total 76
drwxr-xr-x 2 root root  4096 fev 25 06:14 app-defaults
-rw-r--r-- 1 root root    18 jun 10  2020 default-display-manager
drwxr-xr-x 4 root root  4096 jun 10  2020 fonts
-rw-r--r-- 1 root root 17394 jan 20  2017 rgb.txt
drwxr-xr-x 3 root root  4096 jan 10 09:13 xinit
drwxr-xr-x 2 root root  4096 fev 29  2020 xkb
-rwxr-xr-x 1 root root   709 jan 20  2017 Xreset
drwxr-xr-x 2 root root  4096 jun 10  2020 Xreset.d
drwxr-xr-x 2 root root  4096 jun 10  2020 Xresources
-rwxr-xr-x 1 root root  3730 dez 14  2018 Xsession
drwxr-xr-x 2 root root  4096 fev 15 09:59 Xsession.d
-rw-r--r-- 1 root root   265 jan 20  2017 Xsession.options
drwxr-xr-x 2 root root  4096 jun 10  2020 xsm
-rw-r--r-- 1 root root    13 fev 29  2020 XvMCConfig
-rw-r--r-- 1 root root   630 jun 10  2020 Xwrapper.config

elvio@pc-elvio-mint20:~$ sudo find / -name “??-monitor.conf”
[sudo] senha para elvio:             
find: ‘/run/user/1000/gvfs’: Permissão negada
elvio@pc-elvio-mint20:~$ 

Tente localizar esse arquivo em outros locais mas não encontrei.

Enfim… vou reservar um tempo e trocar os monitores de posição no suporte, deixar o de 75Hz como primário e o de 144Hz como secundário, que era o detectado originalmente.

Então, atualmente para uso em geral não é mais necessário configurar o xorg, mas para alguns casos sim. Por isso distros como ubuntu, mint e etc… não vem configurada.

Crie a pasta e o arquivo, assim ao iniciar o pc já irá forçar a configuração e não vai depender do sistema.

Para isso no mkdir use a opção p, se não existir irá criar a pasta.

mkdir -p pasta

E depois crie o arquivo.

Teste e veja se funciona

É necessário reiniciar.

Salvei as configurações do nVidia xsettings e o arquivo ficou assim:

elvio@pc-elvio-mint20:~$ cat /etc/X11/xorg.conf.d/xorg.conf 
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 460.39

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer RG241Y"
    HorizSync       190.0 - 190.0
    VertRefresh     48.0 - 165.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1660"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2"
    Option         "metamodes" "DP-2: 1920x1080_144 +0+0 {AllowGSYNC=Off}, HDMI-0: 1920x1080_75 +1920+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Porém, após reiniciar, fazer login, deixar desligar o monitor, as janelas seguem sendo “movidas” para o monitor secundário.

Acho que vou alterar fisicamente mesmo e testar.

Testa como enviei…

E delete este xorg.conf

Section "Monitor"
    Identifier  "VGA1"
    Option      "Primary" "true"
EndSection

Section "Monitor"
    Identifier  "HDMI1"
    Option      "LeftOf" "VGA1"
EndSection

Nesta configuração vc defini o monitor primário.

Pegue os nomes dos monitores com xrandr

E coloque no Identifier

Teste e veja

Ok… gerei o arquivo e peguei os dados do xrandr… ficou assim:

elvio@pc-elvio-mint20:~$ xrandr | grep -iw connected
DP-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
HDMI-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 509mm x 286mm
elvio@pc-elvio-mint20:~$ ls /etc/X11/xorg.conf.d/ -l
total 8
-rw-r--r-- 1 root root  172 mai  8 22:04 10-monitor.conf
-rw-r--r-- 1 root root 1705 mai  5 20:47 xorg.conf.old
elvio@pc-elvio-mint20:~$ cat /etc/X11/xorg.conf.d/10-monitor.conf 
Section "Monitor"
    Identifier  "DP-2"
    Option      "Primary" "true"
EndSection

Section "Monitor"
    Identifier  "HDMI-0"
    Option      "LeftOf" "DP-2"
EndSection
elvio@pc-elvio-mint20:~$ 

Reiniciei o PC e mesmo assim, segue na mesma, os monitores desligam depois de 30min de inatividade e, ao ligar/ativar novamente, todas as janelas abertas são “movidas” para o monitor secundário (HDMI1).

Enfim… pelo teu exemplo, acho que configurei certo o “10-monitor.conf”.

O problema está relacionado com display manager

https://wiki.archlinux.org/title/Multihead

Vou ver se encontro alguma solução…

Pode usar gdm ou use o startx

Para lightdm

https://wiki.archlinux.org/title/LightDM#LightDM_displaying_in_wrong_monitor