Solución:
-
Primero, instale el servidor TightVNC
sudo apt-get install tightvncserver
. -
Configure el servidor VNC para el usuario con el que desea iniciar sesión. Cuando ejecute “vncserver” por primera vez, le pedirá que establezca una contraseña. Solo permite conexiones VPN o tunelizadas SSH. Para iniciar programas o una sesión cuando se inicia su sesión de VNC, modifique
~/.vnc/xstartup
. Aquí hay un ejemplo.#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid black /opt/azureus/azureus & k3b & icewm-session &
-
Copie lo siguiente en
/etc/init.d/vncserver
. La forma más sencilla de hacerlo es copiarlo en el portapapeles, ejecutarsudo -i && cat > /etc/init.d/vncserver && exit
en una terminal, péguelo y escriba CTRL-D. Asegúrese de cambiar la variable USER 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 que el script sea ejecutable con
sudo chmod +x /etc/init.d/vncserver
. - 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. En OS X, me gusta usar Chicken of the VNC. En Windows y Linux, el cliente TightVNC funciona bien.
Fuente
Una posibilidad: /etc/rc.local
El contenido lo dice:
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
Los bits de ejecución ya están configurados en 755 en mi sistema. (chmod 755 /etc/rc.local)
Puede poner cualquier comando allí, que se ejecutará como root.
Esto está bien para su propósito siempre y cuando no cambie los niveles de ejecución, supongo. (Si no sabe qué son los niveles de ejecución, no importa).
Esta parece ser una publicación antigua, pero el tema podría ser interesante para algunos usuarios. Para que vnc se inicie al arrancar, necesitará
- instale un software de servidor vnc (aquí usaremos x11vnc)
- configurar un script de inicio (utilizado para iniciar el servicio vnc)
Paso 1: instale el servidor x11vnc
desde una línea de comando, escriba
sudo apt-get install x11vnc
Para agregar seguridad, debe establecer un pwd
sudo x11vnc -storepasswd
Paso 2: configura tu secuencia de comandos de inicio
- si su versión de ubuntu es inferior a 15.04,
creas el archivo de configuración en /etc/init.d/x11vnc.conf
y rellénelo con los comandos correctos que se ejecutarán
start on login-session-start
script
/usr/bin/x11vnc -xkb -auth
/var/run/lightdm/root/:0
-noxrecord -noxfixes -noxdamage
-rfbauth /etc/x11vnc.pass
-forever -bg -rfbport 5900 -o /var/log/x11vnc.log
end script
- si su versión de ubuntu es 15.04 o posterior,
estos sistemas utilizan systemd y deberá crear su archivo de unidad de servicio en /lib/systemd/system/x11vnc.service
y rellénelo con los comandos correctos que se ejecutarán
[Unit] Description=Start x11vnc at startup. After=multi-user.target
[Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever
-loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared
[Install] WantedBy=multi-user.target
Recargar el servicio
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
Puede encontrar información detallada en la página wiki de la comunidad de ayuda de Ubuntu (consulte aquí) o puede intentar utilizar este método rápido de usar.
- Para la versión de Ubuntu menor que 15.04, mira esta publicación
- Para la versión de Ubuntu 15.04 o posterior, mira esta publicación
Espero que esto sea útil