Resposta Básica

Resposta Básica

Eu tenho um problema complicado em relação a vários monitores no KDE (Kubuntu). Tenho um laptop que, em casa, está conectado a dois monitores - VGA e HDMI. Isso funciona apenas quando a tela embutida do laptop está desativada (pelo menos me disseram isso).

O problema é que agora tirei o laptop e inicializei-o sem nenhum monitor externo conectado. O sistema lembra que a tela integrada foi desabilitada, então a desabilita mesmo sendo o único monitor conectado. Obviamente, isso torna o laptop praticamente inutilizável. Mudando para um terminal através de ++ Ctrlfunciona , consigo fazer o login; até o Guest funciona normalmente.AltF#

A questão é: como (re) definir as configurações do monitor de uma conta através de terminais, já que não consigo usar a GUI?

Obrigado

Responder1

O comando xrandr -s 0deve redefinir suas exibições no terminal. Mais podem ser encontrados no site a seguir ou man xrandrno terminal.

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/

Responder2

Sempre que coloco meu laptop Lubuntu para hibernar quando ele está sendo exibido exclusivamente na minha TV e o acordo depois de desconectá-lo, acabo com uma tela preta porque a resolução errada foi atribuída. Então, mesmo problema que você, preciso definir a resolução do terminal virtual TTY1 que posso alcançar com Ctrl-alt-F1, mas o xrandr parece não funcionar. Examinei as páginas dos resultados de pesquisa do Google antes de encontrar a solução, então pensei em compartilhar.

O principal é que o xrandr aparentemente só funciona na tela em foco no momento. Portanto, você deve encadear um comando sleep antes do comando xrandr para ter tempo de voltar ao servidor X com Ctrl-alt-F7 para que o comando seja executado lá. Caso contrário, você receberá um erro como xrandr: Configure crtc 0 failed.

  1. Abra o terminal virtual com Ctrl-alt-F1 e faça login

Para obter os nomes das telas conectadas (e assumindo que seu servidor X esteja rodando :0):

  1. $xrandr -d :0

Para modificar as configurações de exibição:

  1. $sleep 5; xrandr --output LVDS1 --auto -d :0

Substitua LVDS1 pela saída que você deseja modificar e --auto por quaisquer parâmetros xrandr que você deseja usar.

  1. Mude para o servidor X com Ctrl-alt-F7 antes que o atraso de suspensão definido no comando acima termine.

TEM que haver uma maneira melhor de fazer isso. Mas funciona.

Fonte original da solução:http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

Confira este comentáriopara uma possível melhoria na minha solução (não testei).

Responder3

Boa pergunta. Um pouco complicado de responder, mas aqui está uma tentativa.

Resposta Básica

Na verdade há um poucopossibilidade de reinicialização incluída no X11. Você pode encontrá-lo em /etc/X11/Xreset. Você pode usar o diretório Xreset ( Xreset.d) para colar um script que é executado automaticamente quando um usuário efetua logout. O arquivo README:

# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

Você poderia, portanto, a) adicionar um script de redefinição /etc/X11/Xreset.deb) criar um script anexado a um inicializador que configure seus monitores externos duplos. Dessa forma, você faria logoff e tudo voltaria ao normal, você faria logon no seu laptop, clicaria no inicializador dos monitores e aproveitaria a vida.

Mais Informações

  1. Você pode querer sudo dpkg-reconfigure -phigh xserver-xorgredefinir o xserver ou (provavelmente é melhor dar uma olhada noresponderMik sugeriu nos comentários).

  2. Um cara da SuSE escreveu um beloartigosobre X.

  3. Em um resolvidorelatório de erroalguém afirma:

    os administradores podem colocar scripts em /etc/X11/Xreset.d/ para serem executados após o logout do usuário.

  4. Este é o conteúdo do arquivo:

Você pode encontrá-lo em seu próprio sistema.

#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers
 
# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e
 
PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d
 
if [ ! -d "$SYSSESSIONDIR" ]; then
  # Nothing to do, exiting
  exit 0
fi

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi 

exit 0

# vim:set ai et sts=2 sw=2 tw=80:

Responder4

Uma coisa que ainda não mencionei, mas que pode ser crítica: se você estivesse usando umThinkpadlaptop, a solução seria simples: Fn+ F7. Se você estiver usando um laptop de fabricante diferente, provavelmente haverá alguma outra tecla do tipo Fn que alternará entre as saídas de exibição/tela (por exemplo, projetor, monitor externo, exibição interna; espelho, ligar/desligar, e similares) no nível do BIOS (eu presumo -Editar: VerComo funcionam as teclas Fn?para mais detalhes sobre isso).

Portanto, não haveria necessidade de redefinir nada no Linux, por assim dizer.

informação relacionada