Monthly Archives: April 2009

Descubriendo dispositivos Bluetooth con Java y BlueCove

Introducción.

Después de la fallida búsqueda de una librería para acceder al protocolo Bluetooth desde Mono vuelvo entonces a Java buscando la opción mas portable posible.  Esta vez voy a probar BlueCove que soporta Mac OSX, WIDCOMM, BlueSolei, Windows nativo y Linux con BlueZ.

Instalación.

Descargar las últimas versiones disponibles desde la siguiente ubicación: http://sourceforge.net/project/showfiles.php?group_id=114020

  1. bluecove-*.jar: módulo principal, incluye el soporte para las pilas de Mac OS X, WIDCOMM, BlueSoleil and Microsoft Bluetooth.
  2. bluecove-gpl-*.jar: adiciona el soporte para la pila en Linux.

Descargar estos archivos JAR en una ubicación conocida.

Descubriendo dispositivos Bluetooth.

Para esto se parte de un objeto que implementa DiscoveryListener, él define que se debe hacer cuando cuando se encuentra un nuevo dispostivo y cuando se termina la búsqueda.

        /**
         * The DiscoveryListener interface allows an application to
         * receive device discovery and service discovery events.
         */
        DiscoveryListener listener = new DiscoveryListener()
        {
            /**
             * Called when a device is found during an inquiry.
             */
            public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod)
            {
                System.out.println("Device " + btDevice.getBluetoothAddress() + " found");
                devicesDiscovered.addElement(btDevice);
                try
                {
                    System.out.println("     name " + btDevice.getFriendlyName(false));
                }
                catch (IOException cantGetDeviceName) {}
            }
            /**
             * Called when an inquiry is completed.
             */
            public void inquiryCompleted(int discType)
            {
                System.out.println("Device Inquiry completed!");
                synchronized(inquiryCompletedEvent)
                {
                    inquiryCompletedEvent.notifyAll();
                }
            }
            // Not used in this example.
            public void serviceSearchCompleted(int transID, int respCode) {}
            public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {}
        };

En este ejemplo, cuando se identifica a un nuevo dispositivo Bluetooth (ver deviceDiscovered) se obtiene su dirección, de ser posible su nombre y se agrega en la lista de dispositivos encontrados.

public static final Vector<RemoteDevice> devicesDiscovered = new Vector<RemoteDevice>();

Para ejecutar finalmente la búsqueda de dispositivos de acuerdo con el comportamiento definido anteriormente, se crea un objeto sobre el cual se sincronizarán las próximas acciones.

final Object inquiryCompletedEvent = new Object();
synchronized(inquiryCompletedEvent)
{
         // The search code ...
}

Con él se inicia la búsqueda de dispositivos accediendo al Agente Descubridor del Dispositivo Local.

boolean started = LocalDevice.getLocalDevice().getDiscoveryAgent().startInquiry(DiscoveryAgent.GIAC, listener);

Finalmente se verifica que la búsqueda haya comenzado exitosamente y se espera para garantizar su ejecución.

     if (started)
     {
          System.out.println("Starting Device Discovery process ...");
          /**
           * Wait for Discovery Process end
           */
          inquiryCompletedEvent.wait();
          System.out.println("There was " + devicesDiscovered.size() +  " device(s) found");
     }

Compilación & ejecución.

Para compilar y posteriormente ejecutar el programa de demostración es necesario garantizar que el JAR de bluecove, descargado inicialmente, se encuentre en el CLASSPATH.  También es necesario recordar que si la plataforma objetivo es Linux, es necesario incluír además el JAR de bluecove-gpl.

Para compilar se utiliza un comando preparado de la siguiente manera.

javac -cp ../lib/current/bluecove-2.1.0.jar:../lib/current/bluecove-gpl-2.1.0.jar RemoteDeviceDiscovery.java

Debe tenerse en cuenta que para la compilación se está suponiendo que los archivos JAR se encuentran en el directorio ../lib/current y que corresponden con la versión 2.1.0.   Además se está realizando en Linux, motivo por el cual el separador de directorios es : en lugar del ; utilizado por Windows.  Es necesario que adapte el comando según sus características específicas.

Para interpretar se utiliza un comando similar, preparado de la siguiente manera.

java -cp ../lib/current/bluecove-2.1.0.jar:../lib/current/bluecove-gpl-2.1.0.jar RemoteDeviceDiscovery

La salida de la aplicación.

La aplicación de demostración deberá imprimir por salida estándar la información de los dispositivos Bluetooth que se encuentren cerca durante el tiempo que dure la búsqueda.  Algo similar a lo siguiente.

BlueCove version 2.1.0 on bluez
Starting Device Discovery process …
Device 001ADE8BF510 found
name Jimezam Phone
Device 0017AE39DCB0 found
name Nintendo RVL-CNT-01

Device Inquiry completed!
There was 2 device(s) found
BlueCove stack shutdown completed

En la respuesta anterior se puede apreciar que la aplicación detectó exitosamente a mi teléfono celular y a un Wiimote que pasaba por allí.

Enlaces.

Instalacion de Samba 3.2.x en Linux Debian 5

Instalación.

# apt-get install samba

# apt-get install samba-client

Administración de usuarios.

Listar los usuarios registrados.

# pdbedit -L

Crear una nueva cuenta de usuario.

Como precondición para esta tarea, el usuario debe existir como usuario del sistema operativo.

# smbpasswd -a NOMBRE_USUARIO

Remover una cuenta de usuario previamente existente.

# smbpasswd -x NOMBRE_USUARIO

Desactivar una cuenta de usuario existente.

Esta tarea impide el acceso del usuario al sistema pero no remueve su información del mismo.

# smbpasswd -d NOMBRE_USUARIO

Activar una cuenta de usuario inactiva.

# smbpasswd -e NOMBRE_USUARIO

Cambiar la contraseña de un usuario existente.

# smbpasswd NOMBRE_USUARIO

Agregar un recurso compartido.

Para realizar esto es necesario editar la configuración del archivo smb.conf bajo la sección Share Definitions.

# vi /etc/samba/smb.conf

Agregar una sección similar a esta.

[web]
comment = Proyectos Web
inherit acls = Yes
path = /datos/www
read only = No
browsable = yes
writable = yes
read list = @sistemas
write list = @sistemas
create mask = 0775
directory mask = 0775

La sección anterior de configuración crea un recurso compartido con la siguiente información:

  • El nombre es web y su descripción es Proyectos Web.
  • Hace referencia a la ubicación real /datos/www del sistema de archivos del servidor.
  • El recurso es de lectura y escritura.
  • La lectura y la escritura estan restringidas a los usuarios que pertenezcan al grupo sistemas.
  • Aparece en el listado de recursos compartidos del servidor (browsable).
  • Las máscaras para la creación de archivos y directorios están definidas en 0775.

Para mas información al respecto de como crear recursos compartidos consultar la documentación de Samba: The Samba Configuration File y Advanced Disk Shares.

Verificar el archivo de configuración.

# testparm

Si todo está bien, debe aparecer un listado de las secciones del archivo de configuración y posteriormente un listado de los recursos compartidos (service definitions) sin errores.? En caso de haberlos, se deben corregir antes de continuar.

Reiniciar el servicio.

# /etc/init.d/samba restart

Probar la conexión al servicio recién creado.

Para probar el servicio y el usuario recién creados es posible utilizar la herramienta de línea de comando smbclient con la siguiente estructura.

# smbclient -U NOMBRE_USUARIO //SERVIDOR/RECURSO_COMPARTIDO

Adecuando la invocación de la herramienta al ejemplo del artículo sería de la siguiente manera.

# smbclient -U jimezam //localhost/web

Enter jimezam's password:
Domain=[D5WEBSERVER] OS=[Unix] Server=[Samba 3.2.5]
smb: \> ls
.                                   D        0  Thu Apr 23 08:31:51 2009
..                                  D        0  Thu Apr 16 10:08:43 2009
mapping-jimezam                     A        0  Wed Apr 22 11:33:10 2009
gconfd-jimezam                      D        0  Wed Apr 22 11:33:01 2009
.ICE-unix                          DH        0  Wed Apr 22 11:33:04 2009
.X11-unix                          DH        0  Wed Apr 22 11:32:30 2009
.X0-lock                           HR       11  Wed Apr 22 11:32:30 2009
orbit-jimezam                       D        0 Thu Apr 23 09:34:10 2009
virtual-jimezam.DLe9KX              D        0 Wed Apr 22 11:33:10 2009
keyring-LdVulV                      D        0 Wed Apr 22 11:33:01 2009
seahorse-V3VNUp                     D        0 Wed Apr 22 11:33:03 2009

38110 blocks of size 131072. 14368 blocks available

Enlaces.

Instalación del servidor SSHd en Linux Debian 5

Instalación del servicio.

# apt-get install ssh

Este paquete incluye las aplicaciones servidor y cliente para reemplazar las herramientas inseguras rlogin/rsh/rcp.

Configuración básica del servicio.

# vi /etc/ssh/sshd_config

Port 22
Protocol 2
UsePrivilegeSeparation yes
PermitRootLogin no
StrictModes yes
PermitEmptyPasswords no
Subsystem sftp /usr/lib/openssh/sftp-server

Opciones de configuración adicionales.

Agregar soporte para el transporte de aplicaciones X11 a través de SSH.

X11Forwarding yes

Si se presentan problemas de desconexión de las sesiones SSH, incluyendo las SSHFS, debido a timeouts modificar la siguiente opción de /etc/ssh/ssh_config.

ServerAliveInterval  120   # seconds.

Reiniciar el servicio.

# /etc/init.d/ssh restart

Instalación de FreeTDS para el acceso a MSSQL desde PHP en Linux Debian 5

Instalación de libsybdb.

Descargar la última versión de libsysbdb disponible en el sitio http://packages.debian.org/stable/libs/libsybdb5.

# wget http://debian.torredehanoi.org/debian/pool/main/f/freetds/libsybdb5_0.82-4_i386.deb

# dpkg -i libsybdb5_0.82-4_i386.deb

Instalación de FreeTDS.

# apt-get install freetds-common

Instalación del módulo de PHP para el acceso a bases de datos Microsoft SQL Server.

# apt-get install php5-sybase

Configuración del formato de fecha según se desee.

# vi /etc/freetds/locales.conf

[default]
date format = %d/%m/%Y %H:%M:%S

[default_orig]
date format = %b %d %Y %I:%M%p

[en_US]
date format = %b %d %Y %I:%M%p
language = us_english
char set = iso_1

[es_ES1]
date format = %b %d %Y %I:%M%p
language = spanish
char set = iso_1

[pt_BR]
date format = %d/%m/%Y %H:%M
language = Portuguese
char set = iso_1

[it_IT]
date format = %d/%m/%Y %H:%M
language = Italiano
char set = iso_1

Enlaces.

Instalación de Apache, PHP y MySQL en Linux Debian 5

El método rápido.

La instalación de estos paquetes se puede realizar de dos maneras.  Utilizando Tasksel, que yo he llamado el método rápido, o instalando -casi- individualmente los paquetes que se deseen.  En mi opinión personal prefiero el segundo método ya que controlo directamente que se está instalando en el servidor.

Tasksel es una herramientas de Debian que se incluye en la mayoría de las distribuciones hijas (como Ubuntu) y permite instalar en bloque muchos paquetes según agrupaciones predefinidas, entre ellas la instalacion de un LAMP Server.

Instalación de Apache.

Instalación del servidor HTTP.

# apt-get install apache2

# apt-get install wwwconfig-common

Modificar la ubicación del DOCUMENT_ROOT.

Por defecto el árbol de directorios que se publica a través del servidor web se ubica en /var/www, si se desea modificar esta ubicación es necesario realizar los siguientes pasos.

Crear el directorio donde se almacenarán los documentos web.

# mkdir -p /home/www/public

Modificar la configuración de Apache para incluír a este nuevo directorio.

# vi /etc/apache2/sites-enabled/000-default

Reemplazar las ocurrencias de /var/www por la ruta deseada, es decir, los valores de DocumentRoot y su correspondiente Directory.

DocumentRoot /home/www/public/
# …
<Directory /home/www/public/>
# …

Reiniciar el servicio para tener en cuenta los cambios recién realizados.

# /etc/init.d/apache2 restart

Instalación de PHP.

Instalación de lenguaje de programación y varios de sus módulos.

# apt-get install php5 php5-cli php5-gd php5-mcrypt php5-curl php5-imagick php5-mhash php5-sqlite php5-xsl

Instalación del módulo dinámico (DSO) de Apache.

# apt-get install libapache2-mod-php5

Instalación de MySQL.

Instalación del motor de base de datos.

# apt-get install mysql-server

Instalación del modulo de PHP asociado a este motor de base de datos.

# apt-get install php5-mysql

Instalación de PHPMyAdmin para la administración de la base de datos a través de web.

# apt-get install phpmyadmin

El acceso se realiza a través de la URL http://localhost/phpmyadmin/.

"Reparando" el módulo de Bluetooth de un Dell Vostro 1400

Introducción.

Mi portátil, un Dell Vostro 1400, incluye un módulo de Bluetooth (Dell Truemobile 355 Bluetooth + EDR).  Cuando recibí el portátil hace poco mas de un año funcionaba perfectamente en Windows Vista Home Premium.  Tiempo después reinstalé el sistema operativo desde el DVD (no del quick restore) para tener un espacio particionado e instalar Linux.  En Vista siguió funcionando pero en Linux no aparecía el módulo.  En ese momento no le puse mucho cuidado.

Hace un par de semanas necesité el Bluetooth y, después de dos meses sin utilizar Windows, tuve que reiniciar este sistema operativo.  Rápidamente noté dos cosas: había instalado el SP1 y el módulo de Bluetooth no aparecía por ningún lado.

Hice todos las pruebas y experimentos que se me ocurrieron e intenté instalar de nuevo el driver pero siempre terminaba diciendo: presione Fn+F2 para activar el módulo y este como si no existiera.  También revisé el setup del BIOS y decía que si estaba instalado y que se encontraba activo, sin embargo nada funcionaba.  Pensé que el módulo había pasado a mejor vida.

Conversación con el soporte Dell.

Con todo apuntando a un problema de hardware contacté por correo electrónico al soporte de Dell a quien le conté mi problema y las pruebas que había realizado.  Este fue nuestro diálogo a lo largo de una semana.

Soporte Dell.
Verifique que el switch se encuentre en On.
Presione Fn+F2 para activar el módulo.
Remueva el driver y vuélvalo a instalar.

Yo.
Siempre ha estado en On.
Fn+F2 no hace nada.
No puedo remover el driver porque el módulo no aparece en la lista de dispositivos.
(No le había dicho en el requerimiento que todo esto ya estaba probado ?)

Soporte Dell.
Usted no puede utilizar el módulo porque se encuentra desactivado desde el BIOS.  Siga estos pasos para activarlo e instale el driver después.

Yo.
Verifiqué el driver (otra vez) y está activo.  Realicé los pasos que sugiere para cargar los valores del BIOS por defecto y todo sigue igual, consecuentemente no puedo instalar el driver.
(No le había dicho en el requerimiento que todo esto ya estaba probado ?)

Soporte Dell.
Debe ser un problema del sistema operativo.  Hágale copia de seguridad a todo y reinstálelo con Dell Factory Image Restore que le va a borrar todo lo que tenga en el disco duro destruyéndole las particiones que tenía.

Yo.
Agradezco su [intento de] colaboración pero reinstalar mi equipo no es una opción en este momento, mucho menos con el Image Restore ya que utilizo varios sistemas operativos diferentes de Windows, en este momento, además de Windows Vista, tengo una partición para Linux Ubuntu y el  software mencionado no permite su instalación al no permitir manipular el tamaño de las particiones.

De igual manera considero que el problema no es de software ya que el módulo no funciona en Windows ni en Linux.  Yo podría reinstalar Windows Vista desde DVD si ustedes me garantizan que el problema no es de hardware y que yo no estoy perdiendo mi tiempo reinstalando el sistema operativo, el montón de software que utilizo y copiando/restaurando mi información.

Lo que no hace uno mismo, no se hace bien.

Aburrido y decepcionado con la respuesta del soporte técnico: reinstale Windows :-P   Decidí realizar una nueva búsqueda.  Esta vez con mayor suerte encontré que Anando en su blog había tenido este mismo problema y me dió unas muy buenas luces para encontrar su solución.

[Aparentemente] el problema radica en que el módulo se enciende y apaga internamente a través de software y que después de apagado es completamente inaccesible hasta que se vuelva a encender nuevamente.

Digo aparentemente porque supuestamente el switch de la red controla todos los módulos instalados (así está configurado el BIOS), tanto Bluetooth como WIFI, y a pesar de estar en On, el módulo no estaba activo.  De igual manera, por qué el sistema operativo/driver no lo activan por sus propios medios ?

Gracias al post de Anando, continué mi búsqueda en los foros de la comunidad Dell donde encontré que la pequeña aplicación (sólo 153KB) R159805.EXE resuelve mi problema activando el módulo Bluetooth sin necesidad de reinstalar inútilmente todo el sistema operativo.

Después de esto el sistema operativo, tanto Windows como Linux, reconocen el módulo e instalan el software necesario.  Preferí utilizar el controlador proporcionado por Dell en lugar del instalado automáticamente por Windows e instalé la pila proporcionada por el instalador R140135.EXE.  Ahora funciona perfecto.

Conclusiones.

El servicio de soporte técnico de Dell fue muy amable y diligente, sus respuestas fueron puntuales cada 24 horas, sin embargo su falta de técnica y precisión es enorme.  Esto no es tan grave como uno consideraría si se tiene en cuenta que el servicio es utilizado también por personas que no tienen ninguna experiencia técnica y que probablemente estén mas confundidos que uno.  Sin embargo deja mucho que desear el hecho que me hayan solicitado volver a hacer las pruebas que ya había hecho y cuyos resultados ya había informado, mas aún, reinstalar el sistema operativo cuando muy posiblemente, y la solución final me dió la razón, era una opción inoficiosa y muy dispendiosa para mi.

Me queda una duda amarga: cuánto tiempo y esfuerzos nos hubiera tomado encontrar la solución si yo no hubiera sido un ingeniero proactivo ?

Como mencioné, entiendo bastante la forma como el servicio de soporte llevó el caso, la mayoría de las veces el motivo del problema acostumbra a ser algo muy simple, lo que me parece realmente molesto es que este caso ya le había sucedido a otras personas con este mismo módulo, estaba documentado en los foros de la misma empresa y, gracias a todos los dioses, había una aplicación para implementar su solución inmediata y que aparentemente es desconocida por los amigos del soporte.

Enalces.

Crear video a partir de imágenes en Ubuntu 8.04

Introducción.

Este procedimiento permite instalar el software necesario para crear videos MPEG con secuencias de imágenes, muy útiles para documentar procedimientos como el recién instalado Debian 5.

En esta ocasión estoy probando a images2mpg el cual me ha dado buenos resultados hasta el momento.  Como ventajas veo que es de muy fácil configuración y uso, mientras que como desventaja encuentro que al ser un paquete de KDE quienes utilizamos Gnome en el escritorio, debemos instalar una buena cantidad de paquetes para poder utilizarlo.

Instalación.

$ sudo apt-get install imagemagick
$ sudo apt-get install mjpegtools
$ sudo apt-get install vorbis-tools
$ sudo apt-get install kipi-plugins

Utilización.

La ejecución la realizo desde la línea de comando estando ubicado en el mismo directorio donde se encuentran las imágenes fuente, sus nombres tienen el formato screenshot_*.png, es decir, screenshot_1.png, screenshot_2.png, etc. y fueron tomadas para el caso de Debian5 con Shutter, sin embargo cualquier método (incluyendo a gnome-screenshot) debe funcionar.

La invocación a la aplicación en términos generales es de la siguiente manera.

$ images2mpg -T /tmp -f XVCD -n NTSC -d 4 -o video.mpg -I /usr/bin -M /usr/bin -i screenshot_*.png

A continuación explico brevemente el significado de cada uno de sus parámetros.  Se puede consultar información adicional de estos en su manual.

  • -T: especifica la ubicación del directorio para temporales.  En este caso utilizo el del sistema operativo: /tmp.
  • -f: especifica el formato del video MPEG resultante, sus posibles valores son VCD, SVCD, XVCD y DVD (ver más adelante).
  • -n: determina el tipo de pantalla de televisión, sus posibles valores son PAL, NTSC (Colombia) y SECAM.
  • -d: el número de segundos que permanece en pantalla cada imágen durante la presentación del video.
  • -o: especifica el nombre del archivo de video de salida.
  • -I / -M: especifica la ubicación de las herramientas ImageMagick y MJpegTools respectivamente.
  • -i: determina el listado de imágenes (separadas por espacios) que conformarán el video.

Los posibles formatos del video, especificados por el parámetro -f, obedecen a la siguiente información.

VCD.

Resolución: 352×288 (PAL/SECAM) / 352×240 (NTSC).
Imágenes por segundo: 25 (PAL/SECAM) / 30 (NTSC).
Tipo: MPEG-1.
Duración (650Mb) : 74 minutes.
Tasa de bits del video: 1,150 kbit/s.
Formato de sonido: MP2.
Tasa de bits del audio: 224 kbit/s.

SVCD.

Resolución: 576×480 (PAL/SECAM) / 480×480 (NTSC).
Imágenes por segundo: 25 (PAL/SECAM) / 30 (NTSC).
Tipo: MPEG-2.
Duración (650Mb): 60 minutes.
Tasa de bits del video: 2,500 kbit/s.
Formato de sonido: MP2.
Tasa de bits del audio: 224 kbit/s.

XVCD.

Resolución: 720×576 (PAL/SECAM) / 720×480 (NTSC).
Imágenes por segundo: 25 (PAL/SECAM) / 30 (NTSC).
Tipo: MPEG-2.
Duración (650Mb) : 50 minutes.
Tasa de bits del video: 2,500 kbit/s.
Formato de sonido: MP2.
Tasa de bits del audio: 224 kbit/s.

DVD.

Resolución: 720×576 (PAL/SECAM) / 720×480 (NTSC).
Imágenes por segundo: 25 (PAL/SECAM) / 30 (NTSC).
Tipo: MPEG-2.
Duración (650Mb) : 15 minutes.
Tasa de bits del video: 8,000 kbit/s.
Formato de sonido: MP2.
Tasa de bits del audio: 224 kbit/s.

Enlaces.

Instalación de Debian 5 en VirtualBox 2.2

Introducción.

Después de unos no muy buenos recuerdos instalando Debian hace unos años, probablemente la versión 3, ahora aprovechando el  lanzamiento hace 5 días de la versión 5, alias Lenny,  me dispongo a darle una segunda oportunidad a Debian después de una larga experiencia con unos de sus hijos: Ubuntu.

Hasta el momento es poco lo que puedo opinar acerca del nuevo Debian, sin embargo el proceso de instalación gráfico que utilicé esta vez dista mucho del confuso proceso de instalación en modo texto que complicó mis días hace un tiempo, sin contar con que ahora ya lo tengo en un DVD y no en cinco CDs como antes.  La instalación gráfica aunque sencilla me pareció muy larga y en algunas partes muy poco intuitiva, especialmente en la sección de manipular las particiones del disco.  Me parece interesante intentar nuevamente el instalador en modo texto para ver como ha mejorado en este tiempo.

A continuación se detalla gráficamente el proceso de instalación seguido para instalar a Debian 5 en una máquina virtual VirtualBox 2.2 sin nada mas que los paquetes estándar.

Instalación de Debian en VirtualBox.

Instalación de los Guest Additions de VirtualBox para Debian.

En una terminal ejecutar los siguientes comandos.

$ su -

# aptitude install gcc linux-headers-$(uname -r) make

En la ventana de VirtualBox seleccionar las siguientes opciones del menú.  Debe verificarse que no se tenga montando un medio en la unidad de CD/DVD previamente.

Devices > Install Guest Additions …

De nuevo en la terminal ejecutar los siguientes comandos.

# cd /media/cdrom

# sh VBoxLinuxAdditions-x86.run

Después de instaladas las aplicaciones adicionales es necesario reiniciar el sistema operativo huésped.

# reboot.

Enlaces.

Instalación de Shutter 0.70.2 en Ubuntu Linux 8.04

Instalación.

Agregar el repositorio de Shutter al sistema operativo.

$ sudo gedit /etc/apt/sources.list

## Shutter
deb http://ppa.launchpad.net/shutter/ppa/ubuntu intrepid main

Descargar e instalar la llave de apt-secure.

$ wget -q http://shutter-project.org/shutter-ppa.key -O- | sudo apt-key add -

Actualizar la información relacionada con los paquetes y sus versiones.

$ sudo apt-get update

Instalar Shutter y sus dependencias.

$ sudo apt-get install shutter

Ejecutar Shutter desde línea de comando.

$ /usr/bin/shutter &

Configuración para utilizarlo como capturador de pantallas por defecto.

Esta modificación permite utilizar a Shutter como manejador del PrintScreen y del Alt+PrintScreen.

Seleccione Edit > Preferences > Behaviour.

Activar las siguientes casillas.

  • Capture: Print.
  • Capture with selection: <Alt> PrintWindow.

Configuración para incluír el puntero del ratón en la imagen.

Esta modificación permite que el puntero del ratón del sistema operativo sea incluído en las imágenes de las capturas de pantalla.

Seleccione Edit > Preferences > Advanced.

Include cursor: activate.

Enlaces.

Instalación de VirtualBox 2.2 en Ubuntu Linux 8.04

Agregar el repositorio de VirtualBox al sistema operativo.

$ sudo gedit /etc/apt/sources.list

#VirtualBox
deb http://download.virtualbox.org/virtualbox/debian intrepid non-free

Descargar e instalar la llave de apt-secure.

$ wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

Actualizar la información relacionada con los paquetes y sus versiones.

$ sudo apt-get update

Instalar VirtualBox 2.2 y sus dependencias.

$ sudo apt-get install dkms

$ sudo apt-get install virtualbox-2.2

Ejecutar VirtualBox desde línea de comando.

$ /usr/bin/VirtualBox &

Enlaces.