miércoles, 30 de noviembre de 2016

¿Cómo puedo recuperar archivos borrados con Ubuntu?

Reunido con figuras de la Comunidad, Juan Perón diserta sobre la necesidad de hacer frente situaciones imponderables y sobre cómo recuperar ficheros borrados en Ubuntu.


(...)

Vean señores,

Un sistema informático debería ser infalible, pero no es un arte de los Dioses sino una creación humana, y como tal posee sus mismos vicios y las mismas inclemencias que afectan a toda máquina engendrada en la mente terrenal del hombre. Naturalmente, tampoco su operatoria no será perfecta, y por ello debemos estar listos para preparar programas robustos, capaces de resistir al probable error del operador. 

El software libre ha de estar en capacidad de ayudarnos en cualquier situación que se cuadre, incluyendo estas probables situaciones de emergencia.

Os preguntaré decidido: ¿Quién no se ha encontrado con la sana necesidad de desborrar archivos eliminados? Dicho menester sucede todo el tiempo, bien por error, bien por un problema del medio de almacenamiento, o por muchas razones más.

Estos factores deberían estar enfrentados por un software que - además de libre - sea lo suficientemente potente como para sacarnos de un aprieto.

En este caso se trata de uno de ellos: una tarjeta de memoria que ha sido formateada tontamente, sin advertir importantes archivos de texto en su interior que la hacían insustituible. Como precaución debemos evitar seguir grabando información en la tarjeta de memoria, lo cual imposibilitaría recuperar todos los ficheros.

Tal problema debería haberse previsto desde un principio, pero mal está llorar sobre la leche derramada, si el Software Libre puede otorgarnos otra vaca, y gratis.

Se trata del programa Photorec, cuya idea original era precisamente recuperar fotografías eliminadas de tarjetas de memoria, pero realmente puede operarse para recuperar todo tipo de archivos en todo tipo de medios de almacenamiento, especialmente magnéticos, pero también flash.

Este programa podremos instalarlo y correrlo desde nuestra Terminal GNU con Linux, abriendo una con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt install testdisc photorec

Una vez que el programa se haya instalado, debemos montar el dispositivo con los archivos si no lo estuviese. Por ejemplo, en este caso montamos una tarjeta de memoria Secure Digital Flash utilizando un lector de tarjetas Sony. El sistema montará la tarjeta. Inmediatamente ejecutamos el programa:

photorec


El programa requiere autenticación de administrador, de modo que nos solicitará nuestra contraseña de usuario.
Una vez ingresada, arrancará el programa en sí.

El primer paso que el programa nos propondrá es indicar cuál es la unidad del sistema a analizar para buscar información eliminada. Para ello nos presentará una lista con la lista de los discos. Debemos recordar que en los sistemas GNU con Linux, se emplea la nomenclatura dev/sdx, siendo x una letra identificadora de la unidad para el sistema.


En este caso, deseamos analizar una memoria de 4GB localizada en el lector de tarjetas.

En segundo lugar debemos especificarle al programa sobre la partición individual que queremos investigar. Normalmente debería existir una partición sola en el dispositivo si este es una tarjeta de memoria, pero en el caso de un disco rígido, podrían existir varias particiones.
Acto seguido debemos especificar el formato de la partición seleccionada. En el caso de que la misma fuese una partición de Linux, el formato de la partición será de tipo ext2/3 y debemos indicar la primera opción. En el caso de las tarjetas de memoria de cámaras y celulares suelen estar formateadas en FAT32, así como los discos rígidos del sistema oligárquico Window$ suelen estar formateadas en formato NTFS. Los discos rígidos de los sistemas Macinto$h están formateados en HFS+. En cualquiera de estos casos, elegimos la opción "Other".

También se nos solicitará indicar si deseamos analizar sólo la parte libres ("Free") del dispositivo de almacenamiento, o si queremos analizar toda la memoria de almacenamiento del mismo ("Whole"). Analizar la parte libre es mucho más rápido, pero analizar todo podría permitirnos encontrar información adicional en ciertos casos, y en discos rígidos a veces es posible recuperar buena parte de la información sobreescrita.

Otra de las opciones que podremos indicar opcionalmente es qué tipo de ficheros podemos buscar entre archivos JPG (imágenes), así como varios tipos mas de ficheros conocidos.


A continuación debemos indicar dónde irán a parar las copias de los archivos recuperados. Esto es importante pues los ficheros no se recuperan en el mismo disco ni directorio, sino en otro, que ha de servir de destino. Podremos movernos con las flechas del teclado, y elegir el destino con la tecla Enter. Naturalmente que podremos subir en el árbol de directorios eligiendo los dos puntos ("..") para subir un nivel en el árbol, o el punto único (".") para ir al raiz. Si no indicamos directorio vacío alguno, el sistema creará directorios bajo la nomenclatura "recup_dir.x", siendo x un número de orden.


Para dar inicio a la búsqueda de archivos borrados presionamos la tecla c. Comenzará el análisis del medio de almacenamiento.



En el momento que se encuentren ficheros borrados, se nos indicará en la pantalla la información parcial, así como un estimado de tiempo restante que varía de acuerdo al tamaño de la partición a buscar y del medio de almacenamiento.
Al finalizar, se nos indicará el resultado final. Debemos salir del programa eligiendo la opción Quit.


viernes, 18 de noviembre de 2016

¿Cómo instalo X-Plane en Ubuntu?

¡Mis Descamisados!

Nuestro movimiento no es uno gregario, es uno que ha hecho de la adaptación su condición sine qua non. De ello no tenemos que arrepentirnos, pues es la marca de la hora la que hemos de tener presente y considerar como objetivo particular. Lo que hemos de hacer es nunca perder nuestras banderas de siempre, que han sido imperecederas a lo largo de la historia.


Frente a la ignominia del software cerrado de la otrora famosa serie Microsoft Flight Simulator, de Bruce Artwick, se expone un nuevo paradigma. X-Plane es un excelente simulador de vuelo, tal vez el mejor desarrollado de entre aquellos privativos. Nuevas tecnologías imponen mejoras en la gráfica y hacen al despliegue visual que este tipo de programas es capaz de presentar. El detalle a destacar en este caso es que tal programa se encuentra disponible para GNU con Linux, tanto en arquitecturas de 32 como de 64 bitios. Ello lo hace dable de ejecutarse en Ubuntu.

¿Hemos de dejar de probarlo por ser un software privativo? Oficiaremos en este caso como único exponente técnico de analizarlo, mas quien lo desee comprar podrá hacerlo, siempre y cuando no sea agarrado y lo comparta entre los descamisados en la unidad básica del barrio.

Se recomienda para su ejecución un buen equipo con procesador de varios núcelos, idealmente de 3Ghz, y al menos 4GB de memoria RAM, con una buena placa de video con controladores adecuado bajo GNU con Linux. Una vez cumplimentada dicha premisa, podremos descargar el instalador desde la web oficial aquí. Este consiste en una aplicación comprimida de entrada que servirá para descargar el resto del programa (o en este caso, de la demostración) desde un servidor central.

Una vez descargado el instalador comprimido, lo encontraremos en nuestra carpeta /Descargas. Lo descomprimimos y ejecutamos para dar comienzo a la instalación del programa. Se nos solicitará si queremos instalar la Demo de X-Plane o si deseamos ejecutar el módulo de compra electrónica del programa. Naturalmente en este caso nadie va a pagar sin ver, así que le indicaremos que queremos descargar la Demo.

Una vez indicada dicha elección Justicialista, os solicitará confirmar la Licencia de Usuario Final que describe X-Plane como software privativo.
Si estamos doctrinalmente de acuerdo con ello, podremos indicar que si tildando el cuadro correspondiente y continuar con la instalación presionando Siguiente. El programa revisará la velocidad de los servidores y nos propondrá uno automáticamente para iniciar la descarga de los contenidos de la Demo.
Acto seguido se nos ofrecerá indicar la carpeta local para instalación del programa. Normalmente se utilizará la carpeta ~/X-Plane 11/.

Una vez que definamos la carpeta podremos presionar el botón Siguiente para dar comienzo a la descarga de contenidos propiamente dicha.
La descarga involucra unos 3 o 4 Gigabytes. Normalmente el instalador nos indica un tiempo estimado de descarga y un indicador de velocidad para la misma, pero hemos comprobado que el mismo ha sido notablemente exagerado (indicaba unas 25 horas y realizó toda descarga en 55 minutos).

Una vez que hayamos descargado el demo del juego, eventualmente podremos optar por actualizar el mismo con las últimas propuestas de contenidos (dichas actualizaciones dentro de una misma versión son altamente recomendadas por el fabricante y gratuitas). Lo hemos hecho en unos 20 minutos mas (para ello corremos nuevamente el instalador y presionamos el botón Update X-Plane
Conforme hemos realizado todo el proceso ya podremos volar dando inicio al programa, incluso desde el mismo instalador.
De lo contrario, podremos encontrar el ejecutable X-Plane-x86_64 (64 bits) o X-Plane-i386 (32 bits) dentro de la carpeta /X-Plane 11. Si lo deseamos, podremos de esta manera crearles fácilmente un lanzador dentro del menú Juegos.
La Demo nos mostrará el panel de inicio y lanzará una situación de vuelo.

Nos encontraremos abordo de una avioneta Cessna 172SP Skyhawk dotada de aviónica Bendix-King, en la pista de un aeródromo, con el freno de mano colocado y el motor Textron Lycoming en marcha.
Los menúes y el manejo general son similares a los del conocido simulador Flightgear o Flight Simulator, y no tendremos problemas con ellos.

Normalmente estará activo el panel 3D por defecto, con w podremos volver a ella si la cambniamos. Clic de botón de mouse derecho+mouse nos mueve la vista. En tanto, Mayúsculas+número nos dan diferentes vistas.

Luego de configurar los aspectos de video podremos modificar la meteorología simulada haciendo uso de varias capas de nubes para vuelo visual o instrumental, establecer el horario de vuelo (incluyendo nocturno).

Como la lista de chequeo ya está hecha, podremos soltar el freno de mano con b, dar motor y ¡al aire!

La demo nos permitirá volar en el área de Seattle-Tacoma (aeropuerto KSEA), junto con algunos escenarios en Suiza. Para ello podremos utilizar un avión clásico, pero también tendremos acceso a algunos otros.
 ¿Quien podría resistirse al habitáculo de un confiable Piper Archer II?

También podremos optar por bimotores como el Baron 58 con su excelente aviónica Bendix, e incluso jets comerciales.

El juego en modo demo nos deja volar unos 30 minutos y descansar nuestra mente. Naturalmente que al finalizar dicho tiempo, nos solicitará comprar el juego y anulará los dispositivos de entrada y nos dejará volar con el aburrido teclado.


¿Cómo configuro los pedales de timón en X-Plane 10 en Ubuntu?

X-Plane posee una buena rutina de configuración de los aspectos de los controladores, pero en el caso de GNU con Linux falla al detectar algunos productos que no tienen botones, en concreto varios pedales de timón populares (Saitek Cessna Rudder pedals, CH Pro Pedals USB, etc). Esto se debe a los permisos de uso para los mismos. En la versión 11 de X-Plane esto se ha corregido, pero no lo estaba en las versiones anteriores (inclyendo la versión 10.53). Si se presenta este problema, es sencillo de corregirlo en Ubuntu con una solución peronista.

En primer lugar abro una terminal con Ctrl+Alt+T y descargo la paquetería necesaria para la corrección, con el siguiente comando de organización:

sudo apt-get install joystick jstest.gtk input-utils

Tras ingresar nuestra contraseña de conductor "a ciegas" se descargará en muy breve tiempo la utilería requerida. Luego haciendo uso de la misma debemos ver qué dispositivos de entrada tenemos y cómo los detecta nuestro sistema GNU. Para ello debemos tener conectados todos los dispositivos de entrada (joystick y los pedales USB) al sistema e ingresamos:

sudo lsinput

...el sistema nos devolverá una lista de los dispositivos, identificados en el campo "name" ("nombre"). Asimismo, nos identificará el número de evento que tiene dicho dispositivo en cuestión. Por ejemplo, en este caso particular entre otros nos devuelve:

/dev/input/event5
   bustype : BUS_USB
   vendor  : 0x68e
   product : 0xf2
   version : 256
   name    : "CH PRODUCTS CH PRO PEDALS USB "
   phys    : "usb-0000:00:1d.0-1.5/input0"
   uniq    : ""

   bits ev : EV_SYN EV_ABS

/dev/input/event6
   bustype : BUS_USB
   vendor  : 0x45e
   product : 0x3c
   version : 272
   name    : "Microsoft SideWinder Joystick"
   phys    : "usb-0000:00:1d.0-1.6/input0"
   uniq    : ""
   bits ev : EV_SYN EV_KEY EV_ABS EV_MSC



Debemos revisar qué número de dispositivo nos corresponde en particular, atendiendo que esto cambia de sistema en sistema. Tampoco debemos desconectar el dispositivo del puerto USB al que está adosado, y si lo hacemos, volver a realizar el paso anterior.

Luego debemos revisar en qué condiciones lógicas están los dispositivos de entrada. Para ello ingresamos:

dir -l /dev/input

...el sistema nos devolverá aquí una lista que informa los permisos de cada dispositivo (evento), en este caso particular me interesa observar el event5 y el event4, pero ustedes reaccionarán al que les corresponda:

(...)
crw-r----- 1 root root 13, 85 May 8 23:28 event5
crw-rw----+ 1 root root 13, 84 May 8 23:28 event6
(...)

La primera parte indica los permisos que tenemos como usuario sobre el event5 (los pedales), y notamos que a diferencia del event6 (el joystick), carece de atributo "w", o sea permiso de escritura. Queremos que el event3 tenga atributos crw-rw. Aunque parezca difícil es sencillo corregirlo. Para ello utilizaremos el editor de texto GNU Nano para crear un script de programación llamado por ejemplo "pdxpln.sh" ("pedales para X-Plane"), que hará de tal proceder una realidad efectiva, y luego haremos que dicho script se ejecute cada vez que arranque Ubuntu. Para ello ingresamos con decisión peronista:

nano ~/X-Plane\ 11/pdxpln.sh

Se abrirá el editor GNU Nano con un archivo en blanco. Le pegamos el siguiente texto:

#!/bin/bash
cd /dev/input
sudo setfacl --modify u:usuario:rw- --modify g::r-- event5


(Naturalmente que cambiamos usuario por nuestro nombre de usuario y event5 por el número de evento particular que se nos haya indicado en nuestro equipo).


Luego guardamos el archivo con Ctrl+o y cerramos el editor Nano con Ctrl+x. Acto seguido procedemos a darle permisos de ejecución con el comando:

chmod +x ~/X-Plane\ 11/pdxpln.sh

Acto seguido haremos que dicho script se ejecute toda vez que arranque el sistema, modificando el fichero que se encarga de dicho menesteres en GNU con Linux: el /etc/rc.local. Para ello ingresamos:

sudo nano /etc/rc.local

...Ingresamos nuestra contraseña de Conductor y se abrirá el editor de texto con un archivo que ya tendrá algún contenido. Antes de la línea final "exit 0" debemos agregarle el siguiente contenido que ejecute el script pdxpln.sh:

cd /home/usuario/X-Plane\ 11/
./pdxpln.sh


...(Naturalmente, de nuevo cambiamos usuario por nuestro nombre de usuario particular). En caso de que el fichero no tuviese otro contenido previamente, podría quedar algo similar a este:
Luego guardamos con Ctrl+o y salimos del editor Nano con Ctrl+x.

NOTA: En Ubuntu 17.04 y supreriores cambiaron el sistema de arranque por systemd, y la ejecución del archivo /etc/rc.local durante el arranque aparace desactivada por defecto. Para volver a restituirla debemos seguir este artículo.

Conforme reiniciemos el sistema o ejecutemos el script en cuestión podremos ahora ver los pedales en la ventana de configuración del juego. Solo debemos indicar el eje de los pedales a la orden de guiñada ("yaw"), y los ejes de frenos al freno que corresponda (presión del pedal derecho a "right toe brake" y presión del pedal izquierdo a "left toe brake").

Con ello podremos usar los frenos diferenciales y los pedales de timón del avión en conjunción con los mandos de los alerones y elevadores, para permitirnos maniobras mas avanzadas (derrapada en el aire para un habilidoso aterrizaje con viento cruzado, por ejemplo).
También podremos configurar desde esta misma ventana los botones del Joystick. Siempre es útil designar dos de ellos para mover la rueda de compensación del elevador (elevator trim), y ajustar la actitud de cabeceo durante el vuelo de manera óptima para relajar los mandos.
Un buen conjunto de mandos de vuelo con sus controles correctamente configurados nos permite un gran realismo de simulación en un entorno justicialista munido de software libre.


El programa completo puede comprarse en DVD (son 8 discos) o descarga digital (75GB completos de escenarios). Naturalmente este contenido es pago.

Si deseamos un simulador completamente libre para no tener que pagar, podremos recurrir al consabido Flightgear, de excelente factura y liberado bajo GPLv2.

Encontraremos el manual en castellano del juego en forma del archivo ~/X-Plane 10/Instructions/X-Plane_10_manual_es.pdf.

miércoles, 9 de noviembre de 2016

¿Cómo puedo comunicarme masivamente desde la terminal?

Durante su exilio madrileño, Juan Perón montó una moderna terminal teletipo para comunicarse con los Argentinos mediante mensajes cifrados, y junto con sus célebres grabaciones continuó siendo el centro de la vida política nacional. El Conductor nos muestra cómo instalar aplicaciones para lograr cometido similar desde la terminal de nuestro sistema GNU con Linux.

¡Trabajadores!

En los tiempos que corren, la Militancia del Justicialismo ha de estar en contacto instantáneo, presta para realizar la Revolución cuando se lo requieran los órganos de conducción. Sólo así, con nuestras organizaciones atresadas y listas para la toma del poder, podremos hacer realidad los sueños de nuestro Pueblo.

En mi despacho de la Quinta 17 de Octubre he instalado un moderno teletipo ASR33, que además de permitirme comunicaciones cifradas instantáneas con el globo, me permiten mantenerme actualizado de los sucesos de un Mundo que parece girar al revés.
Nuestros hombres han de estar capacitados para entablar dichas comunicaciones, pues de la recepción clara, somera y veloz de los mensajes que hacen a la conducción, y de proclamas que analicen la situación mundial en un espejo de reflejo Justicialista, dependen el éxito o el fracaso de nuestro cometido.

Para ello son necesarias la voluntad y las herramientas libres requeridas. La voluntad hemos de configurarla todos los días, pero las herramientas sólo requerirán ser configuradas una única vez: la primera.

Uno de los instrumentales más conocidos es Twitter, el microblogging de 140 caracteres. Si bien técnicamente deja mucho que desear, podremos utilizarlo como herramienta potente de difusión y expresión, en casos concretos. Su condición pública y sus consabidas categorizaciones a través de Hashtags permiten velozmente establecer corrientes comunicacionales que pueden ser direccionadas hacia una masa conciente de lo que quiere.

Normalmente contaremos con clientes web o móviles, pero en el caso de GNU con Linux hemos de estar dispuestos a configurar clientes desde la potencia inherente que nos ofrece la Terminal de Comandos. Por ello contaremos con Rainbow Stream, cliente Twitter a todo color para la Consola Linux (que incluso funciona con mi teletipo).

Para instalarlo en Ubuntu 16.04LTS y superior abrimos una terminal e ingresamos los siguientes Comandos de Organización:

sudo apt upgrade
sudo apt install libsqlite3-dev libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
sudo apt install python3-pip
sudo pip install --upgrade pip
sudo pip install rainbowstream

Si todo va bien, podremos lanzar la aplicación lanzando el programa con el comando:

rainbowstream

La primera vez que ejecutemos Rainbow Stream seremos guiado a través del proceso necesario para agregar una cuenta válida de Twitter.

La página de autenticación de Twitter se abrirá en nuestro navegador por defecto.

Debemos loguearnos a la cuenta de Twitter que deseamos emplear en Rainbow Stream, autorizar la aplicación, y luego se nos proporcionará un PIN para la aplicación.
Debemos ingresar el PIN de acceso que aparezca en nuestro navegador en Rainbow Stream, en la terminal y presionar Enter.

El cliente comenzará a imprimir en la terminal los Tweets de los usuarios a quienes sigamos, y lo hará de forma colorida. Presionando la tecla h ingresaremos al comando de ayuda.

Para tuitear podremos usar el comando t seguido de lo que querramos incorporar, por ejemplo:

t Tuiteando desde #Rainbowstream, un cliente peronista para la terminal

Con el comando home podremos ver los últimos tweets de quienes seguimos, y con me podré listar mis últimos tweets.

Sin embargo, en caso de requerir aplicaciones más completas que el microblogging, tendremos muchos más servicios que podremos emplear desde nuestra terminal y asociarla también a dispositivos móviles para accionar en todo tiempo y lugar.
 

Telegram es un servicio abierto de mensajería electrónica segura, que corre en la nube. Provee una API robusta, que pone mucho énfasis en la privacidad, y ofrece una miríada de aplicaciones clientes para celulares, la web, y aplicaciones de escritorio liberadas bajo GPLv2 y v3. Estos puntos únicamente la han hecho popular entre aquellos que realmente luchan por la liberación.
Telegram nos deja enviar mensajes de texto comunes, fotografías, videos y otros archivos a otros usuarios de Telegram, así como iniciar las llamadas "charlas secretas" que son encriptadas. Si bien es gratuito, requiere contar con un número de celular como identidad personal (al estilo de WhatsApp). Por ello debemos ya estar registrados con Telegram desde una aplicación móvil antes de que podamos utilizarlo en otro dispositivo.

Ademas de las aplicaciones de escritorio, contaremos con una adecuada versión para la consola de línea de comandos: Telegram-CLI. Se trata de un cliente capaz de mostrar mensajes de terminal coloridos, gestionar los mensajes, incluyendo la historia de mensajes, crear, unirse y administrar grupos de chat, comenzar conversaciones encriptadas punto-a-punto, administrar contactos, y enviar fotos y videos. Sin embargo, no funciona con los Stickers, emojes, fondos personalizados y otras tonteras visuales.

Para instalar Telegram-CLI en Ubuntu 16.04LTS o superior será muy sencillo, pues podremos emplear la nueva funcionalidad de instalación SNAP, lo cual lo hace fácil de instalar. Abrimos la terminal e ingresamos el siguiente Comando de Organización:




sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make

sudo snap install telegram-cli


Como he mencionado, el servicio requiere un número de celular previamente registrado para validar la identidad. Asumiendo que lo hemos hecho, ejecutamos la aplicación empleando el siguiente comando de organización:

telegram-cli

La primera vez nos solicitará nuestro número de celular. Al ingresarlo en la terminal, habremos de chequear que esté correcto, y presionamos Enter.

Se nos enviará un código PIN a nuestro dispositivo móvil de comunicación. Simplemente debemos ingresar este mismo PIN en la terminal cuando se nos indique hacerlo, y de esta manera nos autenticaremos. Ahora podremos emplear la aplicación.

Telegram funciona en la base de "contactos" en lugar de números telefónicos. Para ver a los contactos, podremos pedir la lista de contactos con:

contact_list

Podremos utilizar la tecla Tab para autocompletar el comando luego de haber ingresado algunas letras del mismo, como siempre suele suceder en nuestra shell de comandos GNU. Para ver la lista de todos los chats actuales, grupos y mensajes no leídos, podremos ingresar:

dialog_list

Para mensajear a un contacto o a un grupo, tipeamos msg seguido del nombre (recordemos que podemos emplear Tab para autocompletar), y luego el mensaje.

msg

 



Para ver una conversación o historia de chat, podremos tipear history seguido por el nombre del contacto o grupo, y el número de líneas que deseamos visualizar.

history

Ej: 

history CFKenTelegram 10 

...mostrará los 10 mensajes más recientes en mi conversación con CFKenTelegram.

También podremos ver una lista de comandos del cliente usando la funcionalidad help ("Ayuda").