martes, 5 de mayo de 2009

vlc reproduce musica desde linea de comandos

Un buen reproductor de música para la linea de comandos de GNU/Linux puede ser vlc. Lo he estado utilizando y es perfecto para no sobrecargar el sistema con reproductores lentos.

Para ejecutarlo simplemente. Desde ahí podemos ir buscando las canciones que queramos reproducir.
vlc -I ncurses

Lo mejor creo que puede ser hacr un script pasándole como argumento los ficheros que queramos reproducir. Es decir el directorio donde almacenamos nuestra música.
#!/bin/bash
vlc -I curses /home/jmruiz/musik/*

Como abrir Firefox u otra aplicacion remotamente

Seguro que en muchas ocasiones has necesitado abrir una aplicaciones en otro ordenador para ver la ejecución en local. SSH nos permite esta funcionalidad, pero con algunas restricciones, tenemos que tener instalada la aplicación también en el equipo desde el que lanzado el comando. Ya que utiliza las librería locales para poder ejecutar la aplicación.

Solo necesitamos la IP de la máquina remota y que esta tenga corriendo el servidor SSH y permisos de ejecución para el aplicativo "firefox" para "usuario".
ssh usuario@192.168.254.254 -CX -f firefox

Parece un comando muy tonto, pero muy útil para ver por ejemplo una aplicación Web que únicamente se puede acceder desde el escritorio de la máquina y poniendo "http://localhost". Es decir que Apache solo admite peticiones que venga de la propia máquina.
Con este comando SSH podríamos acceder remotamente a esa aplicación que solo admite peticiones en modo local.

Si piensas un poco verás que puede ser muy útil cuando estás trabajando con más de una subred y necesitas saltar de una a otra.

Eliminar disco duro VirtualBox

Sabemos como registrar discos duros virtuales que vienen de otros servidores de virtualización, también hemos creado discos duros desde cero y hemos hecho instalaciones directamente desde el servidor de virtualización.

Pero ¿Cómo borramos o desregistramos un disco duro que hemos registrado en nuestro sistema VirtualBox?, la respuesta a esta pregunta es poco elegante pero efectiva.
VirtualBox es sus versiones más actuales dispone un comando muy útil para la administración "VBoxManager list < vms |runningvms |ostypes |hostdvds |hostfloppies |hostifs |hostinfo |hddbackends |hdds |dvds |floppies |usbhost |usbfilters |systemproperties >" con este comando podremos ver entre otras cosas los identificadores de las máquinas virtuales que están corriendo, las máquinas virtuales registradas o el listado de discos duros registrados.

Disponemos también de comandos para parar y arrancar máquinas virtuales, así como para borrar máquinas virtuales, pero no tenemos comandos para borrar o desregistrar discos duros virtuales.
VirtualBox tiene un fichero .xml donde almacena toda esta información. Este se encuentra en el home del usuario donde se ha instalado VirtualBox en mi caso "/root/.VirtualBox/VirtualBox.xml".

En esto fichero no te costará encontrar la linea que corresponden al disco duro virtual que deseas borrar, ya que en esa misma linea vienen definida la ruta donde se encuentra el disco duro virtual que registraste. Si quitas esta linea ya no tendrás registrado tu disco duro y cuando lo borres con un "rm" no tendrás rastro de él.

Pero ten cuidado de no borrar un disco que esté asociado a una máquina virtual, si lo haces cuando intentes arrancar la máquina virtual está lanzará un error al no encontrar el disco.

Problemas al intentar borrar una máquina virtual de VirtualBox

Es muy posible que cuando intentas borrar una máquina virtual de VirtualBox tengas este error.
# VBoxManage unregistervm Win2003Server -delete
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->UnregisterMachine(uuid, machine.asOutParam()) at line 791!
[!] Primary RC = VBOX_E_INVALID_OBJECT_STATE (0x80BB0007) - Current object state prohibits operation
[!] Full error info present: true , basic error info present: true
[!] Result Code = VBOX_E_INVALID_OBJECT_STATE (0x80BB0007) - Current object state prohibits operation
[!] Text = Cannot unregister the machine 'Win2003Server' because it has 1 hard disks attached
[!] Component = Machine, Interface: IMachine, {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!] Callee = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}

Esto pasa cuando intentas borrar una máquina virtual que está asociada a un disco duro virtual. La verdad que los desarrolladores de VirtualBox podrían poner un modificador --force para forzar el borrado incluso de los discos duros asociados, pero mientras lo hacen y no hay que hacerlo poco a poco.

Primero tendrás que quitar la relación entre máquina virtual y disco duro, es decir, dejar la máquina virtual sin disco duros asociados. En mi caso solo tenía un disco duro, pero podría darse el caso de tener más de un disco asociado a la máquina virtual.
# VBoxManage modifyvm Win2003Server -hda none
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Una vez desconectado el disco de la máquina virtual, podrás borrar la máquina sin problemas. Pero recuerda que aún tienes el disco duro registrado en el sistema de máquinas virtuales VirtualBox.
# VBoxManage unregistervm Win2003Server -delete
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.