Acontece que isso não é novidade e eu simplesmente não usei as palavras-chave corretas para encontrar uma resposta. Aqui estão duas perguntas relacionadas que fornecem uma resposta:
estou correndo em um problema em uma máquina CentOS 7.5 com o vncserver padrão (TigerVNC). Tudo está funcionando bem, exceto uma falha visual: o tamanho maximizado da tela é diferente do tamanho real da tela (é maior). O resultado é que as janelas maximizadas são cortadas nas bordas direita e inferior.
A especialidade com este problema é que isso só ocorre quando não inicia um gerenciador de janelas em xstartup . Qual é o que eu quero. Para lhe dar algum contexto: a idéia é fornecer um aplicativo (fullscreen) via NoVNC em uma página da web. Somente o aplicativo deve estar acessível, portanto, nenhum gerenciador de janelas é necessário. Eu fiz isso no CentOS 6 há alguns anos e funcionou muito bem.
Eu brinquei com xrandr
e posso definir diferentes resoluções sem problemas. As janelas do cliente VNC também usam as novas resoluções ao se reconectar. Mas os aplicativos continuam pensando que há mais espaço disponível.
Para dar um exemplo numérico de como os tamanhos são desiguais: Se eu definir a resolução para 1024x768, a janela do cliente VNC será aberta com uma janela de tamanho 1024x768. A resolução do desktop parece ser 10% maior. Como se o aplicativo maximizado achasse que deveria ter um tamanho absoluto de ~ 1124x820.
Essencialmente, o problema é comparável à função Zoom do Mac OS, na qual o conteúdo é ampliado e você pode se deslocar movendo o mouse até as bordas da tela. Só que, no meu caso, o conteúdo não é dimensionado, e também não posso deslocar para ver o que está escondido atrás da borda do cliente VNC.
Eu verifiquei que esse problema é independente do cliente (mesmo comportamento com o cliente HTML e um cliente nativo).
O comando que eu uso no meu arquivo systemd parece bom para mim: /usr/bin/vncserver %i -desktop myapp -geometry 1024x768 -depth 24
.
Meu arquivo xstartup :
#!/bin/sh
unset SESSION_MANAGER
[ -r /.Xresources ] && xrdb /.Xresources
/bin/xsetroot -solid grey -cursor_name arrow
/bin/vncconfig -nowin &
/bin/xrandr -s 1024x768
/usr/bin/xterm -maximized
Encontrei uma pergunta comparável em 2002 aqui (Fórum do Ars Technica), mas sem uma solução.
EDITAR:
Fiz alguns testes adicionais e, se eu definir -geometry 1124x846
, todos os clientes funcionarão corretamente. Esta parece ser a resolução que o aplicativo acha que é a resolução de tela cheia. Então a questão seria de onde esta resolução vem e como eu posso mudar isso. Aumentar a resolução via -geometry
não faz o aplicativo crescer com ele.
Acontece que isso não é novidade e eu simplesmente não usei as palavras-chave corretas para encontrar uma resposta. Aqui estão duas perguntas relacionadas que fornecem uma resposta:
Tags resolution vnc centos