¿Cómo puedo iniciar un servidor VNC antes de iniciar sesión?

19

Me gustaría ejecutar x11vnc (u otro servidor VNC) en mi escritorio, pero no puedo encontrar una manera de que se inicie antes de que cualquier usuario inicie sesión. Cuando estaba usando Ubuntu 10.10 Vino, Vanilla hizo esto por defecto. Sin embargo, no puedo encontrar una manera de hacerlo ahora en Xubuntu.

PHLAK
fuente

Respuestas:

15

Por lo general, sugiero un servidor VNC alternativo, x11vncserver o FreeNX.

FreeNX cómo y descargar información

x11 VNC y documentos

Esto supone que VNC está configurado y puede ejecutarse:

Copie el bloque de código a continuación en /etc/init.d/vncserver. La forma más fácil de hacerlo es copiarlo en el portapapeles, ejecutarlo sudo -i && cat > /etc/init.d/vncserver && exiten una terminal, pegarlo y escribir Ctrl- D`. Asegúrese de cambiar la variable USUARIO a cualquier usuario con el que desee que se ejecute el servidor VNC.

#!/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

Haga el script ejecutable con sudo chmod +x /etc/init.d/vncserver.

Entonces, corre sudo update-rc.d vncserver defaults. Esto agrega los enlaces simbólicos apropiados al script vncserver para que se le envíen los comandos de inicio y detención en el momento apropiado.

Nota: es posible que deba usarlo sudo update-rc.d vncserver 99si el trabajo se está ejecutando demasiado pronto en el proceso de arranque.

Para iniciar el servidor sin reiniciar, ejecute sudo /etc/init.d/vncserver start

Finalmente, conéctese a su servidor con un cliente VNC en el puerto 590X, donde X es el valor de "DISPLAY" en el script vncserver

fuente

Cola de anillo
fuente
el comando de inicio de secuencia demorada debería ser sudo update-rc.d vncserver defaults 99, creo.
Christoph
Todo funciona muy bien, excepto que no tengo derecho a la red o la papelera por alguna razón. askubuntu.com/questions/722802/…
Donny V.
4

Mi solución:

  1. Vaya a compartir escritorio y permita que lo comparta y ponga una buena contraseña. (haga clic para permitir los permisos)
  2. Vaya a la pantalla y configúrela para que se bloquee después de 30 segundos.
  3. Vaya a usuarios y permita un inicio de sesión automático.

Se inicia el servidor de vino y debería poder adjuntarlo. Puede usar ssh para crear un túnel para VNC si necesita asegurarlo (usé PUTTY y funcionó muy bien). También puede habilitar el firewall y solo permitir el tráfico desde una dirección específica. Esta solución me ha funcionado en más de 20 cuadros de Ubuntu.

Nick Santos
fuente
0

¿Qué sucede cuando intentas: (?)

vino-preferences

.. y agregue esto en Aplicaciones de inicio automático, para iniciar el servidor de vino:

/usr/lib/vino/vino-server

ACTUALIZAR:

Prueba esto:

Inicie un servidor VNC en Ubuntu en el arranque

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

david6
fuente
Esto solo inicia la aplicación DESPUÉS de iniciar sesión. Quería iniciarlo antes de que incluso una sesión.
PHLAK
posible solución agregada ..
david6
2
Solución desactualizada.
vainolo
Alguien dijo que esto estaba desactualizado, pero lo hice hoy y funcionó bien. Un par de advertencias ejecutando el comando update-rc.d pero funcionó.
John Martin