monitor girado. tela de login precisa de rotação


20

Eu girei minha tela e, uma vez logado, ele funciona bem. Porém, a tela greeter (login) não recebe a mensagem de que as coisas são giradas 90 graus. Como posso alterar a rotação da tela de login?

insira a descrição da imagem aqui

ATUALIZAÇÃO: a tela de bloqueio está na posição correta. Só vejo isso quando inicializo ou saio.


Nenhuma das respostas anteriores aqui parece ser válida para 16.04 ... (Tentei alternar entre Noveau ou Nvidia 361). Eu posso ver o 'arandr' acertar, mas é apenas o segundo depois redefinido de volta ao "padrão".
Hannu

11
@Hannu Por favor, veja meu comentário abaixo em askubuntu.com/questions/408302/… .
jbrock

Respostas:


19

Adicione esta linha ao /etc/lightdm/lightdm.confarquivo (na seção [SeatDefaults]):

greeter-setup-script=/etc/lightdm/greeter_setup.sh

Em seguida, crie o arquivo /etc/lightdm/greeter_setup.shcom o seguinte conteúdo:

#!/bin/bash
xrandr -o left
exit 0

Em seguida, torne-o executável com sudo chmod +x /etc/lightdm/greeter_setup.sh. Então reinicie.


4
Alterado para xrandr -o à direita. funcionou perfeito.
j0h 24/01

Adicionando o script acima mencionado (sem explícito exit 0) para /etc/lightdm/pre-greeter.dfazer o truque para mim.
Oleg Sklyar

19

Outra opção que deve funcionar é copiar ~/.config/monitors.xmlpara /var/lib/lightdm/.config.

Isso certamente funciona para as informações de posição e resolução do monitor, então eu presumo que funcionaria também para rotação.

Edit : Para flexibilidade máxima, pode-se fazer um link simbólico entre os itens acima:

sudo su
cd /var/lib/lightdm/.config
ln -s /home/<your_user>/.config/monitors.xml .
chown -h lightdm:lightdm monitors.xml
exit

Dessa forma, se a configuração do seu monitor mudar no futuro, ela será refletida automaticamente na tela de login. Observe que o -hsinalizador necessário no chowncomando, conforme explicado em chown, não está alterando o link simbólico .


Vou analisar, este é o tipo de método que eu estava tentando descobrir.
J0h

11
Fazer o link não funcionou para mim, fiz a permissão conforme descrito, mas ainda me dizia que as permissões estavam erradas. Copiar o arquivo funcionou bem.
LovesTha

2
Uma observação importante: o link simbólico aqui não funcionará se o diretório inicial estiver criptografado, pois esse arquivo não estará acessível até após o login.
Alienth 28/11

11

14.04 e acima

A resposta do Falconer me ajudou muito, mas o lightdm mudou para o Ubuntu Trusty 14.04. Não há mais um /etc/lightdm/lightdm.confarquivo no meu sistema. O lightdm agora seguiu o "caminho do Debian" e teve sua configuração dividida em um diretório conf.d. Agora você precisa criar o seguinte arquivo:

/etc/lightdm/lightdm.conf.d/80-display-setup.conf

[SeatDefaults]
display-setup-script=xrandr -o right

Conforme sugerido na resposta do Electric Head , o comando xrandr pode ir direto para este arquivo, sem a necessidade de criar um script separado.

Se você deseja um comando xrandr que lide com vários monitores, use-o arandrpara gerá-lo para você. Meu xrandrcomando acaba sendo:

xrandr --output DVI-1 --mode 1920x1080 --pos 1080x0 --rotate left --output DVI-0 --mode 1920x1080 --pos 0x0 --rotate right

Para isso, usei os seguintes comandos:

  • sudo apt-get install arandr
  • arandr
  • Use a GUI para configurar seus monitores como você deseja:

    arandr
  • Use "Layout" -> "Salvar como" para salvá-lo em um arquivo que contém o comando de configuração do monitor.

Com isso, meus monitores são rotacionados adequadamente quando eu faço o login também, então não há necessidade de fazer configurações adicionais no Gnome, XFCE ou KDE. O único outro local em que preciso configurar a rotação do monitor é nos terminais do buffer de estrutura virtual, conforme explicado em Como rotaciono minha exibição quando não estou usando um X Server?


FWIW, Minha instalação limpa de 14 bits e 14.04 não possui /etc/lightdm/lightdm.conf.d/diretório e, ao criar um, seguir as demais instruções aqui não funcionou. As instruções na resposta de Electric Head funcionaram, no entanto. Não sei por que um funcionou e não o outro, mas só queria deixar esse comentário por causa da posteridade, caso outra pessoa encontre a mesma situação que eu.
reirab

7

O falcoeiro acertou em cheio, mas eu gostaria de destacar uma simplificação.

Você pode colocar um xrandrcomando diretamente /etc/lightdm/lightdm.confcomo um gancho do sistema . Você não precisa criar um comando shell para chamar um script separado que contenha um comando shell (embora, é claro, você possa, se vir um motivo para fazê-lo). Além disso, não há menção a /etc/lightdm/lightdm.conf.d/in man lightdme eu não tinha isso nem lightdm.confno meu sistema. Portanto, embora eu tenha certeza de que provavelmente funcione conforme sugerido por Stephen , novamente, você não precisa fazer isso.

Portanto, se ele ainda não existir, algo como /etc/lightdm/lightdm.conf( a seguir sudo) obviamente funcionará bem:

[SeatDefaults]
display-setup-script=xrandr --output DVI-1 --auto --rotate left

Veja man xrandrpara opções de configuração.

BTW: Eu provavelmente poderia ter me dado bem com comentários / edições aqui, mas eu não tenho o representante e eu queria adicionar as fontes para essas informações.

Versão

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

Referências


No 16.04, eu precisava primeiro criar o arquivo chamado lightdm.conf. Então funcionou. Obrigado por isso.
jbrock

Eu também usei em [Seat:*]vez de [SeatDefaults]. wiki.ubuntu.com/LightDM
jbrock

Eu tenho que trabalhar agora, com o acima e adicionando; Eu tinha o monitors.xmlSOFT-LINKED no monitors.xml do usuário normal - esse era o culpado; quando copiei o arquivo no lugar, ele começou a funcionar. Na minha opinião esta definição deve ser selecionável em "Configurações do sistema> Display"
Hannu

3

16.04

A única correção que funciona para mim é copiar ~/.config/monitors.xmlpara /var/lib/lightdm/.config/, semelhante ao método na resposta de Steve Dee , mas com uma cópia do arquivo em vez de apenas um link simbólico para ele. Criar um link simbólico não funciona.

Nem a resposta do falcoeiro nem de Stephen Ostermiller funcionou para mim. Acabei de ver a tela girada corretamente por 2 segundos após a inicialização, depois girou de volta para a orientação horizontal.


Eu editei a resposta. O objetivo era facilitar para os usuários do 16.04 encontrar uma solução.
Andrej Repiský 30/01

11
Este é o único que funcionou para mim também! A resposta de Ostermiller me deu um erro de permissão, mesmo quando o arquivo em minha casa foi lido para todos.
Alex

0

Você já tentou xrandr -o value? Como valueuso, leftouright

Além disso, você pode criar um atalho personalizado seguindo estas instruções


0

A mesma pergunta e meus resultados em 18.10 :

a resposta do falcoeiro é boa. Deixe-me adicionar dois detalhes que eu tive que descobrir em 18.10:

  • Em vez de [SeatDefaults]versões atuais, espere[Seat:*]
  • Mais importante: tive que experimentar um pouco o script acima usando loggere, em seguida xmessage, concluir que ele é chamado, ele corrige as coisas, mas seu efeito é infelizmente desfeito pelo cumprimentador da unidade.

Tentei outros recepcionistas, e todos eles respeitam a solução e iniciam uma rotação agradável, exceto o recepcionista padrão. Acabei usando slick-greeter.


0

Eu tive o mesmo problema com a tela greeter incorreta no Ubuntu 18.04 em um monitor vertical. Tentei alguns dos xrandrcomandos mencionados, conforme indicado em outras respostas, mas eles não funcionaram para mim. Segui a resposta que recomendava copiar o ~/.config/monitors.xmlarquivo para o /var/lib/gdm3/.configdiretório Depois de reiniciar, a tela greeter continuava com a orientação incorreta. Meu próximo passo foi examinar o conteúdo do /var/lib/gdm3/.config/monitors.xmlarquivo. Percebi que continha uma história de vários monitores e configurações que usei ao longo dos anos. Eu editei este arquivo para conter apenas a instalação da configuração atual.

A estrutura do monitors.xmlarquivo é que ele contém um conjunto de tags <monitors>e </monitors>, no início e no final do arquivo. Entre essas tags, há um ou mais conjuntos de tags <configuration>e </configuration>. Cada uma dessas seções contém um ou mais conjuntos de tags <logicalmonitor>e </logicalmonitor>. Cada uma dessas seções especifica um monitor, com parâmetros como marca e tipo, orientação (se não horizontal), largura, altura, x, ye taxa de atualização. Também especifica se um monitor é o monitor principal. No meu arquivo estava a configuração atual listada na parte inferior do arquivo. Eu removi todas as <configuration> </configuration>seções que não descreviam minha configuração atual. O resultado fica assim:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      .. primary monitor specification (vertical)
      <primary>yes</primary>
      <transform>
        <rotation>left</rotation>
        <flipped>no</flipped>
      </transform>
    </logicalmonitor>
    <logicalmonitor>
      .. secondary monitor specification (horizontal)
    </logicalmonitor>
  </configuration>
</monitors>

Agora eu reiniciei meu computador. Dessa vez, a janela do rastreador tinha a orientação correta. Acho que o histórico capturado no monitors.xmlarquivo original estava causando problemas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.