Archive

Archive for the ‘GNU/Linux’ Category

Ordenar archivos en sistemas de ficheros FAT

January 8th, 2010 Güimi No comments

El sistema de ficheros FAT es uno de lo más antiguos todavía en uso. Su actual popularidad se debe a que la mayoría de teléfonos móviles, lectores de MP3, cámaras de fotos, radios, etc. solo reconocen este sistema, por lo que las memorias USB, las tarjetas SD, MMC, etc. vienen formateadas con FAT.

El problema es que estos dispositivos no suelen ordenar los ficheros y directorios que encuentran, sino que muesrtan los archivos tal y como están grabados. Esto hace que muchas veces, tras pasar varias horas ordenando tu colección de música, molestándote en ponerles nombres tipo “01-titulo-artista.mp3″ y demás, te encuentras con que el reproductor lista las canciones aleatoriamente.

Para evitar esto basta con “ordenar” los ficheros en el sistema FAT. En GNU/Linux, como es habitual, es muy sencillo hacerlo (el dispositivo debe estar desmontado):
sudo fatsort (dispositivo)

Para que esto funcione bien, primero hay que instalar fatsort, lo que a su vez tambien es muy sencillo:
sudo aptitude install fatsort
Se puede obtener información sobre la patición con:
sudo fatsort -i (dispositivo)

FAT, sort, fatsort, ordenar ficheros, sort files

PDF Editor

December 29th, 2009 Güimi No comments

Recientemente he descubierto “PDF Editor”, un programa GPL para GNU/Linux que permite editar PDFs.
Hasta ahora me limitaba a trabajar con pdfs desde el prompt o incluso con GIMP.
PDF Editor no es que funcione maravillosamente, aún está un poco verde, da algunos errores de funcionamiento… pero al final sirve para lo que promete: editar ficheros PDFs.
Funciona en modo gráfico y comando y además está en los repositorios de Debian, Ubuntu…
$ sudo aptitude install pdfedit

PDF Editor, PDF, pdfedit
Categories: GNU/Linux, Ofimática, Prompt

Postinstalación de Ubuntu 9.04 Jaunty Jackalope

November 10th, 2009 Güimi No comments

Hay múltiples recetas de qué hacer tras instalar Ubuntu 9.04 Jaunty Jackalope (por ejemplo esta receta de “Cosas a hacer despues de instalar Ubuntu 9.04 Jaunty Jackalope“).
Hay que decir que ha día de hoy ya ha salido la nueva versión (Karmic Koala).

Tras consultar varias de esas guías para instalar Ubuntu a un amigo, me he quedado con esto:

sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo aptitude update && sudo aptitude install medibuntu-keyring && sudo aptitude update && sudo aptitude upgrade
sudo aptitude install build-essential linux-headers-`uname -r`
sudo aptitude install gparted scribus blender inkscape gthumb
sudo aptitude install k3b kde-i18n-es k3b-i18n
sudo aptitude install dia gftp
sudo aptitude install gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-ffmpeg
sudo aptitude install virtualbox-ose wine
sudo aptitude install ubuntu-restricted-extras
sudo aptitude install unrar rar p7zip-full unace unzip msttcorefonts
sudo aptitude install libdvdcss2 libdvdread4
sudo aptitude install w32codecs non-free-codecs flashplugin-nonfree-extrasound

Después configuré Firefox y el explorador de archivos (Nautilus) para que se comportase más a mi gusto y en las propiedades de las imágenes indiqué “Abrir con” gthumb.

Postinstalación, instalación, Ubuntu, Jaunty Jackalope
Categories: GNU/Linux, Software Libre

Firmar imágenes

August 13th, 2009 Güimi 1 comment

Para firmar imágenes automáticamente podemos usar ImageMagick. Llamo firmar una imagen a incorporarle un marco con el autor y la licencia de la misma. Ejemplo de imagen firmada:
delfines

Primero generamos una imagen de firma, por ejemplo:
firma

Después utilizamos el siguiente comando (el tamaño de bordes que muestro es el que utilizo para imágenes de 2448×3264):
$ convert imagen.jpg firma.png -background black -gravity South -bordercolor black -border 10 -append -border 10 -splice 0×10 imagen_firmada.jpg.

Si además queremos conservar la información de la cabecera exif podemos utilizar el comando jhead:
$ jhead -te imagen.jpg imagen_firmada.jpg.
Otro uso muy práctico de jhead lo vimos en el post “Renombrar fotos en base a la fecha de la cabecera Exif“.

Para agilizar la firma podemos hacer dos cosas básicas, una es crear un script como este (que nos firma todas las imágenes del directorio en que nos encontramos):

#!/bin/bash
#
# firma_imagenes.sh
# Por Guimi 2009/08 - http://www.guimi.net
#

##########################
# ERRORES
E_NOPARAM=64        # Numero de parametros incorrecto

##########################
# PARAMETROS
FIRMA="../cc-by-sa-guimi-70.png"
DIR="./firmadas"
TMP="tmp.$$"

if [ $# -gt 1 ];
then
	echo "Use firma_imagenes [imagen_firma]"
	exit $E_NOPARAM
else
	if [ $# -eq 1 ];
	then
		FIRMA="$1"
	fi
fi

mkdir $DIR

echo -n "Firmando fotos..."
for x in `ls *.jpg`
do
	echo -n "."
	convert $x $FIRMA -background black -gravity South -bordercolor black -border 10 -append -border 10 -splice 0x10 $TMP
	jhead -te $x $TMP > /dev/null
	mv $TMP $DIR/$x
done
echo ""

 
Otra opción muy comoda es configurar gThumb (el visor que recomiendo para gnome) para que permita firmar imágenes.
Para ello nos vamos a “Editar->Preferencias->Teclas rápidas” y en una de las casillas libres (la primera suele ser el 6) escribimos:
convert %f ~/firma.png -background black -gravity South -bordercolor black -border 10 -append -border 10 -splice 0×10 %n-firmada%e; jhead -te %f %n-cc-by-sa%e

A partir de ese momento mientras estamos viendo una imagen si pulsamos el 6 del teclado numérico nos generará una copia firmada.

Podemos ver otros usos de ImageMagick en un post llamado trabajar con imágenes desde el prompt.

Si tienes curiosidad por ver algunas de mis fotos puedes ver mi perfil en flickr o en mi perfil en picasa (me gusta más el servicio de flickr pero da más espacio picasa).

ImageMagick, Marco, firmar imagen, crear marco, gthumb
Categories: GNU/Linux, Multimedia

Pasar de Access a MySQL

July 2nd, 2009 Güimi No comments

Tengo unos compañeros que se empeñan en utilizar Ms-Access, que es de los pocos programas que no funcionan de manera alguna en GNU/Linux (solo queda el recurso de usar una máquina virtual, como VirtualBox).
Por ello cuando necesito trabajar con ella (o ellos necesitan hacer consultas rápidas y como no saben me lo piden a mi) utilizo un pequeño script para pasar las tablas de Ms-Access a MySQL.
Y dice así:

#!/bin/bash
#
# vuelca_mdb 0.1 - GPL
# (c) Guimi
# http://guimi.net
#
# Ult. mod: Guimi 2009-07
#

# DATOS DEL FICHERO MDB
mdb=xxx.mdb
TABLA1=XXX
TABLA2=YYY

# DATOS DE MYSQL
bbdd=xxx
usuario=xxx
clave=xxx

# FICHERO TEMPORAL
tmp="tmp.$$"

echo "Exportando desde mdb..."
mdb-schema $mdb -S > sql-creacion_mdb$$.sql
mdb-export $mdb $TABLA1 -S -I > sql-datos_mdb$$.sql
mdb-export $mdb $TABLA2 -S -I >> sql-datos_mdb$$.sql

echo "Modificando ficheros exportados..."
# Hay que añadir "IF EXISTS" al "DROP TABLE"
sed 's/DROP TABLE/DROP TABLE IF EXISTS/g' sql-creacion_mdb$$.sql > $tmp
# Hay que cambiar "Long Integer" por "Integer"
sed 's/Long Integer/Integer/g' $tmp > sql-creacion_mdb$$.sql

# Hay que añadir un punto y coma ";" al final de cada linea -que acaba en ")"-
sed -e s/.$/\)\;/g sql-datos_mdb$$.sql > $tmp
mv $tmp sql-datos_mdb$$.sql

echo "Cargando datos en MySQL..."
mysql -D $bbdd -u $usuario --password=$clave < sql-creacion_mdb$$.sql
mysql -D $bbdd -u $usuario --password=$clave < sql-datos_mdb$$.sql

echo "Borrando ficheros temporales..."
rm sql-creacion_mdb$$.sql
rm sql-datos_mdb$$.sql


A continuación otros comandos que pueden ser utiles (proceden del paquete mdbtools).

Mostrar la versión del fichero mdb:
$ mdb-ver xxx.mdb

Mostrar las tablas de un fichero mdb (-1 para mostrar una tabla por fila):
$ mdb-tables -1 xxx.mdb

Generar un fichero C con un Array con los datos de una tabla:
$ mdb-array xxx.mdb TABLA

Access, mdb, mysql, script, prompt, Ms-Access, mdbtools
Categories: BBDD, GNU/Linux, Prompt

Instalar un SAI (UPS) en GNU/Linux

May 5th, 2009 Güimi 5 comments

Instalaremos como ejemplo un SAI Yukai PowerMust 600 con conexión al puerto serie y conexión USB.
 

Instalamos el sistema nut (Network UPS Tools):
# aptitude install nut

 
Si instalamos el SAI en un puerto USB, además:
# aptitude install nut-usb

Si instalamos el SAI en un puerto serie autorizamos al usuario nut el acceso al mismo:
# adduser nut dialout

 
Configuramos el demonio nut:
# vi /etc/default/nut

# start upsd
START_UPSD=yes

# set upsd specific options. use "man upsd" for more info
UPSD_OPTIONS=""

# start upsmon
START_UPSMON=yes

# set upsmon specific options. use "man upsmon" for more info
UPSMON_OPTIONS=""

Consultamos el controlador que necesitamos para nuestro SAI en la web de Network UPS Tools. Para el SAI del ejemplo necesitamos el controlador “megatec”.
 
Indicamos al sistema la existencia de nuestro SAI:
# vi /etc/nut/ups.conf

[yukai]
	driver = megatec
	# si usamos puerto serie
	# port = /dev/ttyS0
	# si usamos puerto USB
	# port = auto
	port = xxxxxx
	desc = "Yukai PowerMust 600"

Indicamos al demonio los permisos sobre el SAI (permiso local):
# vi /etc/nut/upsd.conf

ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32

ACCEPT localhost
REJECT all

Creamos un usuario para gestionar el SAI:
# vi /etc/nut/upsd.users

[yukai_admin]
password = mi_clave
allowfrom = localhost
actions = SET
instcmds = ALL

Y por último configuramos el monitor:
# vi /etc/nut/upsmon.conf

MONITOR yukai@localhost 1 yukai_admin mi_clave master
RUN_AS_USER nut
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower

NOTIFYMSG ONLINE "UPS: Normal state"
NOTIFYMSG ONBATT "UPS: On battery"
NOTIFYMSG LOWBATT "UPS: Battery low"
NOTIFYMSG FSD "UPS: Starting shutdown"
NOTIFYMSG COMMOK "UPS: Communication restored"
NOTIFYMSG COMMBAD "UPS: Communication lose"
NOTIFYMSG SHUTDOWN "UPS: Shutting down"
NOTIFYMSG REPLBATT "UPS: Replace battery"

NOTIFYFLAG ONLINE SYSLOG
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG FSD SYSLOG+WALL
NOTIFYFLAG COMMOK SYSLOG
NOTIFYFLAG COMMBAD SYSLOG
NOTIFYFLAG SHUTDOWN SYSLOG
NOTIFYFLAG REPLBATT SYSLOG

RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 0

Modificamos los permisos de los ficheros:

  • # chown root:nut /etc/nut/*

  • # chmod o-r /etc/nut/*

Reiniciamos el servicio:
# /etc/init.d/nut restart

Y verificamos que todo funciona correctamente:
# upsmon status

Network UPS Tools upsmon 2.2.2
UPS: yukai@localhost (master) (power value 1)
Using power down flag file /etc/killpower

 
Verificamos los procesos en marcha:
# ps aux | grep ups

nut       8513  0.0  0.0   2012   512 ?        Ss   12:01   0:00 /sbin/upsd
root      8515  0.0  0.0   2020   652 ?        Ss   12:01   0:00 /sbin/upsmon
nut       8516  0.0  0.0   2020   688 ?        S    12:01   0:00 /sbin/upsmon

# ps aux | grep nut

nut       8511  0.0  0.0   2012   576 ?        Ss   12:01   0:00 /lib/nut/megatec -a yukai
nut       8513  0.0  0.0   2012   512 ?        Ss   12:01   0:00 /sbin/upsd
nut       8516  0.0  0.0   2020   688 ?        S    12:01   0:00 /sbin/upsmon

Y verificamos que todo funciona correctamente:
$ upsc yukai@localhost

battery.charge: 97.5
battery.voltage: 13.60
battery.voltage.nominal: 12.0
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.2.2
driver.version.internal: 1.5.14
input.frequency: 49.9
input.frequency.nominal: 50.0
input.voltage: 209.5
input.voltage.fault: 209.5
input.voltage.maximum: 215.2
input.voltage.minimum: 208.6
input.voltage.nominal: 220.0
output.voltage: 209.5
ups.beeper.status: enabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 27.0
ups.mfr: unknown
ups.model: unknown
ups.serial: unknown
ups.status: OL
ups.temperature: 25.0
ups.type: standby

Podemos mostrar solo parte de la información:
$ upsc yukai@localhost ups.status

OL

OL indica “On Line power”. Podría indicar por ejemplo OB (“On Battery”) o LB (“Low Battery”).

$ upsc yukai@localhost battery.charge

97.5

 
En escritorios gráficos es útil -y muy sencilla- la herramienta “knutclient” que permite monitorizar el SAI:
knutclient
knutclient
 

Referencia

instalar un sai (ups) en Linux, configurar sai en Linux, instalar UPS en GNU/Linux

Categories: GNU/Linux, Hardware

Cómo virtualizar una partición Windows ya existente

March 25th, 2009 Güimi 2 comments

Este es un artículo escrito por el administrador de kriptopolis con licecia CC.

Al final del artículo incluyo como solucionar algunos problemas a los que me he enfrentado siguiendo este tutorial.

Artículo original en Kriptopolis del 21. Junio 2007 – 14:08.
Actualización a Junio de 2009: Llevo un tiempo probando VirtualBox, y lo recomiendo, ya que es software libre y funciona igual de bien que VMWare (más rápido en algunas cosas, más lento en otras).

La situación de partida más común es la siguiente: dispones de un sistema con arranque dual (Windows, Linux) y aunque utilizas habitualmente Linux, de vez en cuando aún necesitas ejecutar algo en Windows. En un tutorial anterior ya explicamos cómo utilizar para ello una copia virtualizada, pero ahora vamos un paso más lejos: lo que utilizaremos virtualizado será nuestra propia partición windows real, de forma que las modificaciones que realicemos quedarán guardadas en él, y no en una simple copia. Además, si VMware algún día nos fallara, siempre seguiríamos disponiendo de la posibilidad de arrancar nuestro Windows nativo tal y como veníamos haciendo.

Para este tutorial he utilizado VMware Workstation 6 para Linux, un programa comercial con 30 días de prueba.También es posible virtualizar la partición Windows con VMware Player, pero éste carece -si no me equivoco- de la posibilidad de instalar posteriormente las VM Tools, lo que obliga a realizar unas cuantas maniobras más para lograr nuestro objetivo, y a ello quizás dediquemos otro tutorial. Es posible que este tutorial pueda seguirse también con VMware Server, que sí es gratuito; espero que algún lector que lo utilice pueda confirmar o desmentir este extremo…

PRECAUCIONES PREVIAS

Es muy probable que al arrancar Linux vengas montando automáticamente tu partición Windows para disponer de acceso a ella. Lo primero es desmontarla y desactivar ese montaje automático comentando la línea correspondiente en tu fichero /etc/fstab. De lo contrario podría ocurrir que intentaras acceder desde dos sistemas diferentes a la misma partición, con resultados imprevisibles, pero probablemente desastrosos. Por tanto, comienza con un umount /mnt/windows (o lo que corresponda en tu caso) y escribe el carácter almohadilla en la línea de fstab que hace referencia a tu partición windows.

Otra posibilidad que podría llevarnos a un desastre aún peor (porque podría destruir tu sistema Linux) sería elegir Linux por error desde el menú de arranque de la máquina virtualizada, lo que equivaldría a intentar arrancar Linux desde dentro de Linux. Para prevenir este otro posible desastre lo mejor es comentar de momento el timeout del fichero menu.lst de grub y seleccionar Windows como el sistema de arranque por defecto.

PREPARAR WINDOWS

La idea aquí es crear un nuevo perfil de hardware (que puedes denominar “virtual” o “vmware”) con un Windows tan “limpio” como sea posible, eliminando dispositivos o controladores que puedan resultar conflictivos. No puedo darte normas generales, excepto que crees un nuevo perfil virtual y le des un nombre, aunque sólo sea una copia exacta del actual. En cualquier caso también es buena idea establecer la opción que permite esperar hasta que se seleccione un perfil de hardware y colocar el perfil virtual como opción por defecto.

En mi caso (insisto, disco Serial ATA) fue imprescindible desinstalar los controladores IDE y sustituirlos por controladores estándar. En este caso -y otros similares- existen diferencias entre el controlador IDE que utiliza Windows y el de la máquina virtual. El diagnóstico es fácil: al tratar de arrancar la máquina virtual, nos da un error de BOOT.INI y el intento de arranque entra en un ciclo sin fin. Si estás en un caso similar, aquí tienes instrucciones más detalladas:

Arrancamos Windows XP nativo.

Panel de Control -> Sistema -> Hardware -> Perfiles de Hardware

Copiar el perfil actual como vmware.

Arrancar de nuevo seleccionando el perfil vmware

Panel de Control -> Sistema -> Hardware -> Gestor de dispositivos -> Controladores IDE ATA/ATAPI

Haz clic derecho en uno de ellos y elige Actualizar controlador. Arranca el Asistente para actualizar el hardware. Elige “No, no esta vez” y Siguiente. Elige la opción avanzada y siguiente. Elige “No buscar.Elegiré el controlador a instalar” y siguiente. Selecciona el driver IDE estándar y Finalizar. No reinicies.

Ahora has de repetir el proceso con el Canal IDE Primario y el Secundario, eligiendo siempre el controlador estándar.

CREAR NUEVA MÁQUINA VIRTUAL

A continuación te muestro el proceso en imágenes:

Este paso es muy importante. No olvides elegir la partición donde tienes tu Windows (por supuesto) y también aquella desde la que arrancas (donde has instalado el grub):

Continuamos.

Y así queda nuestra máquina (de momento):

Al arrancar Windows así en mi caso (disco Serial ATA) acabo en una pantalla azul de la muerte. Si cambio “buslogic” por “ide” en Windows XP.vmdk, vmware me avisa y si acepto acabo también igual, con otro BSOD:

Lo que hago es editar Windows XP.vmx y la línea scsi0.present = “TRUE” la cambio a “FALSE”. También cambio las tres líneas que comienzan por scsi0:0 a ide0:0. A partir de ese momento ya no tuve problemas.

Tras arrancar aparece el menú de grub:

Elegimos Windows y nuestro nuevo perfil virtual:

Vamos por buen camino:

Cuando arranques por primera vez tu Windows dentro de VMware es posible que te comience a detectar nuevo hardware y te pida instalarlo. Contesta a todo que no. Otro posible problema es que tu copia de Windows pida ser reactivada; por lo que se dice en Internet eso no parece ocurrir, pero nunca se sabe y desde luego no me atrevo a poner la mano en el fuego en ese tipo de asuntos.

REMATES FINALES

Ahora que todo funciona (o debería) coincidiréis conmigo en que sería muy bueno que no volviera a presentarse el menú de arranque de Grub, para prevenir definitivamente el posible error fatal de tratar de arrancar el sistema equivocado. Disponer de este lujo nos supondrá un pequeño esfuerzo adicional, pero creo que merece la pena, porque después de eso siempre arrancará Windows sin más riesgos ni complicaciones.

Arrancamos VMware y nos vamos a “Edit virtual machine settings” -> Hardware -> Floppy

Seleccionamos “Use a floppy image” y “Connect at power on”. Le damos el nombre “bootdisk.img” y pulsamos “Create”. Lo guardamos en el directorio de vmware para nuestra nueva máquina Windows.

Ahora añadiremos grub al fichero de imagen de disco:

# cd /home/xxxx/vmware/Windows\ XP/

En Arch Linux*:

# dd if=/usr/lib/grub/i386-pc/stage1 of=bootdisk.img count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 5,3224e-05 s, 9,6 MB/s

# dd if=/usr/lib/grub/i386-pc/stage2 of=bootdisk.img seek=1
196+1 records in
196+1 records out
100586 bytes (101 kB) copied, 0,0023119 s, 43,5 MB/s

NOTA*: La localización de los ficheros stage varía en cada distribución. En Ubuntu están en /lib/grub/i386-pc. En Gentoo, en /usr/lib/, etc.

Haremos también una copia de seguridad así:

# cp bootdisk.img grubdisk.img

Echa un vistazo al fichero menu.lst de tu grub para ver con qué opciones arrancas tu Windows real. En mi caso:

# cat /boot/grub/menu.lst

Y la parte que necesito es ésta:

title Windows XP
rootnoverify (hd0,3)
makeactive
chainloader +1

Ahora arrancaré mi máquina virtual y al llegar al menú de Grub teclearé lo siguiente:

grub> root (hd0,3)
grub> chainloader +1
grub> boot

Lo que debe hacer que arranque Windows. Ten cuidado al teclear porque es posible que las teclas no respondan exactamente a lo esperado (en mi caso los paréntesis había que teclearlos con la tecla que ocupa una posición a la derecha de los originales y el signo + con el teclado numérico):

Windows arrancó correctamente, así que ahora configuraremos nuestra imagen de disco para que no haga falta volver a teclear esos comandos, sino que arranque Windows automáticamente. No apagues la máquina virtual; desde dentro de tu Windows virtualizado vas a formatear el disquete virtual con las opciones por defecto. Desde Mi PC : Unidad A: -> Formatear. Cierra la máquina virtual.

Teclearemos ahora unos cuantos comandos más desde Linux:

# mount bootdisk.img /mnt -o loop
# mkdir -p /mnt/boot/grub
# cp /boot/grub/stage[12] /boot/grub/fat_stage1_5 /boot/grub/menu.lst /mnt/boot/grub
# vi /mnt/boot/grub/menu.lst

Aquí comentaremos (o borraremos) todo lo que queramos, hasta dejar sólo lo imprescindible. En mi caso:

timeout  0
default  0
color light-blue/black light-cyan/blue
title Windows XP
rootnoverify (hd0,3)
makeactive
chainloader +1

Seguimos tecleando comandos:

# chmod -R a-w /mnt/boot
# umount /mnt

Arrancamos VMware y vamos de nuevo a Edit virtual machine settings. En la opción floppy seleccionamos la copia de seguridad grubdisk.img que creamos en un paso anterior. Haz un ls -l sobre el directorio de tu máquina Windows en vmware para asegurarte de que grubdisk.img pertenece a tu usuario y no a root. Si no es así, utiliza chown para cambiarlo.

Al arrancar de nuevo tu máquina debes llegar al prompt de grub, pero esta vez no teclees nada. Selecciona VM en el menú de VMware Workstation y cambia el floppy a bootdisk.img de nuevo.

Resetea después la máquina virtual pulsando “Reset”. Si todo fue bien, ya no trata de arrancar desde el disco duro, sino desde la imagen de disquete. En cuanto tengas tu windows virtualizado y en marcha no olvides instalar las VM Tools desde el correspondiente menú de VMware. Eso te permitirá aumentar la resolución de pantalla y algunos “lujos” más.

Como ya ha desaparecido el riesgo de arrancar con grub el sistema equivocado podemos volver a editar nuestro menú de arranque original del disco duro para restaurar el timeout que quitamos al inicio del tutorial.

Con esto hemos acabado y espero que con éxito. Como siempre (y esta vez quizás más) surgirán montones de dudas. Por mi parte baste decir que este tutorial, aunque tal vez no lo parezca, es el que más horas me ha llevado. De hecho, tras haber bebido en múltiples fuentes (que me hicieron perder mucho tiempo, sólo para llegar a soluciones insatisfactorias) acabé por ver la luz en este sitio, que ha sido finalmente mi guía para sistematizar un poco todo el proceso.

Como siempre vuestros comentarios acabarán de despejar las dudas y elevarán -espero- este tutorial a la categoría de algo verdaderamente útil. Gracias anticipadas a todos por vuestras aportaciones.



Algunos problemas habituales y sus soluciones

  • INSTALACION VMWARE
  • USO VMWARE
    • Problemas de acceso al disco
      • Incluir el usuario en el grupo que tenga acceso a los discos (ls -ld /dev/xxx) generalmente disk
    • El disco se creo como SCSI y lo intentas usar como IDE
      • Además de modificar el vmx como indica el tutorial, modificar el vmdk quitando las lineas ddb.geometry.biosxxxx y poniendo ddb.adapterType = “ide”
    • Error, tabla de particiones invalida
      • Debe ser windows el ultimo que escriba en la tabla de particiones, un modo de conseguirlo es eliminar desde windows la particion swap y volver a crear la particion. Despues desde linux se modifica -sin eliminar y volver a crear- la ‘nueva’ particion para volver a tener swap
    • Windows XP pide activacion
      • O bien arrancar nativamente windows y volver a activar
      • O bien seguir el ayudante de activacion que aparece

Cómo virtualizar una partición Windows ya existente, virtualiza windows, vmware

Categories: GNU/Linux, Windows

Instalar una webcam en GNU/Linux

January 10th, 2009 Güimi No comments

Instalaremos como ejemplo una Z-Star.
 
Consejo: no todas las cámaras tienen buen soporte en GNU/Linux, algunas no lo tienen en absoluto, y tampoco una cámara más cara produce necesariamente mejores resultados. Además los fabricantes venden bajo el mismo nombre cámaras diferentes (modelos actualizados) así que no es muy fiable saber que el modelo X funciona bien.
Por todo ello recomiendo comprar la cámara en cualquier tienda que tenga variedad y posibilidad de cambio y devolución.
En mi caso compré a la vez 5 cámaras, me quedé la que me funcionaba mejor y devolví las otras cuatro. Fueron dos paseos a la tienda pero comprándolas de una en una hubieran sido más.
 

Conectamos la cámara al equipo y averiguamos el chip de la misma:
$ lsusb

 Bus 002 Device 009: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 WebCam

Si la cámara no es USB, por ejemplo una integrada en un portátil prueba con:
$ dmesg | less

 
Lo importante son los identificadores de fabricante y dispositivo. En el ejemplo 0ac8 y 305b. Con esa información acudimos al oráculo para que nos diga que controlador necesitamos.
Como las respuestas del oráculo a veces son tortuosas e indescifrables, la mayoría de chips con soporte en GNU/Linux las podemos encontrar en uno de los siguientes enlaces:

 
Para la cámara del ejemplo necesitamos los controladores gspca:
$ sudo aptitude install gspca-modules-2.6-686-bigmem

 
Hay que desconectar la cámara y volver a conectarla para que se configuren los módulos al detectarla y ¡ya está! Así de sencillo.
 
Si todo va bien debería aparecer un dispositivo /dev/video0 (o /dev/video).
Para poder utilizar la cámara hay que tener permiso sobre dichos dispositivos, lo cual se consigue en Debian incluyendo al usuario en el grupo “video”.
 
Algunos programas interesantes para hacer pruebas son: webcam, cheese, xawtv / motv, motion, gqcam, camorama…
 

Instalar una webcam en GNU/Linux, Configurar webcam en Linux, Instalar cámara en Linux

Categories: GNU/Linux, Hardware

Comprobaciones de HW en GNU/Linux

April 29th, 2008 Güimi No comments

DISPOSITIVOS

# lspci | cat /proc/cpuinfo

# lsusb | cat /proc/scsi/scsi

 

MEMORIA

# free

# memtest86

 

DISCOS

# dd if=/dev/… of=/dev/null

# smartmontools

 

RED

# nictools_nopci

# nictools_pci

 

CPU

# cpuburn

# crashme

# fuzz

# stress

 

OTROS

# mbmon

# sensord

# lmbench

# lm_sensors

# lshw | hwinfo | x86info

# ltp

# spew

 

Comprobaciones de HW en GNU/Linux, Veruificar hardware en Linux, chequeo de hardware

Categories: GNU/Linux, Hardware, Prompt

Trabajar con PDFs desde el prompt

April 10th, 2008 Güimi No comments

Instalamos PDFTK (The PDF ToolKit):
# aptitude install pdftk

Extraer paginas de un pdf (opcion 1):
$ pdftk file.pdf burst

Extraer paginas de un pdf (opcion 2):
$ convert -density 150 archivo.pdf img_%04d.tiff

Convertir imagenes en un pdf:
$ convert *.tiff archivo.pdf

OCR:
$ for x in $(ls img_*tiff); do gocr $x >> kk.txt; done

Extraer imágenes de un pdf:
$ pdfimages -j file.pdf img

Extraer texto de un pdf:
$ pdftotext file.pdf

Unir pdfs:
$ pdftk *.pdf cat output nuevo.pdf

Unir parte de unos pdfs con otros:
# Insertamos la página 2 del fichero B entre la página 2 y la página 3 del fichero A
$ pdftk A=file1.pdf B=file2.pdf cat A1-2 B2 A3-end output nuevo.pdf

Rotar pdfs:
# S(outh) – 180% ; E(ast) 90%; W(est) 270%; N(orth) 0%
$ pdftk A=file1.pdf cat A1-endS output nuevo.pdf
En un pdf que contiene páginas giradas, será necesario rotar al Norte para que recuperen la orientación original.

Añadir marca de agua:
$ pdftk fileIn.pdf background marca_agua.pdf output fileOut.pdf
Se recomienda que marca_agua.pdf sea del tamaño de las páginas del PDF (A4, letter…).
Si el pdf son imágenes, éstas taparán la marca de agua y no se verá.
Es útil en pdfs con textos. La alternativa es el “sello”.
Añadir sello:
$ pdftk fileIn.pdf stamp sello.pdf output fileOut.pdf
Se recomienda que sello.pdf sea del tamaño de las páginas del PDF (A4, letter…).
El pdf se “estampará” como sello encima de las páginas del pdf. La alternativa es la marca de agua.

Modificar los datos de propiedades de un pdf (autor, fecha de modificación…):
$ pdftk fichero.pdf dump_data output propiedades.dat
$ vi propiedades.dat
$ pdftk fichero.pdf update_info propiedades.dat output fichero_mod.pdf

Convertir pdf en txt:
$ pdftotext -layout fich.pdf fich.txt

Trabajar con PDFs desde el prompt, edición de PDFs desde la línea de comandos

Categories: GNU/Linux, Prompt
Para los artículos:
Creative Commons License 2003-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los documentos bajo los términos de la licencia "Reconocimiento-Compartir bajo la misma licencia 3.0 España" de Creative Commons.

Puede ver una copia de esta licencia completa.

Para el código de programación:
General Public License GPL 2 - Copyright (c) 1998-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los desarrollos bajo los términos de la licencia "GNU General Public License, Versión 2" de Free Software Fundation.

Puede ver una copia de esta licencia completa.

Reconocimiento tautológico: Todas las marcas pertenecen a sus respectivos propietarios.