Archivo de la categoría: Utilidades GNU/Linux

Utilidades GNU/Linux

Solucionar problema con excepción en Autokey

Hace tiempo os hablé de una herramienta que mejora nuestra productividad a la hora de usar el teclado: Autokey. Aunque funciona muy bien a veces os puede dar un fallo que impida que se ejecute con normalidad.

Aquí os voy mostrar un error que me ocurrió hace poco y cómo lo solucioné.

De repente observé que no funciona ninguna abreviatura, así que me fijé en los mensajes que soltaba en la línea de comandos. En concreto, los errores eran éstos:

Exception in thread KeypressHandler-thread:
Traceback (most recent call last):
 File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
 self.run()
 File "/usr/lib/python2.7/site-packages/autokey/iomediator.py", line 204, in run
 target.handle_keypress(rawKey, modifiers, key, windowName, windowClass)
 File "/usr/lib/python2.7/site-packages/autokey/service.py", line 179, in handle_keypress
 currentInput, windowInfo, True)
 File "/usr/lib/python2.7/site-packages/autokey/service.py", line 304, in __checkTextMatches
 if item.check_input(buffer, windowInfo):
 File "/usr/lib/python2.7/site-packages/autokey/model.py", line 735, in check_input
 abbr = self._should_trigger_abbreviation(buffer)
 File "/usr/lib/python2.7/site-packages/autokey/model.py", line 134, in _should_trigger_abbreviation
 if self.__checkInput(buffer, abbr):
 File "/usr/lib/python2.7/site-packages/autokey/model.py", line 147, in __checkInput
 stringBefore, typedAbbr, stringAfter = self._partition_input(buffer, abbr)
 File "/usr/lib/python2.7/site-packages/autokey/model.py", line 194, in _partition_input
 stringBefore, typedAbbr, stringAfter = currentString.rpartition(abbr)
ValueError: empty separator

La causa está en que hemos introducido mal una abreviatura. A veces, al teclear la abreviatura puede que se inserte una coma “,”. En este caso, el programa da error y, aunque aparentemente está funcionando (aparece el icono con forma de “A” en la bandeja del sistema -en la barra de tareas-) no lo está haciendo.

Una vez eliminada la coma queda subsanado el error y todo vuelve a funcionar con normalidad.

 

 

Compartir archivos fácilmente entre distintos dispositivos

Hace tiempo usé una aplicación muy sencilla que permite compartir archivos entre distintos equipos (da igual si son Linux, Windows o Mac). Esa aplicación cuyo nombre hace referencia a la onomatopeya del ladrido de un perro: woof.

Iba a deciros que va al pelo y que funciona genial pero la he probado ahora precisamente y no funciona. Da un error y se cierra cuando se va a intentar descargar el archivo desde otro equipo (da un error de “Broken pipe”). Menos mal que siempre tengo un plan B 😉

Existe otra forma de compartir archivos fácilmente. Simplemente ejecutamos este comando:

python -m SimpleHTTPServer 9500

que crea un servidor web (en python) que permite que desde cualquier equipo de nuestra red se pueda obtener acceso a nuestros archivos usando simplemente un navegador web. El número 9500 es el puerto en el que escucha el servidor web. Puede ser cualquier número entre 1024(*) y 65535.

Los archivos directorios a los que se tiene acceso son los que hay en el directorio local desde el que se lanza el comando. Así que lo más cómodo es crear un directorio, copiar dentro el archivo o archivos y ejecutar dicho comando estando en ese directorio.

Los otros equipos no tienen por qué ser Linux. De hecho, podría ser hasta un móvil con Android (cualquier dispositivo con navegador web que se encuentre en el red del que comparte). De hecho, el equipo que comparte tampoco tiene por qué correr Linux, ya que python se encuentra disponible para distintas plataformas y se podría ejecutar sin problemas en Windows, Mac, etc.

 

(*) Para puertos menores del 1024 hay que ejecutar el comando como root.

Redimensionar pantalla para ocuparla completamente

Es un título un poco raro, pero no se me ocurría otro (*), lo siento. Lo que quiero decir es lo que os comento a continuación.

Os puede ocurrir que, trabajando en Linux (también me ha ocurrido en Windows) la imagen no ocupe toda la pantalla FullHD de 23″ (por ejemplo). En cualquier caso la imagen se ve correctamente, lo que ocurre es que en lugar de ser del tamaño de vuestra pantalla (23″ en el ejemplo que estoy poniendo) es menor (por ejemplo 21″ ó 22″). Este efecto se denomina underscan.

Si vuestra tarjeta es ATI podéis crear un script con estos comandos:

aticonfig --set-dispattrib=dfp3,positionX:0
aticonfig --set-dispattrib=dfp3,positionY:0
aticonfig --set-dispattrib=dfp3,sizeX:1920
aticonfig --set-dispattrib=dfp3,sizeY:1080

Al ejecutarlo veréis como se dimensionan cada uno de los distintos extremos de la pantalla.

Donde dice dfp3 tendréis que poner el que corresponde con vuestro monitor. Para obtenerlo tendréis que ejecutar, tal y como indican aquí, el siguiente comando:

aticonfig –query-dispattrib=DISPLAYTYPE,positionX

donde DISPLAYTYPE puede ser uno de éstos:  crt1, lvds, tv, cv, tmds1, crt2, tmds2, tmds2i, dfp1, dfp2, dfp3, dfp4, dfp5, dfp6. A falta de un método mejor, debéis probar con cada uno de ellos. A mí me funcionó con dfp3.

Si tenéis una nVidia en lugar de una Ati esto no os vale, así que os tocará googlear un poco. En cualquier caso, la solución debe ser parecida.

 

(*) La otra opción era “Solucionar problema de underscan con tarjeta ATI”, pero parecía demasiado concreto y técnico, nor?

Crear vídeo con fotos y audio en Linux

Cuando uno tiene unas fotos de un viaje, de un evento o de cualquier tema y quiere mostrarlas a sus amigos y familiares, antes era habitual crear una presentación con las fotos (con un programa tipo PowerPoint o Libreoffice Impress).

Sin embargo, y ante la necesidad de usar medios audiovisuales como reproductor de vídeo/televisión para mostrar las colecciones personales de fotos de experiencias, poco a poco fue surgiendo una serie de programas que permitían, en lugar de crear una presentación (que necesita de un PC para mostrarla), un vídeo con formato estándar que se podía ya reproducir en un reproductor doméstico.

Si venís del mundo Windows (o seguís aún en él) conoceréis aplicaciones para tal fin como MemoriesOnTV. Este tipo de aplicaciones, permiten colocar las fotos en una secuencia, aplicar efectos y transiciones, insertar audio y finalmente crear un vídeo con dichas fotos y canciones de fondo.

En Linux tenemos varias aplicaciones para realizar esta función, aunque una muy sencilla pero también muy potente, es openshot.

Dado que en el blog desdelinux ya han explicado muy bien cómo usar dicho programa para este cometido, simplemente os dejo el enlace aquí para que lo sigáis y lo probéis.

Como véis, en Linux tenemos aplicaciones para hacer las mismas cosas que en Windows, de forma similar, con mayor funcionalidad y sencillez normalmente y, desde luego, a coste cero.

Listado de comandos muy útiles en Linux

Hay muchas páginas en Internet con listados de comandos básicos en Linux. Si googleáis un poco lo comprobaréis.

Sin embargo, un día me llamó la atención una en concreto en la que se incluyen no sólo los comandos básicos sino otros más avanzados. Lo que más me gusta de esta página es, por un lado, que el listado está ordenado y clasificado por secciones, siendo muy fácil de seguir; por otro lado, los ejemplos son muy muy prácticos. Lo que quiero decir con esto último es que en lugar de mostrar un comando y sus 1500 opciones (al final no te quedas con ninguna, por lo que vale de poco), te muestra los 3 ó 4 ejemplos más prácticos de ese comando.

Así, por ejemplo, vemos cómo saber cuántas horas lleva en funcionamiento nuestro disco duro:

smartctl -A /dev/sda | grep Power_On_Hours

o cuánta RAM tiene nuestro equipo:

grep MemTotal /proc/meminfo

o, por ejemplo, cómo obtener un listado ordenado por tamaño del contenido de un directorio:

du -hs /home/* | sort -k1,1h

El artículo completo con todos los comandos lo tenéis aquí.

Si estáis empezando a usar la terminal de Linux os vendrá muy bien. Si sois usuarios más avanzados, no dejéis de echarle un vistazo porque seguro que hay comandos y opciones que no conocíais.

Cómo jugar al clásico “Space Invaders” desde la terminal

Como no todo va a ser trabajar, y a pesar de que a todos os gusta introducir comandos y pelearos con la terminal tanto como a mí ;-P, esta vez os voy a contar cómo jugar a un clásico de las recreativas en la propia terminal de Linux, al “Space Invaders”.

Se trata de un clon llamado nInvaders. Se puede instalar en prácticamente cualquier distro. En particular, si usáis openSUSE lo tenéis aquí.

Cuando arrancáis el juego se muestra así (pantalla de presentación):

ninvaders1

Pulsáis la tecla espacio y ya podéis jugar:

ninvaders2

Para salir simplemente pulsáis la “q”.

Más información en el artículo original donde lo leí en su momento. Pertenece al blog La Mirada del Replicante, cuya lectura18 os recomiendo.

Cómo montar en Linux los distintos formatos de imágenes de disco

En Linux es muy sencillo montar una imagen de tipo ISO (.iso) y acceder fácilmente al contenido:

# mount -t iso9660 -o loop archivo.iso /path/donde/lo/quiero/montar

Esto es útil, por ejemplo, cuando os descargáis una imagen de CD/DVD y en lugar de quemarla en un CD/DVD queréis ver el contenido antes e incluso añadir, quitar o modificar alguno de los archivos que contiene.

El problema es cuando la imagen no va con extensión .iso sino que es otra. ¿Qué hacer entonces? Pues a continuación os muestro una posibilidad: convertir la imagen a ISO.

– Conversión de imagen con formato .bin, .cue

# aptitude install bchunk
$ bchunk archivo.bin archivo.cue nuevoarchivo.iso

-Conversión de imagen con formato .nrg (de Nero)

# aptitude install nrg2iso
$ nrg2iso archivo.nrg nuevoarchivo.iso

-Conversión de imagen con formato .mdf, .mds

# aptitude install mdf2iso
$ mdf2iso archivo.mdf nuevaimagen.iso

-Conversión de imagen con formato .img (CloneCD)

# aptitude install ccd2iso
$ ccd2iso imagen.img imagen.iso

Una vez que tenemos el iso ya podemos, como decíamos al principio, montarlo para ver el contenido o quemarlo en un disco óptico usando, por ejemplo, el comando cdrecord (o cualquier programa de grabación que uséis).

 

Renombrar pendrives y discos externos en Linux

Una forma de renombrar los pendrives que conectáis en vuestro equipo con Linux es usando las utilidades mtools, que son unas utilidades para realizar ciertas cosas con los sistemas tipo FAT/FAT32.

Los primero será instalarlas, así que si estamos en una distro Debian o derivada haremos:

# aptitude install mtools

Si es una openSUSE:

# zypper in mtools

Una vez instaladas, vamos a ver cómo usarlas para renombrar nuestro pendrive. Primero lo conectamos y vemos qué nombre de fichero dispositivo corresponde al pendrive con el comando:

$ mount

Supongamos que el pendrive está montado en /dev/sdd1.

Ahora podemos mostrar el nombre de la etiqueta actual:

# mlabel -i /dev/sdd1 -s ::

Podemos cambiarlo con el comando:

# mlabel -i /dev/sdd1 ::mipendrive

donde “mipendrive” es el nuevo nombre del pendrive.

Para hacer lo anterior también podemos introducir este comando:

# mlabel -i /dev/sdd1

donde nos mostrará el nombre actual y nos pedirá el nuevo, es decir, es lo mismo que los dos comandos anteriores pero de forma interactiva. Si no queremos cambiarla pulsamos Control+C.

Con esto ya tenéis una forma sencilla de renombrar vuestros pendrives.

Que paséis una Nochevieja magnífica en compañía de vuestros seres queridos. ¡Nos vemos el año que viene!

Nuevas aplicaciones para trabajar con Keepass

Hace tiempo os hablé de Keepass, una aplicación para gestionar cómodamente y de forma segura vuestras contraseñas.

Como esta web está enfocada sobre todo a sistemas Linux, os hablé de la versión de dicha aplicación para este sistema y también para Android.

En concreto, os hablé de Keepass2 para Linux y de KeePassDroid para Android. Estas aplicaciones funcionan correctamente aún pero he descubierto dos nuevas aplicaciones con las que trabajo mucho más cómodamente.

Para Linux existe keepassX. Esta versión está basada en las librerías Qt y no en Mono, como Keepass2. Esto hace que vaya mucho más rápido, que el interfaz es más bonito y encaja más con mi escritorio KDE.

Para Android está Keepass2Android. Esta aplicación tiene cositas que no tiene la anterior. Por ejemplo, se pueden añadir entradas y grupos fácil y cómodamente (mientras que Keepass2 avisa que no garantiza que los cambios queden correctamente guardados).

Por otra parte, tiene una funcionalidad que me gusta, y es que deja abierta la base de datos y sólo tienes que introducir los 3 últimos caracteres del password para desbloquearla, lo que te ahorra tiempo cuando tienes que usarla varias veces en un intervalo pequeño de tiempo.

Por último, y al igual como ocurre con KeepassX en relación con Keepass2, tiene una interfaz más cuidada que la otra.

Si usáis una de ellas o las dos, os recomiendo encarecidamente que le echéis un vistazo y le déis una oportunidad.
NOTA: un defecto que tiene la versión de escritorio es que si tenéis una imagen digitalizada no podéis abrirla desde la propia aplicación. Sólo deja descargarla, lo cuál es una molestia. A ver si en breve lo implementan… :-O