Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Antes de nada, aclarar que la instalación del vnc que se va a hacer es el x11vnc-server,
producto que necesita que el sistema Wayland de Ubuntu esté deshabilitado, ya que, como su
propio nombre indica, solo funciona con sistemas x11.
En este manual, vamos a dividir por bloques para tener todo mejor gestionado.
INSTALACIÓN DE X11VNC
La instalación es muy sencilla, basta con hacer:
Modificamos los permisos de la carpeta y del archivo para que todos los
usuarios tengan acceso de lectura al archivo, ya que si no, no se podría
verificar que la contraseña introducida por el cliente corresponda con la del
servidor.
-auth -> autoridad que está solicitando el permiso para mostrar lo que
está viendo, en el caso del login es el usuario gdm el que está
mostrando esa pantalla, y en caso de estar en un escritorio será ese
usuario el que te lo esté mostrando. Es un archivo .Xauthority el que da
toda esa información. Existen 2 ubicaciones para poder mostrar esa
información:
1. Ubicación absoluta: /run/user/xxxxxx/gdm/Xauthority
2. Ubicación relativa de usuario: ~/.Xauthority
En el caso de querer levantar el vnc con el login de los usuarios, sí o sí
hay que utilizar el usuario gdm (normalmente número 120-129), y en el
caso de los usuarios, se generan distintos grupos dependiendo el tipo
de privilegios que tengan (sudoers | usuarios locales sin permisos |
usuarios del dominio).
# nano /lib/systemd/system/x11vnc-login.service
[Unit]
Description=Start x11vnc-login at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/125/gdm/Xauthority
-forever -loop -noxdamage -repeat -rfbauth /home/.vnc/passwd
-rfbport 5901 -shared -display :0
[Install]
WantedBy=multi-user.target
# nano /lib/systemd/system/x11vnc-domain.service
[Unit]
Description=Start x11vnc for domain users at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth
/run/user/1377612612/gdm/Xauthority. -forever -loop -noxdamage
-repeat -rfbauth /home/.vnc/passwd -rfbport 5900 -shared -accept
popup -display :1
[Install]
WantedBy=multi-user.target
# nano /lib/systemd/system/x11vnc-local.service
[Unit]
Description=Start x11vnc for local users at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1002/gdm/Xauthority
-forever -loop -noxdamage -repeat -rfbauth /home/.vnc/passwd
-rfbport 5900 -shared -accept popup -display :1
[Install]
WantedBy=multi-user.target
# nano /lib/systemd/system/x11vnc-sudoer.service
[Unit]
Description=Start x11vnc-login at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority
-forever -loop -noxdamage -repeat -rfbauth /home/.vnc/passwd
-rfbport 5902 -shared -display :0
[Install]
WantedBy=multi-user.target
Una vez generados los 4 servicios, debemos habilitarlos cómo servicios, para
eso realizamos la siguiente tarea:
# systemctl daemon-reload
# systemctl enable x11vnc-sudoer.service
# systemctl enable x11vnc-login.service
# systemctl enable x11vnc-local.service
# systemctl enable x11vnc-domain.service