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

En corto No.4 – Tips de CMake

CMake incluye opciones predefinidas para habilitar/deshabilitar la información de depuración, de forma que no tienes que escribir estas reglas manualmente. Simplemente tienes que pasar al comando cmake la opción -DCMAKE_BUILD_TYPE con el valor de tu elección. Los posibles valores son Release, Debug, RelWithDebInfo, MinSizeRel. Por ejemplo:

monstruosoft@monstruosoft-PC:~$ cmake .. -DCMAKE_BUILD_TYPE=Debug

 

En corto No. 3 – Tips de NetBeans

Hay varias opciones si quieres agregar un identificador de versión automáticamente a tus programas de NetBeans pero la más sencilla de implementar es abrir el archivo build.xml en el directorio base de tu proyecto y editarlo de la siguiente siguiente manera:

...
  <tstamp>
    <format property="NOW" pattern="yyyy-MM-dd HH:mm:ss z" />
  </tstamp>
  <manifest file="manifest.mf">
    <attribute name="Implementation-Version" value="${NOW}"/>
  </manifest>

</project>

Esto pondrá un valor con la fecha de compilación en el archivo manifest.mf usado para crear el .jar de tu aplicación. Dentro de tu código puedes obtener ese valor con la siguiente instrucción:

String version = MiClase.class.getPackage().getImplementationVersion();
Fuentes:
http://www.javaxt.com/Tutorials/Netbeans/How_to_Add_Version_Information_to_a_Jar_File_with_Netbeans
https://stackoverflow.com/questions/5204297/put-version-to-my-java-application-netbeans

Usar los métodos del paquete java.util.logging puede ser útil para imprimir información de depuración que no quieres imprimir en la versión final de tu aplicación (definitivamente es una mejor opción que usar System.out.println()). Al igual que con el número de versión, hay varias formas de configurar el nivel de información de depuración que quieres imprimir pero una de las más sencillas es copiar el archivo de ejemplo logging.properties de ruta-de-instalación-del-JDK/jre/lib/logging.properties al directorio de tu proyecto y modificarlo para definir el nivel de información a imprimir por el logger que uses en tu código:

...
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
...
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
# OFF - Deshabilita todos los mensajes
# ALL - Imprime todos los mensajes
# Nombre de nivel - limita los mensajes a ese nivel y superiores
nombre.logger = OFF

Una vez creado/modificado este archivo, sólo tienes que pasarlo como argumento al iniciar tu aplicación:

monstruosoft@monstruosoft-PC:~/ java -Djava.util.logging.config.file=ruta-del-archivo-logging.properties MiClase
Fuente:
https://stackoverflow.com/questions/6307648/change-global-setting-for-logger-instances/6307666#6307666

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

Compartir Wi-Fi con el Raspberry Pi

Compartir la conexión a internet Wi-Fi de nuestra PC con el Raspberry Pi es sencillo si has seguido este blog ya que básicamente requiere los mismos pasos que en el post sobre compartir Wi-Fi con un contenedor LXC. Aquí repetiré los pasos para el Raspberry usando la conexión DHCP que ya hemos preparado en el post anterior.

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