Configure o TigerVNC Server para iniciar o sistema no Ubuntu GNOME 16.04

1

Eu estou tentando configurar o TigerVNC Server para rodar em Ubuntu GNOME 16.04.3 . Instalei a versão mais recente ( 1.8 ) de TigerVNC usando este post . Se eu iniciar um servidor usando:

vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost

funciona perfeitamente. Posso conectar-me ao display 4 através do SSH e ter acesso total ao meu computador, sem desbloquear as exibições reais (físicas) em meu laboratório. Além disso, posso ajustar a geometria para combinar com a tela do meu laptop, então tudo está perfeito.

Então eu tentei fazer o servidor iniciar na inicialização, usando systemd , e achei este post para me ajudar. No entanto, estou executando a área de trabalho do GNOME e as configurações do blog são para Unity. Eu não tenho o Unity instalado na minha máquina e preferiria evitá-lo.

Como modifico as etapas 7 e 8 nessa postagem para usar a área de trabalho do GNOME em vez do Unity? Eu sei que não funciona se eles são ignorados, como eu só fico com uma tela preta quando me conecto remotamente.

Na verdade, se houver outra maneira de garantir que vncserver seja iniciado na inicialização, isso também será aceito como resposta. O TigerVNC instala um script chamado vncserver in /etc/init.d/ , mas não consigo ativá-lo usando update-rc.d

    
por Kartik 22.08.2017 / 21:42

1 resposta

1

Esse arquivo systemd Unit funcionou para mim:

[Unit]
Description=Start TigerVNC Server at startup
After=syslog.target network.target

[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Certifique-se de substituir user pelo seu nome de usuário real nas linhas correspondentes a User e PIDFile em [Service] .

Para adaptá-lo às suas necessidades, use seu número de display preferido em vez de 4 (como eu fiz) ao habilitar. Além disso, verifique se você inicializou o vncserver fora desse arquivo de unidade de serviço antes de iniciar o serviço. Isso garantiria a senha e os arquivos necessários ( xstartup , etc.) serão criados. A maneira mais fácil de fazer isso seria executar o comando contra ExecStart under [Service] no arquivo Unit. Para o meu caso, isso se traduz em:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Fonte: eu adaptei o arquivo de unidade de este guia .

    
por Kartik 23.08.2017 / 03:17