Como ter o servidor X em outra placa gráfica que continue atualizando quando estou trabalhando no meu monitor principal?

2

Para apresentações, quero usar o adaptador de vídeo externo conectado via USB conectado ao projetor (especialmente porque a saída VGA padrão do meu laptop foi danificada).

Minha ideia era iniciar um servidor X dedicado neste adaptador de vídeo adicional, e disponibilizá-lo via VNC. Então eu posso me conectar a ele com xvncviewer para gerenciar a apresentação da minha sessão X principal (e ter aplicativos adicionais abertos, que não são visíveis para o público).

Passe o mouse sobre o problema: se eu iniciar o servidor X nesse adaptador de vídeo adicional, ele usará um determinado console virtual. Assim que eu alternar o console virtual para retornar à minha sessão X principal (para acessar o servidor X de apresentação via VNC), o servidor X de apresentação pára de atualizar (como ele vê, que seu console virtual não está ativo).

Existe alguma maneira de iniciar o servidor X adicional de tal forma que ele continue atualizando quando eu estiver trabalhando na minha sessão X principal?

    
por wzab 20.02.2014 / 00:28

1 resposta

1

Desculpe por responder minha própria pergunta, mas como nenhuma outra resposta foi publicada, decidi fazer isso.

Parece que encontrei uma solução funcional:

  1. Eu inicio o servidor X com o sinalizador -sharevts:

    X -config displaylink.conf -sharevts :2

  2. Eu inicio meus aplicativos:

    DISPLAY=2: x-window-manager DISPLAY=2: xterm

  3. Eu inicio o servidor vnc:

    x11vnc -localhost -display :2

O displaylink.conf tem o seguinte conteúdo:

Section "Device"
  Identifier      "dl1"
  driver          "fbdev"
  Option  "fbdev" "/dev/fb1"
EndSection

Section "InputDevice"
   Identifier      "Generic Keyboard"
   Driver          "void"
   Option          "CoreKeyboard"
EndSection

Section "InputDevice"
   Identifier      "Configured Mouse"
   Driver          "void"
   Option          "CorePointer"
EndSection

Section "Monitor"
   Identifier "monitor0" 
EndSection

Section "Screen"
  Identifier "screen0"
  Device "dl1"
  Monitor "monitor0"
  DefaultDepth 16
EndSection

Section "ServerLayout"
  Identifier     "external"
  Screen  "screen0" 
  InputDevice "Generic Keyboard" "CoreKeyboard"
  InputDevice "Configured Mouse" "CorePointer"    
  Option "AutoAddDevices" "Off"
EndSection

Caso especial - exibição adicional maior que a principal

A última vez que enfrentei uma situação, onde o projetor usado para apresentação tinha uma resolução maior do que o meu laptop. Isso resultou na necessidade de rolar a tela de apresentação para acessar o menu ou a barra de ferramentas, o que era muito inconveniente durante uma palestra.

Após algumas tentativas frustradas de forçar o projetor a usar uma das resoluções mais baixas aceitáveis para a tela LCD do meu laptop, descobri que posso usar a opção "-scale" no x11vnc. Portanto, o terceiro ponto acima deve ter a seguinte aparência:

  1. eu inicio o servidor vnc:

    x11vnc -localhost -scale 1024x768 -display :2

  2.   
  A solução não é perfeita, já que a imagem da área de trabalho está um pouco borrada (no laptop, não na tela), mas posso navegar facilmente pelas apresentações e aplicativos de demonstração.     
por 15.03.2015 / 22:50