Questão Configuração do Multi Monitor Debian perdida após a reinicialização


Ok, agora estou lutando com esse problema desde alguns dias. Meu problema é que eu não sou capaz de salvar as configurações atuais do monitor, para aplicar / salvar após uma reinicialização.

Eu tenho 3 monitores e quero espelhar 2 deles, mas não o terceiro. Eu posso fazer isso com a ferramenta de gui nvidia-settings ou com a chamada de um script bash que usa xrandr. Eu não sou capaz de fazer isso movendo meu monitor do outro no menu de configurações do gnome / debian - aqui eu só posso colocá-los lado a lado, mas não sou capaz de "apenas" espelhar dois deles (eu posso espelhar todos mas eu não quero isso). O script mencionado acima é capaz de fazer isso para mim (usando xrandr) - e agora eu estou procurando o lugar certo para colocá-lo dentro Eu estou usando gdm3 e tentei colocá-lo no início (xor) fim do / etc / gdm3 / Xsession file -> não ajudou. Eu também criei um arquivo ~ / .xprofile e coloquei lá -> não ajudou. O script é executável para cada grupo. E eu adicionei uma linha para criar um novo arquivo no meu diretório home para verificar se ele foi chamado. Foi em todos os casos mencionados acima, mas não definiu as configurações do meu monitor para espelhar os dois.

Então, o que eu deveria fazer? Eu googled e googled e googled e ler e ler, mas não encontrou qualquer solução.

Espero que alguém aqui possa me ajudar.

P.S. usando debian 8 jessie, driver proprietário nvidia, gdm3, gnome

e este é o meu script:

#!/bin/bash
xrandr --output DVI-D-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1440x900 --pos 0x180 --rotate normal --output DP-1 --off --output DP-0 --off

este script funciona bem e foi gerado por arandr. Eu salvei em / usr / share /.

TL; DR O script funciona bem quando executado manualmente e também é invocado quando colocado no arquivo / etc / gdm3 / Xsession ou ~ / .xprofile. Mas a configuração do monitor não está correta após a inicialização. Só quando eu executar o script manualmente depois de tudo terminado (carregamento).


0


origem


só para esclarecer, se você invocar seu script após o login, ele define corretamente as configurações do seu monitor? - Frank Thomas
sim - eu só preciso de um lugar onde colocá-lo assim faz este autom. no arranque. No Xsession, initrc ou em algum lugar, mas eu não tive sorte até agora ... - TryToSolveItSimple


Respostas:


O comportamento que você encontra é esperado. Xrandr é ...

xrandr - interface de linha de comando primitiva para a extensão RandR

o que implica que vai funcionar depois de O Xorg carregou a extensão RandR, não antes. Você pode ser capaz de especificar a configuração desejada no arquivo /etc/X11/xorg.conf, mas isso pode ser uma perda de tempo, já que os DEs tendem a impor sua ordem em nossas telas. Por exemplo, o KDE é notoriamente resistente a configurações de monitor definidas pelo usuário.

Quais são suas opções?

  1. Tente salvar sua configuração atual para futuras sessões. Você pode encontrar nesta postagem Unix & Linux várias maneiras de fazer isso. Tenha em mente que o bug mencionado na página da Web agora está fechado.

  2. Execute o script toda vez que você fizer login graficamente. Por exemplo, você pode colocar o seguinte código em seu .bashrc Arquivo:

    if [[ $TERM != "linux" && "x$SSH_CLIENT" == "x" ]]
    then
       xrandr --output DVI-D-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1440x900 --pos 0x180 --rotate normal --output DP-1 --off --output DP-0 --off
    fi
    

1



Eu já tentei o caminho com o xorg.conf, mas isso não ajudou (não mencionei isso acima porque eu já pensei que o meu DE iria substituir isso / não usá-lo). A primeira opção lê como se fosse salvar todas as configurações da minha sessão atual, que incluem minhas janelas abertas - não quero que isso aconteça. Então eu vou tentar o segundo - obrigado - TryToSolveItSimple
funciona com o .bashrc -> mas o meu script que usa o xrandr é chamado muito tarde -> cerca de 30 segundos depois que eu fiz o login. Existe outra opção? Talvez um jeito padrão com o gnome? No gerenciador de exibição do gnome eu vejo todos os meus 3 monitores, mas não sou capaz de espelhar apenas dois deles (pode apenas espelhar todos eles). - TryToSolveItSimple
@TryToSolveItSimple Não, não há outro lugar padrão, você já experimentou todos eles. O lugar padrão seria /etc/gdm, mas você disse que não funciona. Você pode ler aqui wiki.archlinux.org/index.php/xrandr, sobre todos esses lugares, mas, novamente, você já descartou isso. .bashrc O arquivo é sua última chance. - MariusMatutiae
ok ... isso é triste. Eu vou usar sua solução. Talvez um dia eu descubra por que configurá-lo no / etc / gdm3 / Init / ou / etc / gdm3 / PostLogin não funciona - deve haver outro script que substitui minhas configurações, eu acho. - TryToSolveItSimple