Executando o servidor VNC no Ubuntu Desktop 18.04 criando novas sessões

3

Eu gostaria de criar um servidor VNC que executa o ambiente gnome-shell, o mesmo que a interface do usuário padrão no console, separado da sessão do console (para que o console não consiga ver nada).

Eu tentei vnc4server e tightvncserver , nem trabalhei. Não importa como eu configurei xstartup , gnome-session simplesmente não será executado. Consegui executar Xfdm e gnome-panel da mesma maneira. Quando tento me conectar ao servidor VNC, fico apenas na tela cinza. No entanto, posso confirmar que o servidor vnc funcionou porque posso executar programas definindo DISPLAY e XAUTHORITY .

Existe uma maneira de executar ubuntu-desktop em execução em uma nova sessão X, separada da sessão de console? De preferência em um servidor VNC?

Passos que criei o servidor vnc:

  1. Instale um ambiente completamente novo do Ubuntu 18.04 LTS.
  2. Instale tightvncserver .
  3. Execute vncserver para configurá-lo e eliminá-lo.
  4. Altere ~/.vnc/xstartup e anexe:

    export STARTUP="/ usr / bin / sessão-gnome --session = ubuntu --disable-acceleration-check" $ STARTUP

  5. Executar vncserver .

  6. Conecte-se ao servidor VNC com qualquer cliente VNC. Apenas a tela cinza é mostrada.
  7. Configure DISPLAY e XAUTHORITY e execute gedit . A sessão do VNC vê uma janela gedit incompleta.
por He WenYang 02.05.2018 / 17:05

2 respostas

0

Finalmente, encontrei a solução.

A sessão do Gnome parece não funcionar nos servidores VNC X, mas um Xvfb funcionará. A idéia é criar um Xvfb para a sessão e usar x11vnc para o VNC:

Xvfb :1 -screen 0 1280x720x24

Em seguida, crie o ambiente GNOME:

DISPLAY=:1 gnome-shell --replace

Finalmente, use x11vnc para criar um servidor VNC para Xvfb:

x11vnc -display :1
    
por He WenYang 12.05.2018 / 14:52
0

Certifique-se de remover o DBUS_SESSION_BUS_ADDRESS no início do script xstartup .

Aqui está um recado meu que tem gnome-session iniciada corretamente. No entanto, o único problema até agora é que o esquema de cores do terminal não é aplicado corretamente, mas o VNC é executado corretamente:)

#!/bin/sh
MODE="GNOME"
unset DBUS_SESSION_BUS_ADDRESS
if [ -e "$HOME/.Xresources" ]
then
    xrdb "$HOME/.Xresources"
fi

if [ "GNOME" = "$MODE" ]
then
    if which gnome-session > /dev/null
    then
        gnome-session --session=ubuntu &
    else
        MODE="
    fi
fi
    
por twang 08.06.2018 / 16:40