13 de noviembre de 2016

Preparar USB de arrance con presistencia y hacerle decenas de clones

Los USB de arranque pueden ser muy útiles, y mucho más si tienen persistencia, porque los podemos preparar con aquellos programas que vamos a necesitar, y configurar justo del modo en que queramos. Por supuesto, nos ahorrarán mucho tiempo con cualquier equipo con el que tengamos que trabajar y en principio con cuente con las herramientas que queremos emplear, o simplemente no queremos modificar en absoluto.

Hasta hace poco conseguir un Live USB desde un Ubuntu, con esas características y que fuera de un tamaño considerable, más de 4 GB u 8 GB o más, podía ser complicado. Y más aún si lo que necesitabas era un buen puñado de ellos.

Pues bien, voy a explicar cómo conseguirlo y poder hacerlos de cualquier tamaño sin problema, y también como clonarlos varios a la vez.

mkusb

La herramienta adecuada para conseguir unos buenos USB con persistencia del tamaño que queramos, sin duda se trata de mkusb.

Para instalarla los comandos son los siguientes:

sudo add-apt-repository universe
sudo add-apt-repository ppa:mkusb/ppa
sudo apt-get update
sudo apt-get install mkusb mkusb-nox usb-pack-efi

Una vez instalada la abrimos, y en nuestro caso, vamos a usar un pen drive de 8GB para ponerle un Lubuntu con persistencia. Evidentemente puede ser cualquier otra cosa, pero en este artículo voy a tomar ese ejemplo.


Inicialmente nos pide la contraseña de administrador, lo que es normal porque va a gestionar las particiones del USB entre otras cosas. Y nos advierte de que va a usar la totalidad del dispositivo objetivo, vamos que lo va a formatear seguro y que será mejor que revises bien que no haya nada en el pen drive que no quieras perder.

El siguiente menú funciona bastante diferente de la mayoría de aplicaciones hoy día, pero no es complicado.


Se trata de una serie de líneas, de las que nos interesan principalmente las tres primeras, y que se activan al hacer doble click sobre ellas. Por ejemplo, para elegir el archivo ISO que queremos usar como base para el USB, haremos doble click sobre la línea "Select source". Tras lo que podremos indicar la ubicación donde tengamos descargado el ISO de Lubuntu en este caso.

Lo siguiente será hacer doble click sobre la línea que inicialmente pone "Live only" para que cambie a "Persistent live" que es justo lo que buscamos.

Lo siguiente es comprobar que la primera línea está con la opción "Install" y le hacemos a esa línea doble click. Nos saldrá una ventana indicando las posibles opciones, donde nos tenemos que fijar bien en el nombre. En mi caso el USB se encuentra como /dev/sdb.


Este menú es de confirmación, hacemos doble click en la primera línea en la que se aprecia que vamos a instalar en /dev/sdb.

Veremos la última ventana de confirmación indicándonos que no va a haber vuelta atrás. En ella hay que marcar la casilla de confirmación y pulsar "Go"

Sólo queda decidir el tipo de arranque que queremos, en mi caso hago doble click sobre la línea de "MSDOS", porque quiero que el arranque sea compatible con ordenadores realmente viejos y poco actualizados.

Por último, nos consultará qué porcentaje dedicamos a persistencia, aconsejo poner 95 porque es con lo que no me ha dado ningún problema.

Tras todo esto y de forma automática se crearán una serie de particiones para facilitar el arranque y la persistencia y se instalará el archivo ISO especificado.

Comprobamos y modificamos el USB con persistencia


Cuando termina el proceso de creación del USB lo siguiente es sencillamente arrancar con él para probar que efectivamente está todo bien. Podemos aprovechar para una vez arrancamos desde el pen drive poner el sistema en español, cambiar la configuración del teclado e instalar aquellos programas que queremos tener disponibles. Incluso podemos actualizar el sistema.

Todos los cambios que hagamos, si todo ha salido bien y hemos arrancado en modo de persistencia, se quedarán guardados e incluso apagando y arrancando desde otro equipo, los cambios seguirán siendo efectivos.

Clonado


Si nuestro USB con persistencia está listo y queremos obtener unas cuantas copias del mismo lo siguiente será clonarlo. Para ello debemos asegurarnos de que las unidades en las que se vaya a clonar sean del mismo tamaño o mayores que la original.


Si como en mi caso queremos hacer realmente muchas copias, lo ideal es hacer primero una imagen del USB original. Se puede hacer fácilmente con el comando dd. Si nuestro USB sigue en /dev/sdb podríamos hacerlo así:

sudo dd if=/dev/sdb of=mayores.bin status=progress

Y nos creará el archivo imagen en nuestra carpeta de inicio. Tras lo cual podemos sustituir el USB por los USB's que van a recibir el clonado. En mi caso uso los 3 puertos libres de mi portátil y abro tres terminales desde las que hacer el clonado de forma simultánea como se aprecia en la imagen. El comando dd nos volverá a ser útil, fijándonos bien en poner cada destino correctamente. Nos puede ser útil el comando lsscsi.

sudo dd if=mayores.bin of=/dev/sdb status=progress


29 de septiembre de 2016

Ubuntu de 32 bits en Lenovo ideapad 100S 11IBY

Recientemente he instalado Ubuntu 16.04 de 32 bits en un Lenovo ideapad 100S de 11 pulgadas. Como me he encontrado varias dificultades, voy a resumir aquí cómo las he resuelto.

Creando una segunda partición


No cuenta con mucha capacidad de almacenamiento, pero aún así decidí crear una segunda partición para Ubuntu. Me encontré con que no podía modificar la partición original debido a que la unidad venía pre-cifrada con BitLocker. Por lo que, lo que hay que hacer es desactivar dicho cifrado, en el Panel de Control de Windows.

Accediendo a la UEFI



Uno de los problemas era la UEFI de este dispositivo, se puede acceder a ella durante el arranque con la combinación de teclas Fn+F2, acceder al menú de arranque con Fn+F12, y también dispone de un pequeño botón al lado del de arranque, y con aspecto de reset, que permite acceder a su configuración UEFI.

Lenovo ideapad 100S 11IBY


En dicha configuración lo principal que nos permite hacer es desactivar el Secure Boot. También desde ahí, particularmente desactivé las teclas rápidas para no tener que hacer combinaciones y poder marcar directamente las teclas de función.

Tras todo ello mis USB's de arranque habituales no me los reconocía, ello es porque en este caso, ¡sólo reconoce el arranque desde 32-bit UEFI! Así que antes de nada, hay que implementar en el USB de Ubuntu este sistema que no trae por defecto.

Comentario: Tanto el sistema de arranque que tiene este Lenovo, como el sistema Windows instalados de fábrica son de 32 bits, pero su procesador es compatible con 64 bits, por lo que se podría instalar un Ubuntu de 64 bits, sin embargo Grub depende del sistema y no nos permitiría arrancar con 32-bit UEFI.

Aún así creo que sería posible modificando el grub a 32 bits, pero no lo he probado:

sudo apt-get update
sudo apt-get install grub-efi-ia32
sudo update-grub2


Implementando 32-bit UEFI


Como en este caso partimos de un USB Live de Ubuntu de 32 bits, hay que añadir los arranques UEFI de 32 y 64 bits. Ello lo conseguimos obteniéndolo de la ISO de otra distribución que lo trae. En mi caso concreto usé debian-8.6.0-amd64-i386-netinst.iso para el arranque de 32 bits, y el de Ubuntu de 64 bits para el arranque UEFI de 64 bits.

Una vez descargamos los archivos, lo podemos abrir con el Gestor de archivadores. Ya que el formato .iso se trata de un tipo archivo sin compresión para empaquetar otros archivos. De todos sus archivos nos interesa extraer las carpetas boot y efi respectivamente.

Partimos entonces de tres ISO's: Ubuntu de 32 bits, Ubuntu de 64 bits y Debian de 32 bits. El Ubuntu de 32 bits lo usaremos para crear el USB de arranque con UNetbootin,  en un USB formateado con FAT32.

De la ISO del Ubuntu de 64 bits deberemos extraer las carpetas boot y EFI combinando y sobreescribiendo en el USB de arranque.

De la carpeta de Debian /efi/boot/ tomamos el archivo bootia32.efi y lo copiamos en nuestro USB de arranque en la carpeta /EFI/BOOT/ correspondiente.

Y de la carpeta /boot/grub/ de Debian copiamos la carpeta entera i386-efi y la copiamos en el USB de arranque en su propia carpeta /boot/grub/

Por último debemos cambiar el nombre del fichero que está en el USB de arranque /casper/vmlinuz añadiéndole la extensión para que se quede con el nombre de vmlinuz.efi

Hecho esto, nos reconocerá el nuevo arranque UEFI y se podrá instalar.

Arreglando el WiFi


Hay otro problema añadido y es que el WiFi interno del sistema no se reconoce ni instala. Para solventarlo, hay que hacer uso de algún USB WiFi que nos dé conexión a Internet temporalmente para instalar los drivers.

Los pasos para instalar los drivers son los siguientes:

sudo apt install build-essential linux-headers-generic git
git clone https://github.com/hadess/rtl8723bs.git
cd rtl8723bs
make
sudo make install
sudo depmod -a
sudo modprobe r8723bs


Por último reiniciamos, y ya no necesitaremos un USB WiFi porque funcionará el interno. Eso sí, si en alguna actualización deja de funcionar, hay que aplicar de nuevo el driver.

Cuelgues del equipo



Los cuelgues de este equipo, son debidos a que la gestión de energía no está bien implementada, se pueden solucionar actualizando el kernel de un modo u otro, aunque quizás podamos simplemente retrasar los cuelgues con la siguiente solución que no afecta tanto, aunque hará que consuma algo más de batería.

Edita el archivo /etc/default/grub modificando la línea en la que pone

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

por

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1 quiet splash"

luego aplicas los cambios

sudo update-grub

y reinicias.

22 de septiembre de 2016

Instalar Konica Minolta PagePro 1350E en Ubuntu

Konica Minolta PagePro 1350E
En los centros educativos de Andalucía, la impresora Konica Minolta PagePro 1350E es todo un clásico que perdura hasta nuestros días. Y desde luego se le tiene que seguir sacando partido tal como están las cosas, y qué mejor modo que usándola desde un sistema libre como Ubuntu.

En principio parece que no es problemática, si la intentamos añadir en nuestro sistema operativo, la reconoce y de momento nos está ofreciendo el imprimir una página de prueba. Cosa que como comprobaremos inmediatamente no es tan cierta como nos gustaría:

☻┐㊰âƒ☺♦♦,☻▂«☺É↕ ... en una línea, el resto en blanco y así páginas y páginas

Con lo que la única solución que he encontrado, en un foro de centros TIC, nos lleva a un archivo PPD que proporcionó la junta de Andalucía para Guadalinex. En concreto el archivo lo podéis descargar del siguiente enlace:

http:/www.juntadeandalucia.es/educacion/cga/portal/wp-content/uploads/2013/09/KonicaMinolta-PagePro-1350E.ppd_.gz

Y aplicándolo en la configuración de nuestra impresora en lugar del "recomendado" por la base de datos, hará que funcione correctamente por fin.

Por precaución, y como no sé cuanto durará el enlace de la junta voy a copiarlo a continuación tal cual, de forma que si hiciera falta con copiarlo en un archivo y poniéndole su extensión PPD lo tendríamos de nuevo:

https://github.com/jesusabad/KonicaMinolta-PagePro-1350E/blob/master/KonicaMinolta-PagePro-1350E.ppd
Y bueno, como la cosas cuanto más fáciles mejor, pinchando aquí con el botón derecho y eligiendo "Guardar enlace como..." también se descargará directamente.

6 de septiembre de 2016

Restablecer la contraseña en Ubuntu

Últimamente se me han dado varios casos en los que habían olvidado la contraseña de la cuenta de Ubuntu. Principalmente porque habían configurado el sistema para acceder directamente sin que la preguntara al principio. Y claro llegado un momento en que la necesitaron, ya no se acordaban.

La solución más sencilla en estos casos, pasa directamente por forzar una nueva contraseña (y tratar de no olvidarla). Veamos como.

Lo primero es arrancar en el Modo de Recuperación o Recovery Mode, en lugar de dejar que arranque de forma normal.
Accediendo al Recovery Mode

Al hacerlo, nos saldrán varias opciones, entre las que elegiremos la opción root o Consola de superusuario. Que normalmente nos dejará acceder sin contraseña si no se ha establecido para la cuenta de root, y en la instalación normal de Ubuntu suele quedarse así sin definir.

Desde hay es muy sencillo, lo que haremos será montar nuestro disco con permisos de escritura (en este modo se monta como sólo lectura), establecer una nueva contraseña para el usuario deseado, y finalmente Continuar con el arranque normal o resume. Los comandos a introducir primeramente para todo ello, son los siguientes:


mount -o remount,rw /

passwd tu_nombre_usuario

exit


Espero que os sea de utilidad, aunque recordad la importancia de establecer bien las contraseñas, no olvidarlas, y entre otras cosas, establecer también la de root ;)

El terminal de texto deja de verse en Ubuntu

Llevaba ya un tiempo muy contento con el nuevo Ubuntu 16.04, hasta que un día necesité trabajar en el terminal de texto.

Terminal de texto al que esperaba acceder.
Por si no lo sabías, a parte del terminal gráfico, hay otros 6 más de texto: tty1, tty2, ..., tty6. Y para acceder a cada uno de ellos se emplea una combinación de teclas específica: Ctrl+Alt+F1, Ctrl+Alt+F2, ..., Ctrl+Alt+F6. Para volver al terminal gráfico la combinación sencillamente es Ctrl+Alt+F7.

Pues bien, resulta que al intentarlo, en lugar del mensaje típico de acceso pidiendo el login, tan sólo me aparecía el cursor perdido sin más. Tras investigarlo, parece que la causa del problema es la resolución por defecto que trae ahora el terminal de texto, y que supera evidentemente la de mi monitor. Para corregirlo, sencillamente seguí los siguiente pasos.

Abrí un terminal (esta vez virtual) que funciona sin problemas en el modo gráfico, la forma más rápida de hacerlo es con la combinación de teclas Ctrl+Alt+T desde la que modifiqué el grub con los siguientes comandos:

sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
y seguidamente

sudo update-grub

Tras ello, hay que reiniciar por completo, y comprobar como ya se puede acceder a los terminales de texto de forma normal.

24 de abril de 2016

Punto de montaje de Android vía USB MTP

Por lo general, tendemos a hacer las cosas de la forma que nos resulta más fácil, obviamente. Trabajando con Ubuntu, nos acostumbramos a utilizar su interfaz gráfica que es muy consistente, y cada vez es menos común el acudir a la fiable consola. Pero de vez en cuando resulta que nos encontramos con la necesidad de utilizarla, y alguna cosas no están donde acostumbrábamos a verlas. Eso es lo que me pasó recientemente al conectar mi Android por el cable USB con mi portátil.

Aunque muchas veces acudimos a la facilidad de intercambiar archivos desde la nube o de alguna aplicación concreta, una de las opciones más sencilla y directa, es conectar nuestro dispositivo, con su cable USB, directamente en el ordenador.

Transferencia por USB en MTP

Actualmente, los sistemas Ubuntu aceptan sin problemas el protocolo MTP de Microsoft. Y nuestro Nautilus, nos abrirá automáticamente el dispositivo como si se tratara de una unidad de disco externa más. Y sólo nos surgirán dudas si queremos acceder a los archivos a través de la consola.

/dev/

Pues bien, la ruta para acceder es exactamente:

/run/user/$USER/gvfs/mtp:host=%5Busb%3A0xx%2C0xx%5D

Donde $USER será el identificador del usuario que ha montado el dispositivo. Se puede conocer su valor con el siguiente comando:

id u $USER

Y los valores A0xx y C0xx son respectivamente el valor del BUS y del dispositivo Android conectado. Que se pueden conocer con el comando lsusb, por ejemplo:

lsusb | grep Google

De manera que para un usuario con ID 1000 y un dispositivo que corresponda con la respuesta: Bus 003 Device 004: ID 18d1:4ee1 Google Inc. Nexus 4 / 10. Esa dirección quedará así:

/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C004%5D

Eso es todo.

6 de marzo de 2016

Bloquear toda la publicidad en Android sin rootear

Es bastante conocido el programa AdAway para conseguir eliminar la publicidad en los smartphones Android, tanto en la navegación, como en las aplicaciones. Pese a la efectividad del mismo, su uso está limitado por la necesidad de tener el terminal con permisos de root, cosa que a muchos les echa atrás.

Sin embargo existe otra App que consigue resultados semejantes sin necesidad de tener rooteado el teléfono: NetGuard.

NetGuard

NetGuard es una aplicación que originalmente fue pensada para controlar el acceso de las aplicaciones a Internet, de forma individual, bloqueando el acceso a datos o WiFi. Más adelante se le fueron añadiendo más opciones, entre ellas la que puede ser incluso más interesante que la original de bloquear la publicidad.

Pero hay que tener en cuenta algunas consideraciones, para conseguir esto último. Como por ejemplo que la versión de la App en Google Play, tiene capada esta opción, y por tanto hay que instalarla descargando su archivo .apk de su fuente original en GitHub:


En el momento de escribir este artículo la última versión es la 2.4, que es la que aconsejo descargar. Una vez descargada en el móvil tan sólo hay que ejecutar el archivo, y como cualquier programa de instalación fuera de Google Play, requerirá que activemos los permisos de aceptar aplicaciones de Origenes desconocidos en el apartado de Seguridad de nuestros Ajustes.


Orígenes desconocidos


Una vez instalemos NetGuard, se puede desactivar dicha opción si se desea mantener el grado de seguridad.

Abriremos y activaremos la nueva App, que necesitará activar un servicio virtual de VPN para controlar nuestras conexiones sin la necesidad de rootear el teléfono, con lo que aceptamos. Ahora podemos hacer uso de las funciones básicas de la aplicación para gestionar a qué aplicaciones queremos restringir el acceso a Internet, pero nos centraremos en el propósito de filtrar la publicidad.

Para ello, debemos ir a las Características Pro y comprar por lo menos la de Filtrar tráfico de red, lo que actualmente suponen 6,05€.



Una vez activada esta característica, tan sólo quedan un par de pasos más, que son irnos a Ajustes y en el apartado de Opciones avanzadas activar la nueva característica de Filtrar tráfico. Y segundo, bajar hasta el apartado de Copia de seguridad y darle a Descargar archivo host. A partir de ahí ya tendremos un bloqueo global de la publicidad en nuestro Android.

5 de enero de 2016

Cómo agregar radares correctamente en OpenStreetMap

Una de las opciones que nos gustan en los navegadores GPS es la del aviso de radares. Osmand, la aplicación GPS que comenté en otro artículo, tiene esta opción, pero en muchos casos no nos avisa de ellos. Aunque la mayoría de los radares sí están introducidos en OpenStreetMap, que es de la que saca los datos la aplicación, estos no están introducidos correctamente. Y no es extraño, porque la forma correcta de añadirlos no es nada intuitiva y está poco explicada.

Nodos y relaciones


En la edición de OpenStreetMap, la mayoría de elementos se componen a base de nodos. De forma que un sólo nodo puede servir para indicar correctamente cosas como una fuente, un buzón de correos, un árbol, un semáforo, y cosas así. Las calles y carreteras las forman series de nodos conectados en línea, y para edificios, jardines, aparcamientos y demás los nodos los dibujan en áreas cerradas.

Pues bien, a parte de los nodos, otro elemento básico al que posiblemente no le hayamos prestado mucha atención son las relaciones. Y éstas son totalmente imprescindibles para que los radares puedan asignarse al trozo de carretera concreta al que afectan.

Editando con Potlatch


La edición de OpenStreetMap tiene como atractivo, el que se pueda hacer directamente desde el navegador, aunque de esta forma podemos estar más limitados.

Seleccionando el editor de OpenStreetMap


Aún así, voy a explicar como se hace con Potlach, puesto que con el editor iD no se pueden agregar correctamente los radares, y considerando que la mayoría posiblemente no se va a instalar JOSM o Merkaartor para añadir un radar.

Os pongo en cualquier caso un vídeo explicativo de como se haría con JOSM:


Device (el aparato)


La primera parte es sencilla, tan sólo hay que ver dónde se encuentra el radar en cuestión y definirlo con un nodo. De hecho, por lo que he visto, la mayoría de los radares están ya añadidos en España.


Definiendo el nodo "device"

Como se ve en la imagen, para añadir fácilmente las claves, y luego la relación, en la columna de la izquierda, abajo elegiremos el modo Advanced.

En este primer nodo, hay que definir principalmente la clave higway con el valor speed_camera. Esto se hace en la parte superior de la mencionada columna pulsando en Add para añadir una clave nueva. Para editar basta pulsar en el contenido y directamente nos dejará hacer los cambios.

Opcionalmente en la clave nombre, darle un nombre tipo "Radar límite 90 km/h". Intentando cuidar la ortografía como lo acabo de poner, es decir, límite con su tilde y km/h todo en minúscula. En la imagen también se observa la clave nota, pero eso es porque ya anteriormente existía en el ejemplo que estoy usando, y tampoco es plan de ir borrando el trabajo de los demás. Eso sí, la clave maxspeed, de existir, la debemos borrar del nodo, porque debe pertenecer a la relación.

Relation (la relación)


Ahora, hay que crear la relación, porque aunque en la imagen anterior ya se ve creada y asignada al nodo con el rol correcto de device, suponemos que en principio no existe, y por tanto al conducir con OsmAnd, no los dice nada. Por tanto, para crearla le damos donde pone Add to, pero esta vez en la parte de Relation y no en la de Node.

Nos saldrá una nueva ventana en el centro, en la que se puede seleccionar una relación para asignarla, o se puede crear directamente pulsando el botón New Relation..., siendo esta última nuestra opción en esta ocasión.

La ventana central cambiará para permitirnos definir la relación, lo que se hace de forma muy semejante a como lo hacíamos al principio con el nodo. Primeramente elegiremos el modo Advanced, y seguidamente añadiremos las siguientes claves con sus valores:

Editando la relación


Key
Value
type enforcement
enforcement maxspeed
maxspeed 90

Evidentemente el valor de la clave maxspeed en este caso es de 90 km/h porque es el límite en esta zona, y es el único valor que se cambiará en cada caso, lo demás se debe de quedar igual.

Una vez establecidos los valores, se quedarán guardados automáticamente y podremos cerrar la ventana en su X. Volverá automáticamente al último nodo introducido, que ahora mismo sigue siendo el de la speed_camera. Observaremos que ahora ya existe la relación que acabamos de crear, pero no tiene asignado su rol (Role) por lo que se lo tenemos que añadir escribiendo device.

From - To (desde - hacia)


Ahora sólo nos falta asociar la relación a otros dos nodos más, dichos nodos tienen que ser de la carretera que tiene que cumplir la condición. No tienen que estar especialmente distanciados y los podemos crear para la ocasión o simplemente seleccionar entre los existentes, pero van a servir para indicar el sentido de la marcha que vigila el radar. Por lo que uno de ellos será el de entrada from, y el otro el de salida to.

Para establecerlos así, tan sólo hay que seleccionar uno de ellos, por ejemplo el de entrada. No hay que modificar ninguna clave, directamente y estando en modo Advanced, pulsaremos el Add to para asignarle la relación. Se volverá a abrir la ventana de selección, buscaremos la relación que acabamos de crear, de tipo enforcement maxspeed, y darle al botón de seleccionar. Quedando tan solo establecerle su Role como antes hicimos con el propio radar, pero esta vez escribiremos from.

En el nodo de salida se procedería exactamente igual, asignando la misma relación, y establecerle como Role la palabra to.

Para terminar podemos asegurarnos de que los tres nodos pertenecen a la misma relación en la opción de Select all members, que si lo hemos hecho todo bien tendrán un aspecto como el de la imagen final.

Todos los miembros de la relación seleccionados.