oct 22 2012

VMware deja de andar luego de actualizar a Ubuntu 12.10

Gabolonte Blasfemus

No es extraño encontrarse frecuentemente con que los productos de VMware para escritorio, como Workstation y Player, sufran problemas de compatibilidad con los kernels Linux más recientes. Algunas veces se resuelve instalando la última versión e.x.p (que son betas de la próxima versión estable por venir), pero en esta ocasión no es posible solucionarlo de esta manera, y el problema se da al pasar al nuevo kernel 3.5.x que usa, por ejemplo, el nuevo Ubuntu 12.10 Quantal Quetzal; cuando abrimos VMware Workstation 9 ó VMware Player 5 (últimas versiones disponibles de ambos productos al momento de escribir esto) todo parece ir bien, pero al intentar encender una máquina virtual nos vamos a encontrar con el siguiente mensaje de error:

“Unable to change virtual machine power state: Failed to power on ‘ruta-de-máquina-virtual‘.Transport (VMDB) error -14: Pipe connection has been broken.”

Este problema se debe a cambios introducidos en la versión 3.5 del kernel Linux para los cuales estos productos aún no están preparados para funcionar. Afortunadamente existe una solución si no queremos quedarnos sin máquinas virtuales en nuestra distro Linux hasta que aparezcan nuevas versiones de estos productos, ya que uno de los miembros de su comunidad de usuarios identificado como An_tony es el autor de un parche, basado en otro creado por Artem S. Tashkinov, que restituye el normal funcionamiento de VMware Workstation 9 y VMware Player 5 bajo el kernel Linux 3.5.x. Para aplicarlo debemos bajar y descomprimir el archivo vmware9_kernel35_patch.tar.bz2 (click para descargar) en nuestro equipo. Al hacerlo nos encontraremos con dos archivos: vmware3.5.patchpatch-modules_3.5.0.sh. Este último es el que deberemos ejecutar, bajo derechos de superusuario por supuesto, para aplicar este parche de software a VMware. La forma más segura y a prueba de posibles errores que puedan salir es la siguiente:

Parándonos con la terminal en la ruta donde descomprimimos los dos archivos, primero nos aseguramos que el archivo patch-modules_3.5.0.sh posea derechos de ejecución en el sistema.

chmod +x patch-modules_3.5.0.sh

Antes de ejecutarlo, eliminamos todos los módulos de VMware presentes en el kernel actual, ya que pueden traer problemas a la hora de aplicar el parche.

sudo rm /lib/modules/$(uname -r)/misc/vm*

Luego reiniciamos el sistema, y finalmente ejecutamos el parche, siempre con derechos de superusuario:

sudo ./patch-modules_3.5.0.sh

Veremos unos cuantos mensajes en la consola y una vez finalizado leeremos el mensaje “All done, you can now run …” más el nombre del producto VMWare que encontró y parcheó en nuestra máquina. Luego de esto deberíamos poder correr nuestras máquinas virtuales sin problemas.

Por supuesto, en estos casos la famosa máxima your mileage may vary es más válida que nunca y puede que por algún motivo no funcione o incluso terminar con un kernel panic. Nunca está de más recordar que cada uno es responsable de lo que hace en su sistema.

El parche en sí, que se encuentra en el archivo vmware3.5.patch, está en código fuente, por lo que cualquiera con los conocimientos suficientes puede revisarlo para asegurarse que solo haga lo que dice hacer.


ago 10 2012

Reconexión automática a VPN en Ubuntu Linux

Gabolonte Blasfemus

Aquellos que osadamente urgan en este repositorio de pecaminosas incongruencias saben bien que la seguridad al conectarse en redes Wi-Fi es un tema que siempre me interesó, llegando a dejar algunos consejos para una navegación más segura.

Desde hace ya algunos años que mi método de seguridad rutinario a la hora de conectarme desde mi portátil, ya sea desde Windows o Ubuntu, es a través de una VPN. En particular uso OpenVPN, que me parece excelente por una larga serie de motivos, entre los que cuento:

  1. Open Source.
  2. Clientes para casi todas las plataformas, incluidas las móviles; aunque ahí el mayor problema es el soporte de los fabricantes ya que en Android o iOS no alcanza con instalar una aplicación.
  3. Servidor también multiplataforma, aunque lo más recomendable es hacerlo desde Linux.
  4. Y tal vez lo más importante, no usa ningún protocolo raro que vaya a dar problemas con routers hogareños y demás; va por UDP o por TCP, y hasta podemos configurarlo para elegir uno o el otro, incluso cambiar el puerto por defecto. Esto es especialmente útil para los access points de lugares como StarBucks donde tienen ortivamente bloqueados todos los puertos de salida con excepción de los necesarios para navegar, el 80 que corresponde a http, y el 443 para su contraparte segura el https, y sólo en TCP. En este caso podemos levantar nuestro servidor OpenVPN en cualquiera de estos dos puertos con TCP y hacerles pito catalán lo más panchos.

Sin embargo, dentro de toda esta maravilla tenía un pequeño problema. Es muy normal que a veces la conexión VPN se interrumpa, generalmente por microcortes en la red inalámbrica. En el caso de OpenVPN GUI, la interfaz gráfica para gestionar las conexiones del cliente para Windows, esto no es un gran problema, ya que automáticamente reintenta hasta que vuelve a establecer el túnel VPN. En Linux, al menos si utilizamos para conectarnos el Network Manager de Gnome que incorporan distros como Ubuntu, al ocurrir la interrupción la conexión no vuelve a resumirse, y nuestro único aviso es el pequeño y diminuto icono del candado que desaparece del icono del Network Manager y un temporal mensaje que nos avisa del evento. Si estábamos absortos en algo o no mirábamos a la pantalla es fácil obviarlo, y continuar con nuestra sesión ya sin contar con la protección necesaria para no encontrarse a merced de ojos ajenos. Y aunque los diálogos de configuración de Network Manager contemplan la posibilidad de marcar la conexión para que se realice automáticamente, esta opción sencillamente aún no funciona para las conexiones VPN.

Vi que existen otros métodos para resolver este problema, pero el que realmente me funcionó tiene que ver con la genial posibilidad que poseen las versiones más recientes del Network Manager de controlarlo desde la consola a través del comando nmcli. Esto abre las puertas a una solución simple y sucia de scripting como la que vi en este hilo de AskUbuntu.

#! /bin/bash

REQUIRED_CONNECTION_NAME="name-of-connection"
VPN_CONNECTION_NAME="name-of-vpn-connection"
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
     nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Este script básicamente conecta la VPN definida sólo cuando determinada conexión de red, que puede ser inalámbrica, por cable, o 3G, se vuelve activa. En este caso, name-of-connection es el nombre que lleva en Network Manager la conexión de red sobre la cual queremos establecer la conexión VPN, por ejemplo una conexión a una red Wi-Fi; name-of-vpn-connection es por otro lado el nombre que lleva la conexión VPN que deseamos usar, no importa si es por OpenVPN u otro estándar. Pero para mi menester necesito algo aún mucho más simple, yo sólo necesito que la conexión VPN a la que decidí conectarme vuelva a reconectarse automáticamente en caso de corte, por lo que mi script quedó, desde mi poco pulidos conocimientos, así:

#! /bin/bash

NUNCA=1
VPN_CONNECTION_NAME="name-of-vpn-connection"
while [ $NUNCA ]; do
     activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
     if [ ! "${activ_vpn}" ];
     then
          nmcli con up id "${VPN_CONNECTION_NAME}"
     fi
     sleep 5
done

El anterior es un script que podemos ejecutar desde cualquier ventana de terminal y dejarlo corriendo todo el tiempo que lo necesitemos de fondo. Al ejecutarlo lo único que hace es entrar en un loop interminable donde chequea si la conexión VPN definida está levantada, y si no lo está la activa; luego espera 5 segundos y vuelve a comenzar. Se puede refinar muchísimo más la idea pero si lo queremos hacer simple y rápido podemos tener una copia de este script para cada perfil VPN que usemos, y luego ya no hará falta conectarse desde el icono del Network Manager a la VPN, simplemente ejecutamos el script seleccionado y mientras no lo interrumpamos con un Ctrl+C o cerrando la ventana se va a encargar de mantener siempre arriba el enlace VPN.


jul 18 2012

Consola de root con derechos de escritura desde el menú de recuperación de Ubuntu

Gabolonte Blasfemus

Es sabido que en Ubuntu, por una cuestión de políticas acordes a su concepción de la seguridad, no se permite el ingreso bajo ninguna forma desde la cuenta de superusuario, normalmente conocida como root. A todos los efectos, todo usuario que tenga que realizar cualquier tarea administrativa en el sistema operativo deberá utilizar el comando sudo precediendo al comando original en la consola y luego validarlo ingresando su contraseña, o escribir esta cuando el sistema se lo pida ante determinadas acciones que requieren elevación de privilegios.

Sin embargo, existe un único caso en el que la distro de Canonical permite ingresar como root, aunque solo a una línea de comandos; y esto es cuando se elige desde el menú de inicio de GRUB2 la opción de arranque en modo de recuperación. Cuando la elegimos, en vez de cargar la interfaz gráfica como es habitual se acaba en un menú en modo texto con diversas opciones útiles a la hora de reparar un Ubuntu roto. Una de ellas, por razones obvias la más avanzada, es la de cargar una línea de comandos bajo la cuenta del superusuario. El problema es, al menos en la versión 12.04 de Ubuntu (Precise Pangolin), que esta opción monta al raíz del sistema como solo lectura; por tanto, tenemos todos los derechos para hacer lo que haga falta, pero como no podemos escribir nada al disco, no podemos hacer casi nada.

Desconozco si esto es una omisión o error o simplemente la aplicación de otra política más de seguridad para evitar que usuarios novatos metan mano y rompan algo, pero la realidad es que cuando se aterriza en el menú de recuperación y en particular en la opción de la consola de root es porque uno ya está medio desesperado porque su Ubuntu no levanta y está dispuesto a probar algunas cosas, al menos en mi caso con extremo cuidado y siguiendo instrucciones de antemano cuando no sé qué hacer, para ver si se resuelve. En estas situaciones, llegar hasta ahí y encontrarse con la impotencia de no poder hacer nada para reparar el sistema es bastante frustrante.

Pero como decía antes, tal vez se trata solamente de una pruebita más puesta por Canonical para evaluar si sabemos lo que hacemos cuando nos dirigimos a la todopoderosa opción de la línea de comandos de root. No hay que olvidar que como le repitieron hasta el hartazgo a Peter Parker, con grandes poderes llegan grandes responsabilidades. Para resolver este root con acceso de solo lectura al disco, todo lo que tenemos que hacer es utilizar el comando mount para remontarlo con acceso de lectura/escritura, de la siguiente manera:

mount -o remount,rw /

Y listo, solo con introducir este comando ahora sí tenemos acceso a hacer, solucionar (o romper aún más) nuestra Ubuntu box.

Como dije, bien puede ser una feature by design. ¿Alguna vez la tuvieron que usar?


jun 16 2012

Error al actualizar Skype 4 para Linux

Gabolonte Blasfemus

Los usuarios de Linux tienen una razón más para estar contentos esta semana ya que Skype, que parecía eternamente estancado en su beta 2.x, dio el salto a una versión 4 final que, según aseguran, lo pone más o menos a la par de las características y mejoras que ya son moneda corriente en las versiones para Windows. Todo esto bajo el paraguas de Microsoft, actual dueño de Skype, no es poco.

El punto es que cuando me apresuré a instalar este nuevo Skype en mi Ubuntu, su Centro de software me ofrecía hacer una actualización desde mi actual versión 2.2 que tenía instalada, lo cual tiró un error al intentarlo que rezaba algo como lo siguiente:

“…dpkg: error processing /home/gabo/Descargas/skype-ubuntu_4.0.0.7-1_amd64.deb (–install):
trying to overwrite ‘/etc/dbus-1/system.d/skype.conf’, which is also in package skype-bin:i386 2.2.0.35-0precise3
dpkg-deb (subprocess): data: internal gzip write error: Broken pipe
dpkg-deb: error: subprocess returned error exit status 2
dpkg-deb (subprocess): failed in write on buffer copy for failed to write to pipe in copy: Broken pipe
Errors were encountered while processing…”

Este tipo de error con Skype, resumido como el error broken pipe, parece que es algo común, y aunque mi primer reacción fue desinstalar el Skype que ya tenía para repararlo, el problema persistía. Pero si eliminamos Skype desde la línea de comandos mediante apt-get es probable que luego de realizada la operación un mensaje nos liste una enorme cantidad de librerías y paquetes que eran utilizados por la aplicación y que permanecerán en el sistema mientras no elijamos desinstalarlos mediante el comando (sudo) apt-get autoremove. Si lo hacemos, luego podremos instalar el paquete .deb de Skype 4 con normalidad.

Saludos y buenas videoconferencias.


may 19 2012

Creación de DVDs de video en Linux

Gabolonte Blasfemus

"Tan útil como rebobinador de DVDs"

Tal vez no busqué suficiente, o soy medio estúpido (que es lo que suele explicar el %80 de mis problemas), pero encontrar una aplicación de autoría fácil y efectiva de DVDs de video nunca me resultó una tarea fácil. En Windows, existen desde ya muchas opciones, casi todas comerciales, y aún así, todas las que tuve la oportunidad de examinar fallaban en uno o más de estos puntos:

  • Tan minimalistas y limitadas que no se podía ni crear un menú o personalizarlo
  • Tan complejas que requerían un curso para usarlas
  • Directamente no funcionaban

Me costó un tiempo hasta encontrar ese término medio, con toda la funcionalidad que uno podía querer pero fácil de entender, y por sobre todo completamente funcional, que es ConvertXtoDVD, el cual lo disimula bastante bien desde esa interfaz poco trabajada y rústica que posee.

Siguiendo con una especie de meta autoimpuesta que tengo de pretender llegar a hacer en una distro Linux todo lo que normalmente hago en Windows me embarqué en la misma faena desde Ubuntu, y los resultados han llegado a ser similares.

Y es que desde el Centro de software opciones no faltan: Mistelix, tovid, Bombono DVD, o DeVeDe prometen ser la herramienta para crear con nuestros contenidos un DVD que podamos ver cómodamente en cualquier reproductor estándar; incluso el popular y multipropósito Brasero posee una opción que promete crear un DVD reproducible a partir de nuestros videos. Todos muy lindos, open source, y disponibles sin desembolsar ni una moneda, pero por un motivo o por otro cumpliendo con uno o más de los puntos de falla citados.

Pero la esperanza no está perdida, y una de las últimas opciones que me quedaban por probar fue la que final y efectivamente hizo el trabajo. DVD Styler no llega a estar completamente a la altura de ConvertXtoDVD en cuanto a detalles y visuales, pero ciertamente se le acerca mucho. Y eso señores, disponible automágicamente desde los repositorios de nuestra distro Linux favorita a un click de distancia es lo más cerca de la felicidad que se puede estar.

Pantalla de inicio de DVD Styler

Pantalla de inicio de DVD Styler

La interfaz de DVD Styler es, desde el vamos, gráfica e intuitiva, y desde su primer pantalla nos deja definir fácilmente un nuevo proyecto o abrir uno que hayamos creado con anterioridad. De un plumazo nos permite especificar parámetros importantes como la norma de TV, el tamaño del DVD, su título, la calidad del video, el formato del audio y la relación de aspecto. Una vez superada esta etapa el entorno de trabajo presentado es lo suficientemente intuitivo y visual como para no requerir ningún manual de uso. Simplemente arrastramos los videos y automáticamente se generarán las pantallas de menú correspondientes, las cuales podemos personalizar con diversos fondos y elementos. Luego nos restará editar los títulos de cada elemento, y por experiencia personal también recomiendo chequear las propiedades de cada elemento de navegación, para asegurarnos de que se va a comportar como esperamos. Para esto no hace más falta que pararnos en la pantalla de menú deseada, hacer click derecho sobre el elemento a editar y seleccionar sus propiedades.

El entorno de trabajo de DVD Styler en Ubuntu

El entorno de trabajo de DVD Styler en Ubuntu

Cuando terminamos con toda la edición y guardamos nuestro proyecto nos queda solo la fase de producción, o sea crear el DVD que contendrá todos los videos y los menúes dispuestos de la forma que hayamos querido. Como en la mayoría de las aplicaciones de este tipo podemos elegir tanto generar una imagen en un archivo como grabar directamente el DVD. Por supuesto la opción más recomendable siempre es la primera, ya que es normal encontrarse en los resultados con que algo no salió exactamente como se esperaba, y estaríamos desperdiciando un disco virgen por cada vez que esto ocurra. Además, usando VLC como reproductor ni siquiera hace falta montar el ISO en una unidad virtual, lo abre directamente. :)

Más allá de todo lo bueno que ofrece, tengo que destacar dos puntos flacos de DVD Styler: El primero y más decepcionante para mí es que los elementos de navegación de los menúes no se comportan exactamente como se esperaría (o al menos como yo espero), por lo que, como mencionaba antes, es muy recomendable tomarse el tiempo extra de comprobarlos uno por uno. El otro tiene que ver con el tiempo de procesamiento; al menos en un Ubuntu de 64 bits tarda varias horas en crear una imagen, mucho más de lo que demoran otras soluciones. Pero lo importante es que es usable, y a pesar de estos problemas tenemos en DVD Styler una muy buena solución gratuita y de código abierto.

Otro poroto a favor, el final, es que es multiplataforma, por lo que podremos disfrutar de su amor no sólo en nuestra distro Linux de uso, sino también en Windows y en Mac OS X.

Y vos, ¿qué herramienta usás y aconsejarías para crear DVDs de video?