Como posso iniciar um servidor VNC antes de fazer logon?

19

Eu gostaria de executar o x11vnc (ou outro servidor VNC) na minha área de trabalho, mas não consigo encontrar uma maneira de iniciá-lo antes que qualquer usuário efetue login. Voltar quando eu estava usando o vanilla Ubuntu 10.10 Vino fazia isso por padrão. No entanto, não consigo encontrar uma maneira de fazer isso agora no Xubuntu.

PHLAK
fonte

Respostas:

15

Normalmente, sugiro um servidor VNC alternativo, x11vncserver ou FreeNX.

FreeNX como fazer e baixar informações

x11 VNC e documentos

Isso pressupõe que o VNC está configurado e pode ser executado:

Copie o bloco de código abaixo em /etc/init.d/vncserver. A maneira mais fácil de fazer isso é copiá-lo para a área de transferência, rodar sudo -i && cat > /etc/init.d/vncserver && exitem um terminal, colar e digitar Ctrl- D`. Certifique-se de alterar a variável USER para o usuário em que você deseja que o servidor VNC seja executado.

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}

# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
GEOMETRY="1024x768"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="my-vnc-server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

Torne o script executável com sudo chmod +x /etc/init.d/vncserver.

Então corra sudo update-rc.d vncserver defaults. Isso adiciona os links simbólicos apropriados ao script vncserver, para que sejam enviados os comandos de início e parada no momento apropriado.

Nota: pode ser necessário usá-lo, sudo update-rc.d vncserver 99se o trabalho estiver sendo executado muito cedo no processo de inicialização.

Para iniciar o servidor sem reiniciar, execute sudo /etc/init.d/vncserver start

Por fim, conecte-se ao servidor com um cliente VNC na porta 590X, em que X é o valor de "DISPLAY" no script vncserver

fonte

Ringtail
fonte
o comando de inicialização da sequência atrasada deve ser sudo update-rc.d vncserver defaults 99, eu acho.
Christoph
Tudo funciona muito bem, exceto que eu não tenho direitos à rede ou à lixeira por algum motivo. askubuntu.com/questions/722802/...
Donny V.
4

Minha solução:

  1. Vá para o compartilhamento da área de trabalho e permita que ele compartilhe e coloque uma boa senha. (clique para permitir permissões)
  2. Vá para a tela e defina-a para bloquear após 30 segundos.
  3. Vá para usuários e permita um login automático.

O servidor vino é iniciado e você deve conseguir se conectar a ele. Você pode usar o ssh para criar um túnel para o VNC, se precisar protegê-lo (usei o PUTTY e isso funcionou muito bem). Você também pode ativar o firewall e apenas permitir o tráfego de um endereço específico. Esta solução funcionou para mim em mais de 20 caixas Ubuntu.

Nick Santos
fonte
0

O que acontece quando você tenta: (?)

vino-preferences

.. e adicione-o nos Aplicativos iniciados automaticamente, para iniciar o servidor vino:

/usr/lib/vino/vino-server

ATUALIZAR:

Tente o seguinte:

Iniciar um servidor VNC no Ubuntu na inicialização

http://www.abdevelopment.ca/blog/start-vnc-server-ubuntu-boot

david6
fonte
Isso inicia o aplicativo APÓS o login. Eu queria iniciá-lo antes mesmo de fazer login.
PHLAK
solução possível adicionada ..
david6
2
solução desatualizada.
vainolo
Alguém disse que isso estava desatualizado, mas eu fiz isso hoje e funcionou muito bem. Alguns avisos executando o comando update-rc.d, mas funcionou.
John Martin