Esta guía le mostrará cómo instalar una GUI o un escritorio en una máquina sin cabeza/servidor. Esto funcionará con ubuntu 14.04+
Como de costumbre, siempre actualizo mi sistema antes de instalar cualquier cosa. Es una buena práctica mantener seguros nuestros servidores/máquinas también
apt-get update && apt-get upgrade
Instalar escritorio GUI
Estoy usando el servidor Ubuntu 14.04 de 64 bits para este tutorial, así que instalaré una GUI de mi elección, XFCE es siempre mi entorno de escritorio favorito. Puede instalar otro, pero para el movimiento de este tutorial solo usaré XFCE.
apt-get install xubuntu-desktop xfce4 firefox nano
Instalar servidor VNC en Ubuntu 14.04
Instalar VNC Server en Ubuntu 14.04 es simple, pero la configuración es otra historia.
apt-get install vnc4server
Configurar el servidor VNC para que funcione en Ubuntu
Agregar usuario de VNC
Siempre puede ejecutar su sistema con root, pero no es una buena práctica de seguridad. Si tiene un usuario normal/privilegiado, puede omitir este paso. Si está utilizando la raíz, le recomiendo que cree un usuario normal/privilegiado y use este usuario en lugar de la raíz. Para el propósito de este tutorial, estoy creando un usuario "puremedia", pero puede elegir cualquier usuario/nombre de usuario que desee usar o incluso su usuario privilegiado existente.
adduser puremedia
Dejemos que los agreguen a la lista de sudo para permitir la instalación y actualización de aplicaciones
adduser puremedia sudo
Ahora iniciemos sesión como ese usuario para generar la configuración predeterminada para VNC
su puremedia
Iniciemos VNCserver como este usuario
vncserver
La primera vez que inicie vncserver, se le pedirá que proporcione la contraseña de vnc para acceder a su servidor VNC. Esta contraseña puede ser la misma que la contraseña de su usuario o diferente, depende de usted, pero le recomiendo que configure esta contraseña diferente a la contraseña de su usuario para una mejor medida de seguridad.
El siguiente paso es apagar vncserver para modificar el archivo xstartup (script de inicio) para hacer que vncserver comience con xfce4 (instalamos xfce4 para este tutorial)
vncserver -kill :1
Ahora editemos xstartup para vncserver
cd
nano .vnc/xstartup
Este es el archivo de configuración original
#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager &
Lo que debe hacer es descomentar dos líneas "unset SESSION_MANAGER" y "exec /etc/X11/xinit/xinitrc", luego agregue "startxfce4 &" al archivo. El archivo xstartup modificado debería verse así
#!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc startxfce4 & [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager &
Guarde xstartup cuando haya terminado.
CTRL + X
Crear secuencia de comandos de inicio del servidor VNC
sudo nano /etc/init.d/vncserver
Ahora agrega
#!/bin/bash ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: $syslog # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: vncserver # ### END INIT INFO unset VNCSERVERARGS VNCSERVERS="" [ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf prog=$"VNC server" start() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Starting $prog: " ulimit -S -c 0 >/dev/null 2>&1 RETVAL=0 for display in ${VNCSERVERS} do export USER="${display##*:}" if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then echo -n "${display} " unset BASH_ENV ENV DISP="${display%%:*}" export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}" su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}" fi done } stop() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Shutting down VNCServer: " for display in ${VNCSERVERS} do export USER="${display##*:}" if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then echo -n "${display} " unset BASH_ENV ENV export USER="${display##*:}" su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1 fi done echo -e "n" echo "VNCServer Stopped" } case "$1" in start) start [email protected] ;; stop) stop [email protected] ;; restart|reload) stop [email protected] sleep 3 start [email protected] ;; condrestart) if [ -f /var/lock/subsys/vncserver ]; then stop [email protected] sleep 3 start [email protected] fi ;; status) status Xvnc ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac
Permita que este archivo se ejecute
sudo chmod +x /etc/init.d/vncserver
Crear archivo de configuración del servidor VNC
Vamos a crear el archivo vncservers.conf en el directorio /etc/vncserver para configurar el puerto VNC y la resolución de pantalla para cada usuario.
mkdir -p /etc/vncserver
nano /etc/vncserver/vncservers.conf
# VNC port:user # 1 for port 1 and 5901, 2 for port 2 and 5902, 3 for port 3 and 5903, and so on VNCSERVERS="1:puremedia" # VNC screen resolution #GEOMETRY="<WIDTH>x<HEIGHT>" VNCSERVERARGS[1]="-geometry 1024x768" # Color depth (choose 8, 16, or 32) DEPTH="32"
Guardar de nuevo
CTRL + X
Configure VNC para que se inicie en el arranque
update-rc.d vncserver defaults 99