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?

GJ.
fonte
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
SuperJames
fonte
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

Andrew Bolster
fonte
1

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

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

(HT Matt D.)

Ross Rogers
fonte
O que é vncconfig? Você quer dizer vnc4config?
Wtower
Suse chama vncconfig.
Ross Rogers
Ah, nesse momento :)
Wtower