Category Archives: Linux

FreeNX, escritorio remoto pero de verdad

[Historia] ¿Qué pasa cuando usas varias maquinas, pero para objetivos diferentes (trabajo/curro mismamente), y a veces deseas usar la que no tienes físicamente a tu disposición? Una respuesta podría ser usar sincronización de los datos, pero para ello se debería de replicar también el resto de aplicaciones (lo que trata los datos, por ejemplo, código fuente: datos; servidor/es y/o IDEs: aplicaciones) y además se entraría en el problema de configuraciones a bajo nivel de directorios o demás tonterías. Por lo tanto no es una opción (para la pregunta concreta que planteo!). Otra solución podría ser entrar por ssh remotamente, no es mala opción, pero tampoco la mejor. Una solución ampliamente conocida y usada por mucha gente es el protocolo VNC, con sus diferentes clientes winVNC, ultraVNC, tightVNC, etc… Te permite ver literalmente la pantalla del ordenador al que te conectas, pero este protocolo tiene muchos inconvenientes (aparte de la falta obvia de seguridad, pues nadie impide que mientras estés conectado alguien encienda el monitor y vea que haces…), es lento por el propio diseño del protocolo y no usa encriptación. Con esos dos puntos ya está todo dicho.
 
Desde el lado de Microsoft (OMG, ¿por qué estoy contando esto?!) tenemos RDP que está disponible para XP o 2003 server (y Vista) que quién lo haya usado habrá comprobado que es infinítamente más rápido que VNC y ofrece un escritorio y acceso remotos de verdad. Pues bien, desde Linux tenemos clientes para dicho protocolo, pero por supuesto el servidor es solo para Windows. No problem!, gracias a la empresa NoMachine que creó la tecnología NX y posteriormente liberó la especificación bajo GPL tenemos un sistema para acceso de escritorio remoto de verdad para Linux, freeNX.
 
[Instalación en Ubuntu edgy]La instalación es sencilla como siempre, incluir un repositorio en nuestro /etc/apt/sources.list

# freenx
deb http://mirror.ubuntulinux.nl/ dapper-seveas custom extras freenx java seveas-meta all

Añadimos la clave gpg del repositorio

wget http://mirror.ubuntulinux.nl/1135D466.gpg -O- | sudo apt-key add –

Y a instalar el servidor (si no lo tienes, te instalará un servidor ssh!)

sudo aptitude install freenx

Ahora nos hará la pregunta definitiva! Como configurar el servidor, tenemos varias opciones:

  • NoMachine Keys: opción facilona, pero no apta para paranoicos de la seguridad. Usará las claves por defecto del servidor NX, por lo que cualquier cliente podrá realizar un intento de conexión para logearse en nuestra maquina. Claramente no usaré esta.
  • Custom Keys: generará nuevas claves, y posteriormente deberemos copiar la clave privada (/var/lib/nxserver/home/.ssh/client.id_dsa.key) en nuestro cliente o no se produciría la conexión. Esta es la mejor opción para casi todos los casos (Seguridad máxima, pero solo podremos conectarnos desde los equipos que tengan dicha clave privada…). Me la pido.
  • Manual setup: deja todo sin configurar; vamos que mejor no usar esta, ya que lo instalas pues configuralo, digo yo!

Una vez instalado podemos arrancarlo y pararlo usando

sudo nxserver –stop
sudo nxserver –start

Ahora desde la maquina que será cliente podemos añadir el mismo repositorio e instalar el cliente

sudo aptitude install nxclient

O podemos descargarlo desde la página de la empresa creadora (también hay para Windows). Y ya tenemos todo, todito, todo. Ves que facil. Ahora solo queda iniciar la sesión (recordando copiar la clave en la configuración de la cuenta que crees si escogiste la opción en el servidor de Custom keys, más vale una imagen que mil palabras, pincha aquí para ver donde tienes que colocar la clave privada del servidor exactamente) y comenzar a trabajar.
 
[Descripción general y consideraciones finales] En la instalación, si eres agil cual gorrión, te habrás fijado que comentaba que se requería un servidor ssh; y esto para qué?. Pues porque cuando te logeas con el cliente nx, primero te conectas por ssh como el usuario ‘nx’ (mediante intercambio de claves) y una vez hecho esto, te logeas en el sistema con el nombre de usuario y contraseña habituales. De lo que se puede sacar que nuestro tráfico estará siempre cifrado. Otra cosa a mencionar es que la tecnología NX comprime el tráfico de las X directamente, por lo que en el cliente no se está recibiendo los cambios constantes de las imágenes de pantalla (como en VNC), esto se traduce a que no diferencias si trabajas en local o estás usando NX. Otra cosa que me ha sorprendido es la opción de activar el sonido remoto! Y te puedes poner a escuchar música perfectamente (ojo, usa el demonio esd), aunque escuchando mp3 ya no se notaba fluido del todo, pero para una red local no creo que dé el mínimo problema. Una posibilidad adicional que trae es que se puede suspender sesiones y posteriormente reanudarlas sin tocar nada, genial. Y, como toque final, par de combinación de teclas vitales

  • CTRL+ALT+F: pantalla completa
  • CTRL+ALT+T: dialogo para suspender, terminar sesion

Por cierto, además del uso evidente que se le puede dar (usar un pc remotamente, típico ejemplo curro/casa, casa/curro y tal…). Otro uso muy bueno podría ser el caso de terminales tontos logeandose a un pc decente (escuelas, ciber cafes, uso de tostadoras viejas, etc…).

Fuera pantalla negra por inactividad!

Desde que he dejado por defecto el inicio de sesión con XGL tenía un problema que no me empezó a molestar hasta ayer. A los 15minutos, aproximadamente, de inactividad (ratón y teclado) la pantalla se ponía negra (lo típico para ahorrar energía vamos…), aunque cambiase los valores de “Gestión de energía” del menú de Sistema, seguía pasando lo mismo. Como suelo ver capítulos y cada dos por tres minimizarlo y tocar algo, no lo notaba bastante, pero si te pones largo para ver una película (lo que hice ayer), no mola, pero nada nada, tener que levantarse para tocar el ratón (para que no se ponga la pantalla en standby). Para solucionarlo simplemente añadir esto al fichero /etc/X11/xorg.conf


Section "ServerFlags"
Option "blank time" "0"
Option "standby time" "0"
Option "suspend time" "0"
Option "off time" "0"
EndSection

Ubuntu Edgy ya está aquí!

Ayer salió finalmente Edgy, ya he actualizado sin ningún problema el ordenador del curro (palme), mi pc habitual (helicon) y el portátil (sirius). La actualización se puede hacer por dos métodos, ambos sencillos y eficientes. Para más información en el wiki, no es cuestión de repetir lo que está ya escrito y perfectamente explicado, más vale una imagen que mil palabras

edgyupdate.jpg

Los aspectos que destacaría o que me resultan dignos de mención son:

  • Sorprende mucho el inicio (muy fashion oye), aunque rapidez yo no he notado realmente, tampoco vamos a llorar porque en vez de iniciarse en ‘x’ segundos lo haga en 60 segundos… aunque quiero leer algo más sobre este nuevo sistema, pues supongo que no todo será cuestión de tiempos (me suena leer alguna mención de que se configuraba con xml’s, o igual lo soñé, vete tu a saber…)
  • Ligero cambio de look (y la musiquita! w00w)
  • Firefox 2.0, algo así como dios hecho programa (con permiso de amarok). Sorprende, y mucho, el cambio de logo 🙂 que mola mogollón y lo sabes (IceWeasel no te queremos).
  • Gaim 2b3.1, ya era hora coño!
  • Kernel 2.6.17-10 (casi la última versión), pero me ha sorprendido que ahora solo distribuyan unos binarios del kernel. O_O, éstos están compilados para arquitectura 386 (vamos, supongo, sino jodido que sean genéricos) y activado el soporte SMP (que en verdad no se como funcionará bajo un monoprocesador, si pensando que tiene ‘n’ cpus con n=1 o se desactiva esa opción al vuelo…, será cuestión de investigar un poco)

Igual hay alguna vistosa novedad adicional, pero como he actualizado sin sobreescribir ningún archivo de configuración modificado por mi, pues no lo veo :). En resumen, perfeccionando Dapper, en el mismo rumbo, sin prisa, pero sin pausa. Que no es poco.

Programación con JAVA en Linux

logo_java.pngEn el “curro” (estoy como becario en un departamento) todos los equipos están con alegres y risueños Windowses 2000, cosas del destino hicieron que hace pocos días mi querido Windows 2k del trabajo me mostrase angelicales pantallazos azules constantes al intentar iniciarse :), muy majo todo él. Probé reiteradamente las diferentes opciones de restauración, pero no surgieron efecto en evitar que el amable SO dejase de mostrar la colorida pantalla. Solo había una opción, reinstalar :O.
 
Emoción, intriga, misterio… había que reinstalar un SO!, en esa definición, no entra un Windows ni de cajón (y mucho menos un MacOSX aunque se pudiera xD), así que ya que estamos y como el destino ha querido que así fuera, instalemos un amigable y agradecido Ubuntu :).
 
Ok, ya tenemos nuestro Ubuntu instalado, y resulta que programaremos con tecnología JAVA, así que instalemos eclipse, no?. Hacemos un sudo aptitude install eclipse? NO. Primero de todo mandamos a la puta mierda el GNU Compile for java (gcj)!

sudo aptitude purge gcj-4.1-base

Ok, nuestra vida ya es más facil y placentera. Ahora solo queda instalar el JDK, sudo aptitude install sun-java5-jdk; y eclipse descargarlo de su web, pues solo hay que descomprimir sin más.
 
Que, por qué estoy siendo tan cruel con gcj? Pues instalando eclipse de los repositorios se instala para ser usado con gcj (en verdad se podría cambiar editando el fichero /etc/eclipse/java_home, pero prefiero descargar la última versión de la web) y siendo que eclipse es todo un señor programa (que chupa más que las putas vamos), ejecutandose bajo gcj es increiblemente más lento (si a esto le sumamos el estar usando un ordenador que no entraría en el top500.org, es para tirarse de los pelos). Al cabo de 20 minutos estaba ya preocupandome (e inquitandome) y empecé a programar sin IDE, solo con vim, como los machos ibericos. Luego por casualidad ejecutando ps’s y top’s veo que eclipse estaba con gcj y fue cuando realicé todo lo anterior; ya iba todo perfecto y dejé de ser un macho iberico para convertirme en una nena del eclipse :(, fue bonito mientras duro…
 
Nota para el que no se haya enterado de nada: GCJ es un “programa” que hace lo mismo que el JAVA pero open source, y como sorpresa va, así a ojo, una 10 veces más lento.

Flash 9 beta!

flash_logo.pngYa está disponible (CON MESES Y MESES DE RETRASO, CABRONES!) la primera beta pública de flash para Gnu/Linux. Después de bajarlo e instalarlo sin problemas, sorprende un poco el tamaño (que pasa de 2.0M, de la versión 7.0, a 6,5M) y sobretodo me ha sorprendido la enorme cantidad de dependencias que tiene! Lo nunca visto!

Nota para no linuxeros: el comando que ejecuto sirve para mirar cuantas librerías externas requiere un ejecutable en concreto

Javac (compilador de java)
$ ldd /usr/bin/javac | wc –lines
5
Postfix (servidor de correo)
$ ldd /usr/sbin/postfix | wc –lines
13
Apache (servidor web)
$ ldd /usr/sbin/apache2 | wc –lines
25
FLASH 9
$ ldd /home/blaxter/.mozilla/plugins/libflashplayer.so | wc –lines
34
Aunque también hay que decir que programas más “de usuario” como Gaim o aMule tienen muchas dependencias
$ ldd /usr/bin/amule | wc –lines
41
$ ldd /usr/bin/gaim | wc –lines
43

Todo esto no quiere decir que sea malo, sino que flash para linux se está convirtiendo en todo un monstruo peludo y regordete de complejedad nada despreciable, y posiblemente el tiempo que les ha llevado sacarlo esté en cierta manera un poco justificado (solo en parte, porque cojones, pones a más tios a trabajar y algo más rápida irá la cosa, no falla).
 
Respecto al funcionamiento me ha sorprendido que reconozca sin problemas el micrófono y la webcam y además los videos funcionan bien (sin desincronización en youtube y sin “please upgrade your flash plugin” :P) aunque se nota algo de carga en la cpu. Estoy leyendo muchas quejas de la gente por fallos que le da en el sonido, pero realmente yo no estoy teniendo ningún problema; probando 3 videos flash puestos, amarok funcionando y totem con south park (igual se entendía algo eehh xD), y parar lo que se dice parar, el sonido no se paraba. Mi impresión para ser una beta es bastante buena :).

Ubuntu 7.04

Dentro de una semana concretamente estará disponible la nueva versión de Ubuntu, 6.10, Edgy Eft que no tendrá muchas novedades, aunque destaca el nuevo sistema de arranque mejorando notablemente el actual init. Sin embargo, ayer anunció Mark Shuttleworth en la lista de Ubuntu el nombre de la nueva versión que se lanzará el 19 de abril del 2007 que se llamará

The Feisty Fawn

Que traducido al español significa “El cervatillo vivaz” (feisty se podría traducir como alguien independiente, luchador, vivaz, determinado; o cosas así..). Según Mark esta versión estará más orientada a aspectos que serán más visibles a los usuarios finales, centrandose en cuestiones multimedia y efectos de escritorio… Bueno aún queda mucho hasta entonces, primero será cuestión de pasarse a Edgy la próxima semana :).