Como alterar a resolução da tela virtual no Ubuntu (conectando via VNC sem a tela real conectada)?


12

Eu tenho um servidor Ubuntu sem acesso físico a ele, apenas via ssh / vnc.

Ele está preso em uma resolução de 1680x1050 e nas configurações de exibição do sistema, os menus são desativados, pois não há exibição real detectada conectada.

Preciso diminuir a resolução para, por exemplo, 800x600.

Quando tento:

$ xrandr --output VGA1 --mode 800x600

Estou entendendo:

xrandr: cannot find mode 800x600

Os resultados são os mesmos, mesmo que eu tente pela primeira vez:

$ xrandr --newmode "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync

Os adereços são:

$ xrandr --prop
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 4096 x 4096
VGA1 disconnected 1680x1050+0+0 (normal left inverted right x axis y axis) 593mm x 371mm
  1680x1050 (0x43)  146.2MHz
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock   65.3KHz
        v: height 1050 start 1053 end 1059 total 1089           clock   60.0Hz

Alguma ideia?


Por favor, forneça informações xorg.conf
— Andrew Bolster

Para outra alternativa: superuser.com/questions/270608/…
— Wtower

Respostas:


10

Parece que você está usando o servidor vino para compartilhar a área de trabalho via VNC. Embora eu ache que você possa alterar o seu /etc/X11/xorg.conf ou qualquer que seja o arquivo de configuração do X agora, tenho outra sugestão. Deixe a configuração do X em paz e crie outra sessão para o seu vnc.


Instale o vnc

$ sudo apt-get install vnc4server

Crie scripts de início e parada do vnc

vnc.sh

#!/bin/sh

vncserver :12 -name "My-Server" -geometry 1600x1100

vnc-kill.sh

#!/bin/sh

vncserver -kill :12

12 é apenas um número de exibição arbitrário. Você usará isso quando se conectar ao servidor. Pode ser qualquer número, exceto 0. É isso que o servidor vino usa por padrão (eu acho). Não se esqueça de chmod + x os scripts.

Opcional: Iniciar sessão vnc na inicialização

Adicione o vnc.sh ao seu /etc/rc.local para que a sessão inicie quando o computador iniciar. sudo vi /etc/rc.local e adicione-o ao final antes da "saída 0"

su - YourUserName -c "/home/YourUserName/bin/vnc.sh"

Eu executo o servidor vnc como usuário aqui. Não quero que o servidor seja executado no contexto raiz. Substitua o "YourUserName", é claro. Como alternativa, você não precisa colocar isso aqui, pode executar o ssh e executar o script "vnc.sh" manualmente. Sua chamada.

Defina sua senha vnc

(isso é separado da outra senha da área de trabalho do vnc)

$ vncpasswd

Edite seu arquivo de sessão vnc

$ vi ~/.vnc/xstartup

Comente tudo e coloque isso no final

gnome-session &

Teste-o

Execute o script vnc.sh e conecte-se a partir de outro computador.

vncviewer.exe -connect Server:12

2
Obrigado, funciona muito bem para uma nova área de trabalho. No entanto, preciso usar uma área de trabalho existente com várias janelas abertas já existentes. Existe uma maneira de me conectar à tela original: 0 com uma geometria diferente?
— GJ.

... como alternativa, há uma maneira de mover todas as janelas em uma única operação em lote da tela principal para esta nova tela VNC?
— GJ.

Embora ainda não tenha tentado, acredito que você pode usar "x11vnc" no lugar do "vncserver" acima, com um parâmetro -geometry específico. Isso deve lhe dar acesso à tela: 0. Procurei parâmetros no servidor gnome vino, mas não encontrei nenhum.
— SuperJames

1

Você pode considerar alterar a resolução no servidor VNC? Não tenho certeza da sua configuração, mas se o servidor VNC estiver na máquina virtualizada, você poderá verificar o ponto de instanciação do vncserver e alterar o -geometrysinalizador lá?

Como alternativa, eu olharia o xorg.conf e adicionaria o modo que você está procurando, pois xrandrestá dizendo que não está disponível. Este artigo aborda os conceitos básicos da edição do xorg.conf


1

Eu posso alterar minha resolução do vncserver à vontade com o seguinte comando:

vncconfig -set randr=1552x1175 ; xrandr -s 1552x1175

(HT Matt D.)


O que é vncconfig? Você quer dizer vnc4config?
— Wtower

Suse chama vncconfig.
— Ross Rogers

Ah, nesse momento :)
— Wtower
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.