En servidores Linux donde en muchos de los casos no tendremos un sistema gráfico instalado como puede ser Gnome o KDE, podemos encontrarnos con la circunstancia de que necesitemos instalar un programa que necesite ejecutar al menos una ventana en un entorno gráfico aunque sea mínimo.
En este caso necesitamos entrar a ciertos servidores algunas veces y poder desplegar un navegador web para manipular modems ADSL y alguna impresora mediante su interfaz web y no tener que hacerlo desde el equipo de un usuario.
Utilizaremos servidores Linux Debian con la mas mínima instalación por que su función solamente es realizar una VPN y unas pocas labores como router.
Así que instalaremos el servicio de VNC y un navegador web mediante pocas instrucciones utilizando el sistema de paquetes de debian. Al decir una instalación básica nos referimos a que solo agregamos el servicio de SSH utilizando el CD de instalación por red (netinst) para debian 7.
No instalamos el ambiente de escritorio, sistema de impresión, tampoco las utilidades para laptop ni las herramientas por defecto del sistema.
Solo el servicio de SSH.
Nos conectamos mediante SSH al servidor para empezar la instalación que consistirá básicamente de cuatro paquetes junto con todas sus dependencias, los cuales son: iceweasel, twm, xterm y vnc4server.
Ejecutamos la actualización de aptitude y tener listo nuestro repositorio.
gabriel@daneel:~$ ssh root@192.168.1.61
root@debian-tester:~# aptitude update
Primero vamos con el navegador web que en Debian de manera predeterminada es iceweasel (Firefox) el cual para instalarse necesitara 61 paquetes.
root@debian-tester:~# aptitude install iceweasel The following NEW packages will be installed: dbus{a} fontconfig{a} fontconfig-config{a} hicolor-icon-theme{a} hunspell-en-us{a} iceweasel libasound2{a} libatk1.0-0{a} libatk1.0-data{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libcairo2{a} libcap2{a} libclass-isa-perl{a} libcups2{a} libdatrie1{a} libdbus-1-3{a} libdbus-glib-1-2{a} libevent-2.0-5{a} libfontconfig1{a} libgdk-pixbuf2.0-0{a} libgdk-pixbuf2.0-common{a} libglib2.0-0{a} libglib2.0-data{a} libgtk2.0-0{a} libgtk2.0-bin{a} libgtk2.0-common{a} libhunspell-1.3-0{a} libjasper1{a} libjbig0 libjpeg8{a} libmozjs17d{a} libnspr4{a} libnss3{a} libpango1.0-0{a} libpcre3{a} libpng12-0{a} libstartup-notification0{a} libswitch-perl{a} libsystemd-login0{a} libthai-data{a} libthai0{a} libtiff4{a} libvpx1{a} libx11-xcb1{a} libxcb-render0{a} libxcb-shm0{a} libxcb-util0{a} libxcursor1{a} libxft2{a} libxi6{a} libxinerama1{a} libxml2{a} perl{a} perl-modules{a} sgml-base{a} shared-mime-info{a} ttf-dejavu-core{a} xml-core{a} xulrunner-17.0{a} 0 packages upgraded, 61 newly installed, 0 to remove and 0 not upgraded. Need to get 43.2 MB of archives. After unpacking 150 MB will be used. Do you want to continue? [Y/n/?] Y
Luego vamos por el pequeño gestor de ventanas twm e iniciamos su instalación.
root@debian-tester:~# aptitude install twm The following NEW packages will be installed: twm 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 123 kB of archives. After unpacking 389 kB will be used. Get: 1 http://ftp.us.debian.org/debian/ wheezy/main twm amd64 1:1.0.6-1 [123 kB] Fetched 123 kB in 0s (162 kB/s) Selecting previously unselected package twm. (Reading database ... 35773 files and directories currently installed.) Unpacking twm (from .../twm_1%3a1.0.6-1_amd64.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up twm (1:1.0.6-1) ... update-alternatives: using /usr/bin/twm to provide /usr/bin/x-window-manager (x-window-manager) in auto mode Processing triggers for menu ...
Instalamos Xterm que es un emulador de terminal y necesitara 12 paquetes para instalarse.
root@debian-tester:~# aptitude install xterm The following NEW packages will be installed: libgl1-mesa-glx{a} libglapi-mesa{a} libutempter0{a} libxcb-glx0{a} libxcb-shape0{a} libxtst6{a} libxv1{a} libxxf86dga1{a} libxxf86vm1{a} x11-utils{a} xbitmaps{a} xterm 0 packages upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 1,202 kB of archives. After unpacking 3,829 kB will be used. Do you want to continue? [Y/n/?] Y
Y por ultimo pero no menos importante el servidor VNC con 8 paquetes.
root@debian-tester:~# aptitude install vnc4server The following NEW packages will be installed: libfs6{a} vnc4server x11-apps{a} x11-session-utils{a} x11-xfs-utils{a} x11-xserver-utils{a} xbase-clients{a} xinit{a} 0 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded. Need to get 3,311 kB of archives. After unpacking 8,580 kB will be used. Do you want to continue? [Y/n/?] Y
Terminada la instalación vamos a conectarnos como un usuario normal ya que no es recomendable entrar mediante VNC con el superusuario root.
gabriel@daneel:~$ ssh gabriel@192.168.1.61 gabriel@192.168.1.61's password:
Iniciamos la configuración del servidor donde nos solicitara una contraseña, por mas larga que escribamos nuestra contraseña solo tomara los primeros ocho dígitos de ella y creara nuestro escritorio.
gabriel@debian-tester:~$ vnc4server You will require a password to access your desktops. Password: Verify: Password too long - only the first 8 characters will be used xauth: file /home/gabriel/.Xauthority does not exist New 'debian-tester:1 (gabriel)' desktop is debian-tester:1 Creating default startup script /home/gabriel/.vnc/xstartup Starting applications specified in /home/gabriel/.vnc/xstartup Log file is /home/gabriel/.vnc/debian-tester:1.log gabriel@debian-tester:~$
Nos conectaremos mediante la aplicación RealVNC desde un cliente Windows donde especificamos la dirección IP y el numero del escritorio asignado.
El cliente de VNC nos menciona que estaremos en una conexión sin cifrar y que si bien nuestras credenciales son transmitidas de manera segura la demás información es susceptible a ser interceptada, omitimos esta advertencia y continuamos.
Ingresamos nuestra contraseña que establecimos anteriormente.
Tenemos nuestro escritorio listo con un sistema de ventanas mínimo y una consola para iniciar nuestra aplicación.
Ejecutamos nuestro navegador web y tenemos que especificar mediante el cursor donde lo colocaremos en el sistema de ventanas.
Ya tenemos nuestro navegador web listo y la comadreja nos da la bienvenida.
Si el equipo remoto cuenta con salida a Internet podremos navegar en la web como por ejemplo con google.com.mx.