Desculpe por responder minha própria pergunta, mas como nenhuma outra resposta foi publicada, decidi fazer isso.
Parece que encontrei uma solução funcional:
-
Eu inicio o servidor X com o sinalizador -sharevts:
X -config displaylink.conf -sharevts :2
-
Eu inicio meus aplicativos:
DISPLAY=2: x-window-manager DISPLAY=2: xterm
-
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:
- eu inicio o servidor vnc:
x11vnc -localhost -scale 1024x768 -display :2