Compilar megatools en Debian 8.9

megatools es un paquete de herramientas para interactuar desde la línea de comandos con la página de descargas mega.nz. megatools está incluido en el repositorio de paquetes para Debian Stretch pero no está disponible para Debian Jessie por lo que si, como yo, sigues usando la versión 8.9 de Debian, tienes que compilarlo manualmente. Por suerte es un paquete fácil de compilar y sólo tiene unas cuantas dependencias que se pueden instalar desde el gestor de paquetes (la mayoría ya deberían estar instaladas si has seguido posts anteriores en el blog 😀 ):

  • libglib2.0-dev

  • libssl-dev

  • libcurl4-openssl-dev

  • libgirepository1.0-dev

También necesitamos el código de megatools que se puede descargar desde la página oficial o desde su repositorio de github. En este caso estoy compilando la versión de github, si bajas la versión de la página oficial puedes omitir ejecutar autoconf.sh en el primer paso y ejecutar directamente configure.sh:

monstruosoft@monstruosoft-PC:~/megatools-master$ ./autogen.sh 
monstruosoft@monstruosoft-PC:~/megatools-master$ ./configure --disable-docs --prefix=/home/monstruosoft/libs/
...
Configured features:

  docs build: no
  warnings: no

Run make now.

NOTE: On FreeBSD, you need to use GNU make (gmake)
monstruosoft@monstruosoft-PC:~/megatools-master$ make
monstruosoft@monstruosoft-PC:~/megatools-master$ make install

¡Eso es todo!. Ahora podemos usar las herramientas para verificar y descargar todos esos links de mega 😀 .

Advertisements

Control remoto de decodificador Master

Hace tiempo compré un decodificador de TV digital Master, funciona bien pero el control remoto parece estar hecho con el diseño y los materiales más baratos por lo que ya está fallando y si llega a fallar por completo me quedaría con un decodificador inutilizable, por lo que decidí respaldar la configuración del control remoto usando el Raspberry y el paquete lirc.

Read More

Modo 256 colores para la terminal de Linux Debian

He estado haciendo algunos experimentos con la librería ncurses (pronto habrá más noticias sobre estos experimentos). Mientras experimentaba, noté que algunas de las opciones avanzadas de color de ncurses no estaban disponibles en mi terminal de Linux (LXTerminal). Tras investigar un poco encontré que era necesario que la terminal estuviera en modo de 256 colores mientras que de forma predeterminada LXTerminal estaba en el modo de 8 colores como lo indica el siguiente comando:

monstruosoft@monstruosoft-PC:~$ tput colors
8

Buscando cómo activar el modo de 256 colores, visité varias páginas, todas indicaban que las terminales de Linux en general soportan modo de 256 pero también todas las páginas eran crípticas al respecto de cómo activar ese modo, eso sin mencionar que ningún resultado era específico para Debian.

Era obvio que la solución requería asignar a la variable de entorno TERM el valor xterm-256color. Al final la solución resultó ser justamente esa a pesar de lo crípticas que pudieran resultar las instrucciones en internet que, supongo, se refieren al procedimiento para que al abrir una ventana de terminal ésta inicie en modo de 256 colores. En mi caso, iniciar la terminal en modo de 8 colores y después cambiarme a modo de 256 colores era perfectamente válido.

monstruosoft@monstruosoft-PC:~$ tput colors
8
monstruosoft@monstruosoft-PC:~$ echo $TERM
xterm
monstruosoft@monstruosoft-PC:~$ export TERM=xterm-256color
monstruosoft@monstruosoft-PC:~$ echo $TERM
xterm-256color
monstruosoft@monstruosoft-PC:~$ tput colors
256

Estas simples instrucciones son suficientes para poner la terminal en modo de 256 colores y permite utilizar las opciones de personalización de color de ncurses.

[Nota:] Algunas aplicaciones pueden aprovechar las capacidades de la terminal y usar 256 sin necesidad de hacer el procedimiento anterior pero al menos para ncurses es necesario para poder usar algunas de las opciones avanzadas de color.

Escritorio remoto Linux-Windows

Para hacer la prueba de conectarme con una PC con Windows tenía disponible una vieja PC con Windows XP SP2 pero los pasos deberían ser básicamente los mismos en versiones más recientes de Windows. Antes de continuar es necesario configurar primero la PC con Windows XP para que permita el escritorio remoto. Para hacerlo hay que llevar a cabo algunos pasos:

Read More

Escritorio remoto Linux-Linux

En Linux las conexiones de escritorio remoto usan VNC (Virtual Network Computing) que viene instalado de forma predeterminada prácticamente en todas las distros de Linux, por lo que habilitar la opción de escritorio remoto es tan sencillo como verificar que el servidor de escritorio remoto vncserver esté activado en la PC a la que te quieres conectar remotamente y tener instalado un cliente VNC en la PC que usarás para conectarte al escritorio remoto.

Read More

Desaventuras en la tierra de Linux, parte 8

Hace poco instalé una nueva impresora en mi PC, se trata de una impresora HP LaserJet Pro M402n. Sin imaginarlo, tratar de instalarla revelaría nuevo material para escribir un post más en esta serie de Desaventuras en la que escribo acerca de todos esos detalles que hacen que Linux no sea aún apto para usuarios comunes y corrientes. Por lo regular, es perfectamente comprensible que Linux tenga sus detalles siendo un esfuerzo de colaboración open source realizado por miles de voluntarios dispersos por todo el mundo. Pero a veces me topo con algunos detalles que, desde mi punto de vista, son imperdonables, esos son el tipo de detalles que alimentan esta serie de posts.

Read More

Programar tareas con anacron

Linux cuenta con la utilidad cron para programar tareas. cron puede usarse incluso por usuarios normales (no administradores) mediante el comando crontab. Sin embargo, las tareas programadas con cron requieren que la PC esté encendida las 24 horas, es decir, si una tarea está programada para ejecutarse a las 12:00 a.m. pero la PC no está encendida en ese momento, entonces la tarea no se ejecutará. Para este tipo de casos existe anacron, un comando de Linux que permite programar tareas que se ejecutarán cuando sea posible mientras la PC esté encendida y no necesariamente a una hora específica. Es decir, anacron no funciona para tareas que deben ejecutarse a una hora exacta (para eso debe usarse cron), sino para tareas que deben ejecutarse diariamente, semanalmente o mensualmente independientemente del tiempo que pase encendida la PC (anacron ejecutará las tareas tan pronto como sea posible cuando detecte que éstas deben ejecutarse).

Por razones obvias, anacron es ideal para PCs de escritorio que no están encendidas las 24 horas. Sin embargo, a diferencia de cron, la configuración predeterminada de anacron no puede ser modificada por usuarios normales. Si puedes modificar la configuración como root, entonces no hay mayor problema y puedes usar el archivo predeterminado de anacron localizado en /etc/anacrontab (aunque debes notar que las tareas programadas se ejecutarán también como root). Para usuarios normales también es posible configurar anacron siguiendo algunos pasos descritos a continuación.

Read More

Operaciones aritméticas en la línea de comandos de Linux

Es posible hacer operaciones aritméticas sencillas usando la línea de comandos de Linux que permite hacer operaciones con números enteros usando la forma $((expresión)), como se muestra a continuación:

monstruosoft@monstruosoft-PC:~$ echo $((320 * 240))
76800
monstruosoft@monstruosoft-PC:~$ echo $((320 * 200))
64000
monstruosoft@monstruosoft-PC:~$ MINUTOS=$((60 * 24 * 365))
monstruosoft@monstruosoft-PC:~$ echo $MINUTOS
525600
monstruosoft@monstruosoft-PC:~$ SEGUNDOS=$(($MINUTOS * 60))
monstruosoft@monstruosoft-PC:~$ echo $SEGUNDOS
31536000

Las operaciones de punto flotante no se pueden realizar de esta manera pero pueden hacerse usando el comando bc de la siguiente manera:

monstruosoft@monstruosoft-PC:~$ echo '164.78 * 52.93' 
164.78 * 52.93
monstruosoft@monstruosoft-PC:~$ echo '164.78 * 52.93' | bc
8721.80

Este tipo de instrucciones pueden ser útiles cuando necesitamos hacer operaciones aritméticas en la línea de comandos. Por ejemplo, si tenemos un video y hemos anotado el timestamp del cuadro inicial y final de una escena que queremos recortar, podemos hacerlo con FFmpeg pero los argumentos para recortar un video son el punto de inicio -ss, y la duración a partir de ese punto -t. En este caso podemos usar alguna de las formas descritas anteriormente para hacer operaciones aritméticas para calcular la duración, por ejemplo, de la siguiente manera:

monstruosoft@monstruosoft-PC:~$ INICIO=456.81
monstruosoft@monstruosoft-PC:~$ FIN=1776.39
monstruosoft@monstruosoft-PC:~$ DURACION=$(echo "$FIN - $INICIO" | bc)
monstruosoft@monstruosoft-PC:~$ echo $DURACION
1319.58
monstruosoft@monstruosoft-PC:~$ ffmpeg -i mi_video.avi -ss $INICIO -t $DURACION escena.mp4

Sumas, restas y multiplicaciones son sólo algunas de las operaciones que se pueden realizar con el comando bc. Para más detalles puedes revisar la documentación.