viernes, 20 de diciembre de 2019

Retraso en el apagado del equipo. Esta vez 15 minutos

Para los que hayan leído la entrada anterior, vamos a presentar una variación. Como recordamos mi ordenador de casa tardaba 90 segundos en arrancar por que buscaba un dispositivo con una UUID que ya no formaba parte del equipo. Pues descubrí el viernes pasado —hace hoy una semana— que el de trabajo  tardaba 15 minutos en apagarse... si le dejara, claro. Por partes:
Lo descubrí el viernes por que el ordenador de trabajo solo lo apago cuando termino la semana de trabajo, que suele ser los viernes. Al salir, suelo actualizar la maquina y luego apagarla; salgo un momento después de la orden de apagado y a la vuelta veo el logo de Fedora dándole vueltas a lo de apagar. Antiguamente las distribuciones de Linux mostraban la ruta de arranque y apagado por líneas de comandos, y ahora prefieren que los usuarios no vean como funciona el sistema. Por suerte, eso se arregla dándole a la tecla ESC, y con ello se muestra la serie de ejecuciones que se están realizando. Es decir, al ver la pantalla esperando, le di a ESC y el mensaje es



por escrito
A start job is running for man-db-cache-update.service (2min 28s / 15min).

Es decir, el ordenador quería que me quedara en el trabajo 15 minutos más, sin pagar... lo apagué a machete. El lunes siguiente encendí el ordenador, lo actualicé y hice un reinicio, con el mismo mensaje al apagar el sistema. Estuve esta semana en los ratos libres buscando una solución. La mayor parte hablan de encendido, no del apagado y de la modificación de ficheros que en Fedora no existen, así que me preparé para este jueves —me tomé un moscoso para el viernes— y realicé la rutina; actualicé y luego reinicié y ... se apagó en no más de 8 segundos... ¿problema solucionado? Si es así, algo quedó colgando en alguna actualización, pero me extraña, ya que hice otra después y la situación se repitió. ¿Un bug en man-db que se corrigió en la actualización del jueves? no debiera, ya que lo nuevo se ejecutaría tras el reinicio; ¿sería entonces la actualización del lunes? supongo, o un poltergeist-systemd informático difícil de explicar Como no molesta más, lo dejamos por ahora pero tomamos nota por si se repite.

miércoles, 27 de noviembre de 2019

90 segundos de retraso en el arranque mientras el sistema busca un UUID inexistente

En las últimas semanas he tenido dos problemas en el ordenador y una curiosidad. La curiosidad la dejamos para después y los problemas los he solucionado ayer. ¿Dos problemas?, si el título solo habla de uno. Al solucionar uno ha desaparecido el otro. Los problemas eran, primero, que el ordenador mostraba ciertos momentos de congelación en fases cada determinado tiempo —20-30 segundos—; el segundo, que solo lo notaba al reiniciar el ordenador, lo que pasa solo por actualización de kernel, era que el sistema se paraba 1 minuto y 30 segundos buscando un dispositivo con un UUID —Identificador Único Universal— inexistente en mi sistema. Al arrancar notaba un tiempo en vacío; si le damos a ESC, en vez de verse el logo de Fedora aparece el protocolo de arranque y ahí se podía leer:

A start job is running for /dev/disk/by-uuid/9013.... (34s / 1 min 30s)

y tenía 90 segundos para leer el mensaje hasta que seguía el arranque, que si no fuera por esto tarda unos 30s. Al apagar también tardaba y aparecía el mensaje

A stop job is running for Disk Manager (7s / 1 min 30s)

Lo primero que hice fue comprobar los UUID de los dispositivos del equipo, así que edité fstab

su -c 'nano -$ /etc/fstab'

y ninguna de las particiones del disco del sistema (/, /boot, /boot/efi) ni los otros 4 discos duros tienen ese UUID.
Ademas, lo comprobé de nuevo con blkid, que muestra los atributos de los dispositivos:


su -c 'blkid'

así como

su -c 'lsblk -ff'

que lo deja más claro, ya que dibuja un árbol mejor distribuido. Y, como debería ser, tampoco coincide ningún dispositivo con ese UUID. Revisando la red en muchos sitios se achaca este problema a un cambio de swap y que el UUID nuevo no haya sustituido al antiguo. Sin embargo mi partición swap muestra el UUID que se le asigna por fstab y la swap funciona como podemos ver


Entonces, si no estaba en fstab, y no era un problema de swap, ¿de dónde venía la orden de buscar ese dispositivo? Me puse a buscar parte de la cadena en los ficheros del sistema

su -c 'grep -lir "9013ddb2" /'

y el resultado fue nulo. Luego revisé los logs, y tampoco apareció nada. Miré todo lo que pude sobre systemd, y nada. Así que finalmente acabé en /boot/efi/EFI/fedora/grub.cfg y ahí estaba:

... resume=UUID=9013ddb2-...

Primero, ¿por qué el sistema no me lo había mostrado al pedírselo?; será que el administrador no puede entrar en EFI...
Segundo, el grub.cfg no se debe editar directamente, como dice el mismo,

# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub

así que revisamos el fichero /etc/default/grub y los del directorio /etc/grub.d. Ninguno contenía ese UUID, así que ejecutamos

su -c 'grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg'

y reiniciamos y arrancó en un suspiro.

El segundo problema era la congelación temporal del sistema. En algunos sitios había observado que se podía deber a mutter, y que ere error se había corregido para la versión 3.34.1.11, pero era la que tenía y seguía congelándose. Sin embargo, al reiniciar después de haber cambiado grub.cfg el sistema dejo de estar congelado, asi que asumo que cada 20 o 30 segundos el sistema seguía buscando un dispositivo inexistente.

Queda por satisfacer la curiosidad, que es sobre sudo. Si me pongo a ello, lo pondré en otra entrada.


lunes, 18 de noviembre de 2019

Lectores de tarjetas flash como unidades USB

Desde hace bastante tiempo usamos las tarjetas flash como almacén de datos. La primera que tuve fue una Memory Stick que acompañaba a una cámara Sony. Era una tarjeta de poca capacidad—32MB—, así que la sustituí por una Memory Stick Pro de 256MB, que para aquel entonces no estaba mal, ya que las fotos ocupaban alrededor de 1MB y podía sacar bastantes, muchas más que las que entraban en un carrete. Por cierto, conservo esas primeras tarjetas y aun funcionan pero la cámara ya no está conmigo. Las cámaras que siguieron al modelo Sony fueron todos diferentes modelos TZ de Lumix, y todas ellas utilizan tarjetas SD (Security Digital). La primera que tuve fue una Ultimate de Kingston de 2GB, el máximo que podía alcanzar una SD estándar (relegada hoy como unidad de lectura de un escáner de negativos). Presentaba por aquel entonces una velocidad de grabación de 120x, es decir 0,150MB x 120 = 18MB/s; poca cosa hoy en día, pero en las cámaras de aquel entonces permitía grabar vídeos muy dignos. A lo largo del tiempo he ido comprando tarjetas con mayor volumen de almacenamiento y mayor velocidad (SDHC y SDXC), hasta las últimas que tengo disponibles, de 128 y 256GB, clase 3 V30, que en teoría garantizan una escritura mínima de 30MB/s, aunque prometen mucho más.
Para leer esas tarjetas podemos hacer una lectura directa de la cámara, con los cable que suelen acompañar a esos dispositivos —no las he leído así jamás— o extraer la tarjeta de almacenamiento y leerla mediante diferentes tipos de lectores. En esta entrada mostraba diferentes modelos de lectores que he utilizado. La verdad es que son dispositivos que vienen para ser usados un número de veces, y luego fallan, incluso los de marcas conocidas y de garantía teórica —por ejemplo, Kingston, que me ha fallado alguno—. En estos momentos tengo un UGreen, hasta que falle. Sin embargo, hay otros dispositivos que podemos utilizar para leer las tarjetas, diseñados originalmente para las SD, por su tamaño más reducido frente a las CompactFlash y más corto que las MemoryStick, pero ahora también con las MicroSD; son las unidades USB con apertura para la tarjeta. El primero que tuve fue un modelo Kingston TravelLite SD Reader:


El objetivo que nos planteamos con este dispositivo fue probar el uso de las tarjetas SD como unidad de información protegida al usar una unidad USB  en un ordenador no controlado. Las tarjetas SD disponen de una pestaña de bloqueo que impide la escritura en ellas, y permite una protección que un dispositivo USB no presenta. La inseguridad que teníamos como usuarios de ordenadores de acceso público quedaba hasta cierto punto cubierta así. Ese modelo en concreto estaba diseñado para tarjetas SD estándar, pero cuando aparecieron las SDHC probamos otro modelo de DataTraveler Reader,


que además de leer las tarjetas, llevaba interno 1 o 2GB de memoria flash interna. Sin embargo, ¿de que servía proteger la tarjeta si se te infectaba la unidad USB? Después de diferentes pruebas abandonamos el uso de estos dispositivos y preferimos el uso de un repositorio en la nube, Dropbox para ser exactos.

Actualmente disponemos de tarjetas flash SDXC y microSDXC de hasta 512GB. Personalmente tengo unidades de hasta 256GB, SDXC y hasta 128GB microSDXC, pero no las uso en las cámaras o en el teléfono, por varias razones. En mi cámara Lumix TZ100 llevo una SandiskPro clase 10 U3 para que garantice una grabación de videos 4K, pero solo de 64GB —y otra de reserva—, por que esa tarjeta permite aproximadamente grabar 1500 imágenes en la calidad más alta combinada raw2 + jpg. Sí, es cierto, ya no estamos en la época de los carretes, que suponía un coste por carrete de aproximadamente 25-30€ de aquel entonces por carrete, por lo que en ningún viaje he usado más de 4 carretes (140-150 fotos dependiendo de como cargara el carrete la cámara, en doble vuelta o directo). Ahora el coste es la cámara y la tarjeta y no hay revelado, ni impresión a papel y da igual el número que hagas, pero nunca en ningún viaje o salida he pasado de 1500 fotos, así que a partir de 64GB sobra espacio, sobre todo por que llevo dos. Entonces, ¿para que necesitamos unidades tan grandes? Las uso como unidades USB. Es más barato conseguir una unidad de 256GB en SDXC o microSDXC que en un dispositivo USB. Y además hoy disponemos de lectores de tarjetas muy baratos que son carcasas USB. Por ejemplo tengo varias unidades Sandisk para leer microSD,


que funcionan muy bien. Además, para mayor cobertura tengo un dispositivo Kingston que me permite incluir simultáneamente una tarjeta SD y una microSD,



con lo que con las tarjetas de las que dispongo puedo llevar en una unidad 384GB. El inconveniente de la unidad Kingston es que las tarjetas salen hacia afuera y se pueden soltar fácilmente. Respecto a la unidad Sandisk, al caer al suelo, se puede soltar la tarjeta microSD (me ha pasado). Pero ahora he encontrado una unidad que evita esos problemas, el MagiDeal 5GBPS USB 3.0 Mini Lector de Tarjetas Micro SD/SDXC. Es un dispositivo USB en el que la tarjeta microSD se introduce en la base de lectura de una unidad USB


¿Qué puede haber más cómodo? Y al mismo tiempo el coste es menor que las unidades flash con las mismas prestaciones. Como inconvenientes, tanto de la unidad SanDisk como de esta última, es que son muy fáciles de perder; aun no he perdido nunca una, pero siempre estamos a tiempo. Otro problema es la duración de las unidades microSD. Las tarjetas SD que he tenido funcionan aun hoy TODAS, pero las microSD, sobre todo las que usamos en el teléfono, hemos tirado más de media docena.
En resumen, en estos momentos podemos utilizar las unidades SD y microSD como unidades USB, con menor coste, sobre todo por que en general tenemos unidades que ya no usamos en el teléfono o cámara y podemos darle una segunda vida; de hecho tengo una cajita llena de tarjetas que he dejado de usar por ser de volumen pequeño o por otras razones que tengo la intención de usar con estos dispositivos lectores USB.


Por cierto, la caja es de carretes Agfa, así que es muy antigua, de mis primeros carretes, por que luego usé Kodak Ektachrome, de más calidad, y luego Fuji NPH, con un color natural y grano muy fino a pesar de ser ISO400, y así se podían sacar incluso interiores con poca luz.
Último consejo, recomiendo formatear las tarjetas con exFAT, ya que el formato NTFS me está dando bastantes problemas últimamente. Las tarjetas de cierto volumen (64 o más) ya vienen así de fábrica.

martes, 5 de noviembre de 2019

Joystick Logitech F310 en Fedora 31

Estos últimos tiempos comentamos más sobre hardware que sobre software. Quizás se deba a que no profundizo más sobre software, por que no lo necesito, o por que ya quedan pocas cosas que decir en un Linux que está, desde mi punto de vista, bien asentado y cada vez con menos necesidad de ir a terminal. Es decir, otra de hardware. Hace unos meses, por curiosidad, compramos un joystick Logitech F310 para jugar con Cuphead a través de wine. En aquel momento no lo conseguimos, y ni siquiera recuerdo por qué. Ayer encontré de nuevo el joystick y estuve buscando qué era necesario para que funcionara adecuadamente. En muchas páginas señalan la necesidad de incorporar kernel-modules-extras, pero solo unas pocas indican que es necesario incorporar también joystick-support. Además, para ver si está conectado y funcionando recomiendan evtest.
Es decir, ejecutar

su -c 'dnf install kernel-modules-extras joystick-support evtest'

y sí funciona. Como ejemplo, el propio Cuphead:


Si algún usuario de Fedora no había conseguido su funcionamiento, a mi sí me va ahora; a ver si podemos ayudar.

miércoles, 30 de octubre de 2019

Actualización a Fedora 31 por comandos. Esta vez sí

Esta vez, al contrario que cuando lo intenté para hacer el salto Fedora 29 a 30, todo ha ido como la seda. Los mismos comandos de siempre:

su - # Terminal  en administrador para evitar teclear demasiado

dnf upgrade --refresh # Actualización del sistema (reboot, por que cambió kernel...)

dnf install dnf-plugin-system-upgrade # Plugin de actualización

dnf system-upgrade download --releasever=31 # Inicia la actualización y baja el software

dnf system-upgrade reboot # Reinicia y actualiza todo

Dos ordenadores; el primero alrededor de 2890 paquetes, 4,4GB, bajo los paquetes en 7 minutos (11MB/s, aproximadamente) y el segundo más de 2900 paquetes, 4,3 GB en 3 minutos y 20 segundos (23MB/s). Luego el primero tardó un total de 30 minutos en terminar toda la actualización. El segundo, a sabiendas de que iba a tardar más, por que es más viejo y lento, lo dejé con los comandos enlazados (&& si y solo si ha terminado bien el primero, ejecuta el segundo)

dnf system-upgrade download --releasever=31 && dnf system-upgrade reboot

y lo deje a su aire, con lo que no medí el tiempo. Los dos arrancan bien y el único defecto son algunas extensiones de gnome


y que no hay manera de ver el icono de Dropbox en el panel superior.

Solo me falta el portátil. Si hay alguna variación, actualizaré la entrada.

Ventajas: rápido, fácil, software instalado, no hay que modificar configuraciones...
Inconveniente: con lo que nos divierte instalar desde cero, particionar discos, faltarle al respeto a los programadores...
Sin un solo fallo. Casi vale la pena aplicar la actualización grafica para dummies en la aplicación software.

[ACTUALIZACIÓN:] El portátil igual de bien

sábado, 26 de octubre de 2019

Logitech G413. ¡Arriba los teclados mecánicos y olvidemos las membranas plásticas!

Pues así es. En mi ordenador personal había ido probando diferentes teclados hasta encontrar uno que me gustase. La razón fundamental siempre ha sido el tamaño, ya que no me gustan los teclados grandes ni que tengan apoyo de muñeca. El que he usado los último años —muchos, por cierto— en mi ordenador personal de casa era un Logitech K120, barato y pequeño. Al principio funcionaba adecuadamente, pero con el paso del tiempo me fueron fallando teclas al escribir. Al principio me faltaba sobre todo la e, luego el espacio, y últimamente la s y la a. La verdad es que lo fui soportando por que en el ordenador de casa escribo poco y hago más trabajo de edición multimedia; nunca han sido todas y de manera continua. Simplemente, si pulsas de manera un poco más débil, no aparecían. Sin embargo, este último mes he estado escribiendo más de lo habitual, y he tenido que revisar todos los textos por falta de caracteres. Harto de tanto tiempo perdido he estado pensando en que teclado comprar. Siempre he pensado que el culpable era la membrana de plástico que ha sustituido a los muelles, y recordaba con nostalgia los teclados mecánicos que usábamos antes, en el siglo pasado. Así que he buscado un teclado pequeño y mecánico, y sí, aunque lo dudaba, existen algunos modelos que cumplen esas características. Entre los pocos que encontré, analizando las opiniones dadas por sus usuarios, el tamaño de los modelos y otras razones, como el gusto personal, me he comprado un Logitech G413. No es ni el más caro, ni el más barato, pero es del tamaño que quiero y el que más me gusta.


Como se puede ver, es algo más pequeño que el K120. La razón fundamental para su adquisición es el mecanismo de marcado de las teclas, que Logitech llama Romer-G táctil. Foto publicitaria para verlo.


Y además, como es un teclado para gamers, sean quien sean esos seres, trae una novedad poco habitual, un juego de teclas de reserva —q w e r a s d 1 2 3 4 5— y un extractor; creo que aunque se han añadido para los gamers, supongo que también sirven para los simples mortales.
Tiene una superficie sobre la que se asientan las teclas de aluminio-magnesio pulido que le da un cierto peso, más de un quilo, que lo hace mucho más estable que los que he utilizado habitualmente. Las teclas están iluminadas, y creo que los del lado oscuro —Windows—, con la aplicación G HUB pueden controlarlas y hacerlas variar. Para mi en Linux hasta ahora solo han sido rojas, pero lucen bien y permiten escribir en oscuridad —yo, autodidacta en muchas cosas, nunca he sabido la distribución del teclado y solo uso dos dedos, así que necesito mirar con frecuencia—. Lo he estrenado con esta entrada y no me ha faltado ninguna letra; de hecho, me han sobrado algunas, por que las teclas son más altas que las del teclado anterior y estoy en período de aprendizaje.
Exijamos a las compañías de periféricos que ofrezcan más modelos mecánicos. ¡Arriba los muelles! ¡Abajo las membranas!

[ACTUALIZADO]: He recibido con un cierto retraso el ratón que había pedido junto al teclado, un G203. Ahora me dicen en casa que he montado una discoteca en mi estudio



martes, 15 de octubre de 2019

Otro poco de recorte de PDF

Antes de las vacaciones habíamos hablado de como obtener una copia digital de un manual de papel para evitar su deterioro (véase aquí). Hoy vamos a hacer una variación de esta técnica. Hemos vuelto de un congreso donde nos ha facilitado un libro de actas en papel —grapado, por cierto, no cosido—, y sin copia digital. Para justificar nuestra presencia, además de presentar las facturas y certificado de asistencia, siempre es interesante guardar una copia digital de los resúmenes de tus conferencias, que quedan como justificación para el futuro. Sin pensarlo mucho, escaneé directamente desde el libro, doblando como pude, y el resultado fue un fichero PDF A4 con un texto interior B5. En la otra entrada habíamos manejado con convert imágenes jpg, pero la aplicación de convert sobre un PDF puede generar una pérdida de calidad si no manejamos correctamente los argumentos, aparte de lo difícil que es cortar por el lado izquierdo, derecho y abajo. En general, lo podría realizar con pdf-shuffler, aplicación que llevo utilizando desde hace años para el manejo de los pdfs en linux. Sin embargo, pdfshuffler es una aplicación antigua python-gtk que hace de interfaz gráfica de python-pyPdf y depende de python 2; es más, no tiene mantenimiento desde hace bastante tiempo. En Fedora 30 se está haciendo una transición a python 3 y la librería python2-PyPDF2 no permite importar pyPDF2 como solicita shuffler (podemos ver aquí los errores). En resumen, pdf-shuffler no arranca:


Lo más sencillo es utilizar pdfarranger,


pero en esos momentos recordaba que en Fedora 29 pdfarranger no estaba en los repositorios habituales y había que incorporar un repositorio personal o COPR. Desde los últimos tiempos en que aun utilizaba Ubuntu, tengo muy malos recuerdos de los ppa, así que decidí buscar alternativas de terminal, a ver que había. En esta página describen, entre otras aplicaciones, pdfcrop. En Fedora requiere la instalación de texlive-pdfcrop:

su -c 'dnf install texlive-pdfcrop'

y luego ejecutar utilizando el argumento margins (--margins " " (0 0 0 0) para aumentar o disminuir los márgenes —si solo se una un número afecta a todos ellos—). En este caso el comando fue:

pdfcrop --margins '-145 -0 -110 -330' input.pdf output.pdf

Para comprender lo que cortamos, el pdf era de 826x1160 a 100 ppp, es decir, un A4 escaneado a calidad no muy alta, y nos aproximábamos a un B5.

Después descubrí que en Fedora 30 ya está pdfarranger en los repositorios, y además recomiendan no usar pdf-shuffler, ya que pdfarranger es una versión actualizada del otro, optimizada a python 3.

¿Qué hacer? Más fácil es usar pdfarranger; más rápido pdfcrop. Eso sí, pdfarranger permite hacer más cosas que recortar. Para los que estemos acostumbrados a shuffler, acudir a arranger, que es más o menos igual, salvo que tengáis prisa y solo queráis recortar o aumentar los márgenes.





martes, 24 de septiembre de 2019

Tecnología más prosaica

Estos días he recurrido a una tecnología más antigua para salvar unos muebles casi tan viejos como yo. Los muebles de un dormitorio por el que tengo mucho aprecio, ya que fue mi habitación hace muchos años, tenía las cerraduras a punto de no abrir más. Una solución sería cambiarlas, pero en uno de los viajes de este verano he visto muebles antiguos en los que las cerraduras se habían sustituido por imanes. Y eso he hecho. Más barato —2,10 € los tres imanes— y menos (d)efecto estético sobre los muebles, por que ¿quién encuentra hoy 40 años después unas cerraduras parecidas?. Así que de esta manera hemos salvado algo del pasado. Por cierto, para aquel entonces estos muebles eran una novedad total, de madera pintada. Eso sí, si os ponéis a ello, no os olvidéis de añadir algo de jabón a los tornillos, por que alguna madera es más dura que los tornillos —partí dos antes de usar jabón de manos—.







PD. Si hace unos años, en la época de los disquetes, me dicen a mi que iba a poner imanes a mi alrededor, no me lo creería.

lunes, 9 de septiembre de 2019

Vacaciones y la recuperación de fotos perdidas. Photorec

En estas vacaciones no hemos aplicado tecnología alguna, lo que es muy bueno para el estrés, salvo apretar un tornillo con una llave allen y darle al botón para hacer fotos. Con la nueva cámara TZ-100 es algo más complicado que dar a un botón, por que se puede manejar casi todo, pero una vez aprendido lo fundamental, ya automatizas las opciones. Sin embargo, a la vuelta si hubo que aplicar algo de técnicas de recuperación. La cosa fue así; un día estaba realizando fotos y uno de los fotografíados no estaba contento con la foto en la que salía y decidió borrarla; no sé como hizo, pero en vez de borrar una foto, borró 121 —dos días enteros de turismo—. No me preocupé mucho, por que se pueden recuperar fácilmente con photorec, como ya hemos visto en alguna entrada previa.

https://www.cgsecurity.org/mw/images/Photorec.png

Por supuesto, por seguridad, y para evitar que se perdiera cualquiera de las fotos borradas, cambié la tarjeta de datos de la cámara, y así las fotos nuevas no reescribirían las áreas donde están las fotos borradas —como sabemos, al borrar lo único que se hace es borrar en la tabla de partición la localización de los datos del fichero, pero no se borran los datos en si—. Al cambiar de tarjeta, no hay borrado accidental de los datos. Después, con tranquilidad, se aplica photorec, que instalamos mediante testdisk

su -c 'dnf install testdisk'
    passwd
photorec

y listo; hay que hacer algunas cosillas después de que se ejecute photorec, pero son bastante intuitivas. Como aviso, lo más delicado es decir si se revisa toda la unidad o la partición; el resultado suele ser mejor eligiendo la partición.

Sin embargo esta cámara tiene sus "novedades". La tengo configurada para grabar una imagen raw, formato ra2, y una jpg ya transformada desde ese raw. Al recuperar las fotos me encontré con unas 115 ra2 y 15 jpg tamaño normal y muchas jpg tamaño de alrededor de 5kb. Las 6 imágenes jpg sin raw tienen una explicación sencilla; son las fotos panorámicas, que la cámara no puede grabar como raw. Pero quedan 9 jpg con su raw, es decir, recuperados los dos ficheros, y luego 100 jpg miniatura con 100 raws completos. Yo supongo, y solo es una suposición, que la cámara no guarda todos los jpgs automáticamente, sino que graba un fichero con las características de control que quiere aplicar al raw y cuando la extraes las fotos, la propia cámara compone el jpg. Como es natural, lo que hice fue hacer una transformación de cada raw, directamente. Algunas han quedado muy bien, y otras no tanto. Habrá que revisarlas cuando haga falta. Eso sí, photorec recuperó sin problemas las 121 fotos, y no hubo que lamentar la pérdida de fotos importantes.

Para terminar, recomiendo llevar siempre una segunda tarjeta de memoria, para evitar tener que utilizar una en la que haya que recuperar material —u otras razones—, y dos baterías, por que si no luego de la foto 250 no se pueden sacar más. Y, por supuesto, un cargador para poder cargar la que has terminado cada día.

jueves, 11 de julio de 2019

WPS sí o no. Activación de router, y todo por culpa de los malditos smartphones

La primera pregunta es, ¿Necesitamos WPS? Realmente lo he evitado hasta ahora. El router que pone la compañía distribuidora de señal —Technicolor 7210— genera dos señales WiFi, 5 y 2,4 GHz, que cubren el centro de mi casa. El lado izquierdo y derecho jamás han tenido señal, pero no me ha importado y, de hecho, tenía la WiFi deshabilitada. Tengo un número elevado —6, exactamente— de dispositivos PLCs gobernados por un TP-Link TL-PA9020P AV2000 central para gobernarlos a todos —2000 Mbps, MU-MIMO, 2 puertos Gigabit— y que cubre desde el router por toda la vivienda las necesidades de televisión, ordenadores, consolas, portátiles y otros dispositivos mediante cable sin WiFi; y donde hace falta switchs TP-Link Ethernet.


Pero ahora el uso continuo de vídeo en los móviles de pantallas superiores a 5' obliga a tener cobertura WiFi siempre que se pueda, o no hay datos que lleguen. Bien, el router cubre el tercio central de mi casa y el lado izquierdo está cubierto por un extensor WiFi TP-Link TL-WPA4530 doble banda 2.4GHz (300Mbps) y 5GHz (433Mbps).


Este extensor permite clonar la WiFi del router, pero como el lugar donde está colocado es el de menor cobertura, lo he configurado como repetidor desde PLC, con lo que genera una WiFi a plena potencia con dos nuevos SSID. Esto me deja la parte derecha de la casa sin cobertura alguna, debido a la pared de la cocina, que genera por el campo magnético de los cables de los electrodomésticos un "muro" que bloquea la comunicación hacia esa parte. Lo he intentado con el enrutador inalámbrico TP-Link TL-WR802N, pero este dispositivo permite o bien un sistema "Access pint mode" conectado al router, y para eso ya está el router, o de extensor, pero lo hay que configurar desde un ordenador con un sistema operativo diferente al mío, y eso no me apetece.


Por ello, aprovechando las ofertas Prime Day que lanza Amazon cada día, decidí cambiarlo por un TP-Link RE360 AC1200, extensor-repetidor de red WiFi amplificador de cobertura, doble banda, 2.4GHz (300Mbps) y 5GHs (867Mbps), que permite un clonado WPS directo. Y listo. Lo he clonado cerca del router, activando la WPS en el router y pulsando el botón superior unos segundos, hasta que se iluminó, y la tecla WPS del TP-Link; luego lo he puesto en un punto debajo y a la derecha del router en el piso inferior, sobrepasando ligeramente la pared de la cocina; ya está la parte derecha con WiFi.


Este último párrafo ha sido algo más difícil de lo que parece. Primero, tras muchos intentos de darle al botón que teóricamente activa la WPS sin que se iluminara, descubrí que el router estaba con la WPS desactivada por mi suministrador de señal. El distribuidor lo ha activado tras una "amable" petición por teléfono, por lo que no puedo explicar como activarla en la configuración, aunque no creo que sea difícil. Estaba bloqueado por, supongo yo, por seguridad. ¿Y por que hablo de seguridad?, miradlo vosotros mismos aquí o aquí antes de decidir si queréis poner una WPS o no. Yo lo he hecho fundamentalmente para evitar generar yo solito 6 SSID WiFi en un circulo de 15 metros, sumándolas a las 12 que tienen mis vecinos (las que yo detecto, que seguro que hay más).
¡Con lo bien que vivía yo sin WiFi!

ACTUALIZACIÓN: La configuración es bien sencilla por si la queréis hacer en casa sin llamar a la operadora. En este router está en la pestaña de Wireless, y en ambas Primary Network, tanto para 2,4G y 5G, está la posibilidad de activar WPS en "Automatic Security Configuration". Al hacerlo, aparecen las características que tenéis que ponerle. Sencillo.

martes, 2 de julio de 2019

Solución para que VLC lea correctamente los AC3

He tenido muchos problemas para la lectura correcta de las líneas de sonido en e-AC3. Primero le echaba la culpa al hecho de en mi ordenador de casa los altavoces están en el monitor y que este se comunica con un Display-port y al reiniciar siempre empieza en Line-Out y tengo que reconfigurarlo continuamente. Sin embargo, he comprobado que las mismas pistas se oyen en terminal con mplayer, así que empecé a acusar a VLC. Me parecía extraño, ya que se supone que los drivers de vlc los pone vlc y desde siempre nos ha funcionado bien cuando todo va mal (aquellos tiempos en Windows). Sin embargo, es un tema bastante discutido, y teóricamente sí se presentaba en las versiones 2.x, pero no en las 3.x (véase aquí). Sin embargo este pasado fin de semana llegué a un estado de desesperación o paroxismo, por que era imposible escuchar un montón de pistas que tenía que comprobar. De repente se hizo la luz y me dije, ¿habrá algo más en VLC que el paquete estándar?

dnf search vlc

y aperece

vlc-extras.x86_64 : VLC media player with extras modules

Lo instalé

su -c 'dnf install vlc-extras'

Y listo. Se oye todo perfectamente. Solo por no mirar...

https://upload.wikimedia.org/wikipedia/commons/8/8b/VLC_Flare.png

viernes, 14 de junio de 2019

Escanear fotos y texto hasta obtener un PDF de calidad suficiente

En este caso hablamos de un manual de diagnóstico editado en 1979, con una fotos y claves de identificación que utilizamos continuamente en el laboratorio. Como es natural, con tanto uso en un lugar no demasiado limpio —se trata de identificación de helmintos en muestras fecales— el manual está cada vez peor, no solo por la edad, si no también por el uso. Es un libro descatalogado, así que no hay manera de volverlo a adquirir. Para no perderlo, se nos ha ocurrido escanearlo y conservar una versión en PDF en color. El equipamiento disponible para hacerlo es una Canon i-sensys MF421dw, que escanea de maravilla. Lo ideal sería recortar el libro y escanearlo desde el cargador automático con lo que obtendríamos directamente un PDF. Sin embargo, no queremos destruir aun más el manual, así que hubo que escanearlos página a página. Además, como el manual tiene un formato B5, aproximadamente, luego habrá que recortar, así que la idea es escanear en formato jpg para manipular las imágenes en bloque con imagemagick; bajo esas circunstancias, la impresora-escáner genera una imagen jpg de cada página. Extraídas todas las páginas nos enfrentamos a 178 imágenes jpg, con un tamaño de 2480x3504 píxeles, 300 puntos por pulgada. Va a ser más complejo que una simple conversión como la que hacíamos aquí. Problemas:
1. Ese tamaño se ajusta a un A4, sobra márgenes por todos los lados hasta acercarnos a la página original. Hay que recortar
2. La mitad están dadas la vuelta, ya que el escaneo se hace más fácilmente rotando las impares, debido a la estructura de la impresora. Hay que rotar la mitad de las páginas
3. Hay que convertir una serie de imágenes a un fichero PDF sin perder calidad


Primero hacemos una copia de las imágenes, por que escanear ha llevado el 97% del tiempo y no queremos repetir. Basándonos en imagemagick para hacer cambios en bloque, y por orden:

1. Recortar: cuando se escanea un libro no salen todas las páginas iguales. Sobre el A4 que escanea la máquina, unos van unos milímetros más hacía aquí o allá. Revisando varias muestras a lo largo de las imágenes con Gimp, nos queda un área de recorte de 1890x2815 para evitar perder información (aproximadamente 16x24 cm; más grande que un A4 2014 —148x210— y menos que un B5 —176x250—; seguramente en el año 1979 las ISOs no perseguían a las imprentas. Las medidas estándar se pueden comprobar aquí). Además hay que recortar 20 puntos por arriba y 20 por la izquierda. El comando para realizar esto en bloque es

convert *.JPG -crop 1890x2815+20+20 output.jpg

Este comando utiliza convert para recortar (crop) un rectángulo de 1890 píxeles de ancho y 2815 de alto, recortando 20 pixeles a la izquierda y 20 arriba. El JPG inicial va en mayúsculas por que la impresora extrae los ficheros con la extensión en mayúsculas.

2. Rotar: solo hay que rotar las páginas impares, así que las separé en un directorio diferente. Seguro que con un script de bash se podría evitar este paso, pero así somos más rápidos, efectivos —cumplimos el objetivo— y eficientes —se usan menos recursos, es decir, gastamos menos el cerebro—. Eso sí, hay que evitar un cambio de nombre, ya que es muy importante mantener el orden de los ficheros (output-0.jpg, output-1.jpg...). Comando:

convert *.jpg -rotate "180" -set filename:basename "%[basename]" "%[filename:basename].jpg"

De esta manera  -rotate "180" las gira 180º y -set filename:basename "%[basename]" "%[filename:basename].jpg hace que sobreescribamos los ficheros —por eso hacemos primero una copia de seguridad; nunca se sabe lo que puede pasar—.

3. Conversión de 178 ficheros jpg a un PDF:

convert *.jpg -density 300 -size 1890x2815 test.pdf

Inicialmente ejecuté así para conservar el tamaño, pero no es necesario; si ponemos solamente

convert *.jpg test.pdf

queda igual, ya que las imágenes ya tienen la densidad y resolución deseada.

Queda por decir que antes de ejecutar este último comando hay que corregir los nombres de los ficheros, por que imagemagick los ordenó al recortarlos como

output-0.jpg, 1, 2.... 10,11... 100, 101

y luego al aplicar la última conversión pone el 100 y siguientes antes que el 20, ya que ordena como cadema alfanumérica, sin considerar el valor real del número. En gnome no hay problema, ya que podemos seleccionar por bloques e introducir cambios por grupos, por ejemplo:


Y listo. Quedó perfecto como copia para el laboratorio. No puedo enseñar una copia, por que tiene derechos de autor y lo vamos a usar de manera interna como copia privada, para evitar que se destruya completamente el original, pero no se puede compartir. Sin embargo, para cuando sea necesario hacer una copia de seguridad de un manual con imágenes que se está dañando por su uso continuo, con un escáner que de calidad suficiente y convert de imagemagick lo arreglamos.
El siguiente paso sería intentar hacer OCR del texto, pero este manual es fundamentalmente foto, y no estoy seguro que sea necesario o que vaya a quedar mejor. Eso queda para un ejemplar que sea fundamentalmente texto.

miércoles, 5 de junio de 2019

DNIe en Fedora 30. Cada vez más sencillo

Hace algunos años decía en una entrada que la única necesidad de mantener un ordenador con Windows era poder utilizar los lectores de DNIe. Eso era hace mucho tiempo, y desde hace algunas distribuciones —ni me acuerdo de cuántas— tengo instalado el software necesario para poder utilizar el DNIe en Fedora. La guía más útil que he encontrado en estos días tras la instalación de Fedora 30 es la más reciente de atareao. Para nosotros los usuarios de Fedora tiene algún defectillo; atareao es usuario de Ubuntu (nada es perfecto) y en mi instalación de hoy he visto que algunos de los paquetes indicados no son necesarios, al menos en Fedora; aún así en una guía muy útil y bien documentada. Vamos a resumir los pasos necesarios para preparar el uso de un lector de DNIe (u otras tarjetas similares) en un ordenador con Fedora 30.
1. El software para Linux del DNIe lo bajamos del Cuerpo Nacional de Policía. La versión disponible en nuestro caso es un binario rpm para Fedora 28, pero funciona perfectamente.
Este software, tiene dependencias, en concreto señala:

error: Error de dependencias:
    pcsc-lite es necesario por libpkcs11-dnietif-1.5.0-1.x86_64

2. Eso nos lleva a la instalación de pcsc-lite, que en su instalación

su -c 'dnf install pcsc-lite'

instala también pcsc-lite-ccid

y luego


su -c 'dnf install libpkcs11-dnie-1.5.0-1.x86_64.rpm' # en el directorio donde lo tengáis


3. Conectamos el lector y hay que configurar Firefox. En Preferencias, Privacidad & Seguridad, Certificados, picamos en Dispositivos de seguridad.
Ahí deberemos cargar un módulo nuevo, con el nombre que nos parezca mejor y localizar el fichero libpkcs11-dnietif.so (en mi caso, instalada la versión de 64 bits, estaba en/usr/lib64; en la versión de 32 bits estará en /usr/lib)


Y listo. Podemos picar en iniciar sesión o simplemente introduciendo el DNI y picando en algún enlace que lo precise nos pide la palabra clave que protege el certificado.

Atareao indicaba la necesidad de instalar
pcsc-tools - en mi caso no ha sido necesario
pcscd - en Fedora no existe con ese nombre; es pcsc-lite
libccid - en Fedora es pcsc-lite-ccid
pinentry-gtk2 - en Fedora solo existe en repositorios pinentry-gtk y en mi caso ya estaba instalado previamente

Ha funcionado perfectamente en los dos lectores de los que dispongo, un SCM Microsystems SCR3310 v2.0 de los que regalaban con los primeros DNIs electrónicos y el C3PO LTC31 que pone mi Universidad a mi disposición.

Una necesidad menos para mantener Windows.

lunes, 27 de mayo de 2019

Actualización/instalación de Fedora 30. Alguna novedad y también algunas recomendaciones

La última semana ha sido una experiencia sobre la instalación de un sistema operativo, y hemos aprendido alguna cosa. No digo experiencia nueva, por que esto ya me había pasado, pero el hombre es el animal que tropieza dos —o más— veces en la misma piedra. Como Jack el destripador, vamos a verlo por partes:
1. A principios de mayo, con su liberación, actualicé un ordenador a Fedora 30 (véase aquí). Todo terminó en una instalación limpia por que el sistema gráfico no arrancaba. Eso ya esta descrito en la entrada anterior.

2. Dos semanas después, como en ese sistema Fedora 30 funcionaba ya como la seda, me propongo actualizar el segundo ordenador de trabajo, el más potente. Realizo la actualización y, sorprendentemente (es broma), el sistema gráfico no funciona. Esta vez me puse a descubrir que era lo que pasaba, así que en los escritorios en formato texto (Ctrl + Alt + F1, 3, 4, 5, 6, 7), que sí funcionan, intenté diferentes arreglos. Por orden:

2.1. Siempre es mejor empezar por lo más fácil (o lo más barato, si va dinero de por medio), así que intenté arrancar en gráfico por x11 a través de startx en algún escritorio, y nada. Luego arrancar en gnome clásico, nada. Finalmente, por xorg, nada, siempre volvían a pedir la palabra.

2.2. Al arrancar en los escritorios en texto salia un mensaje

usuario: /home/usuario change directory failed: Permission denied logging in with home="/"

Es decir, el sistema no conocía el directorio del usuario y arrancaba en el directorio del administrador, por lo cual el sistema gráfico se negaba a arrancar (o eso suponía yo).
Para saber lo que estaba pasando, ejecuté

ls -lZ /home # l - permisos y Z que muestra el contexto de selinux

La respuesta debería ser:
... unconfined_u:object_r:user_home_dir_t ...

y sin embargo fue
unconfined_u:object_r:unlabeled

Es decir, /home no estaba bien etiquetado. Para solucionarlo, ejecutamos
chcon -t home_root_t /home
chcon -t user_home_dir_t /home/usuario # Mirar aquí para más información

Sin embargo, aunque bien etiquetado el directorio /home/usuario (cada uno el suyo, claro), el sistema gráfico no arrancaba.

2.3. Por si las propiedades de los directorios y ficheros del /home/usuario no fueran las correctas, las comparé con las de otros 2 ordenadores con Fedora 29. Parecían idénticas. No estaba allí el problema.

2.4. Luego culpé a la tarjeta nvidia, así que me puse a ver que driver tenía (los drivers parecían los correctos lspci | grep -E "VGA | 3D") y si se podía hacer algo, pero no generaba ningún resultado positivo; en cierta manera es lógico, ya que sí accedo al ordenador, falta la máscara gráfica de Fedora, pero sí puedo leer los resultados, ejecutar comando a la vista etc...
Para estar seguro, en el menú de arranque presioné e y en la línea de linux borré la opción rhgb (red hat graphical boot) para que lo generara de nuevo y quiet (para ver si me enseñaba algún error al ejecutar) y reinicié.


Ningún efecto positivo.

2.5. Siguiente culpable, algo que salió mal en la instalación. Me puse a leer (dmesg) los logs de la instalación (más de 3000 líneas), que sí describen algunos errores, pero solo para ver como se arreglan unas líneas después; es decir, describen el proceso y en todas ellas nada parece generar un error para que wayland —o x11— no funcionen.

2.6. El siguiente sospechoso fue la resolución del monitor (2560x1440), así que lo intenté con uno de 1920x1080 y otro de 1600x1200. Nada en ninguno. Al mismo tiempo, fui cambiando de cables de conexión CPU-monitor, nada.

2.7. Sin comprender lo que pasa, intento comprobar con un dispositivo USB Fedora 30 Live a ver si funciona el sistema gráfico, y sí, funciona; entonces Fedora funciona con ese monitor y una tarjeta nvidia. Sospechando del dispositivo USB con netinst que estaba utilizando para instalar (netinst permite generar administrador, al contrario que el Live, véase aquí), probé unidades nuevas de más calidad. Nada, todo sigue igual.

2.8. Y de repente se hace la luz. Si Live funciona, sin configuración mía ninguna, era algo de la configuración de arranque personal en /home/usuario. Cuando era más joven, y más precavido, y sabiendo todo lo que almacenaba Windows después de varios meses de funcionamiento, instalábamos Windows de nuevo en limpio y todo iba bien de nuevo (por unos meses). Al cambiar a Linux, en las instalaciones de las nuevas versiones de las distribuciones (primero de Ubuntu, luego Debian y desde la versión Verne, de Fedora) siempre evitaba la configuración anterior; simplemente cambiaba el nombre del directorio del usuario anterior, para que el mismo usuario generara un directorio nuevo y solo recuperaba del anterior los documentos, mozilla, wine y dropbox. Si uno cambia entre distribuciones, no se puede conservar el mismo directorio de usuario, por que los ficheros de configuración de la distribución antigua genera problemas en el arranque de la nueva (a las pruebas me remito; yo lo he visto entre Ubuntu y Fedora, pero ya me había olvidado; recordémoslo con la imagen de aquellos días).


Sin embargo, desde que Fedora nos deja actualizar directamente con 4 comandos, dejé de hacerlo, y hasta me había olvidado.
Y así ha sido. El problema de este ordenador (y del anterior) es alguna configuración que genera algún problema en el arranque gráfico.

3. Próximamente el portátil. Veremos que pasa

martes, 7 de mayo de 2019

Fedora 30. Algunos "problemillas"

Para aquellos fans de Fedora que aún no hayan actualizado a Fedora 30, vamos a describir los problemas que me he encontrado en la actualización y luego en la instalación. Tranquilos, nada nuevo que no hayamos visto:

Primera fase: actualización. El día de salida de Fedora 30 mi página web base, Fedora magazine, señalaba ya la posibilidad de actualizar. Como estaba tranquilo tomando un café nocturno, decidí seguir la corriente... ¿qué son 45 minutos? Siguiendo las indicaciones habituales, primero actualicé completamente el sistema,

su -c 'dnf -y update --refresh'

luego instalé el plugin de actualización,

su -c 'dnf install dnf-plugin-system-upgrade'

comencé la actualización, que lo que hace es bajar las actualizaciones de TODO,

su -c 'dnf system-upgrade download --releasever=30'

esta vez no fue necesario incluir --allowerasing, supongo por que no encontró problemas de dependencias ni paquetes sin sustitución; por cierto, tardo solo 4 minutos, con una red que alcanzaba picos de 42MB/s

y finalmente ejecutamos la actualización

su -c 'dnf system-upgrade reboot'

Tardó 23 minutos y ahí se acabó, por que el sistema gráfico no volvió a arrancar. Las condiciones de ese equipo son Intel i7-3770 con hd400 integrada y 24Gb de RAM. El sistema sí funcionaba, por que el terminal 1 y los de 3 al 7 funcionaban, pero el 2, que lleva el sistema gráfico, al poner la palabra de entrada, volvía a pedirla una y otra vez. Después de trastear con los terminales a ver si era capaz de encontrar una solución, decidí instalar desde limpio y no, nunca arrancó el sistema gráfico con startx en los terminales.

Segunda fase: instalación de limpio (que bien, así empiezo de nuevo; eso si, ya no llegan 45 minutos).
Tras bajar una versión live y otra netinst preparé con Fedora Writer (en un portátil, claro) dos unidades USB con ambas versiones. Primero probé la versión live, a ver si era capaz de arrancar el sistema gráfico, y así fue, así que luego instalé con una versión netinst, que permite establecer usuario y administrador y deja el sistema actualizado. Una vez realizada la instalación, bastante rápida por cierto, hubo que arreglar las teclas mágicas, (línea kernel.sysrq = 1 al fichero /etc/sysctl.d/90-override.conf), aumentar los ficheros permitidos para Dropbox (añadiendo al mismo fichero una línea con fs.inotify.max_user_watches = 200000), abrir repositorios, instalar las aplicaciones que faltan y las extensiones de gnome. Cuando parecía que todo iba bien, empieza a congelarse el sistema. Siguiendo a top me encontré con lo siguiente:


es decir, un amule vacío que ocupaba toda la CPU.


Este problema ya lo hemos visto anteriormente en el verano pasado, cuando una actualización de amule nos tuvo una semana congelándonos el sistema. Simplemente dejé de usar amule y me he pasado temporalmente a emule a través de wine.


Sin embargo, ahí no acabaron los problemas. Los discos giraban como escapando de alguien y como son 5 (4 de ellos magnéticos) se oían desde el piso de abajo. Además el sistema estaba colapsado. Esto también lo hemos visto en alguna instalación limpia de Fedora; son los malditos trackers, fiscalizándolo todo; véase aquí y aquí. Como lo que hice en la primera indicación no fue suficiente, aplique la anulación de las notificaciones (segunda indicación), pero esta vez a TODAS las aplicaciones.


Una maravilla, ya me he podido sacar los cascos antirruido, y el sistema va razonablemente. y digo razonablemente por que aun no está a mi gusto. Noto ciertos retrasos en las páginas web con Firefox, me da la sensación de que va todo algo más lento. Lo de siempre, hasta dentro de un mes y un poco de pulido no estará perfectamente. En cada arranque me aparece el mensaje

Lo sentimos, parece que BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.0.9.301.fc30.x86_64 ...

aunque luego todo sigue.

Y mira que lo sé, nunca actualizar un equipo importante hasta un mes después...

PD. y el terminal... sobre el terminal haremos otra entrada, una historia para no dormir.

ACTUALIZACIÓN 2019-05-07: El problema de BOOT_IMAGE... ha desaparecido después de la actualización del kernel a 5.0.11. Un problema menos.

ACTUALIZACIÓN 2019-05-15: Sobre el terminal, en un principio no me aparecían opciones en la etiqueta Sin nombre. Fundamentalmente, lo que más me preocupaba es la parte desplazamiento y la configuración de líneas de desplazamiento hacia atrás, es decir, que número de líneas me conserva. Para los usuarios de R en terminal es básico poder mantener cientos de miles (o millones) de líneas para extraer los resultados de análisis complejos. Pero era un problema de instalación o de no reiniciar, por que cuando estaba generando una entrada disparando a matar a los programadores de gnome, resulta que sí pude acceder a esas opciones. Y para terminar, tras varias actualizaciones de kernel, Fedora 30 va ahora como la seda.

martes, 9 de abril de 2019

Cuando aun necesitamos Wine

Como la mayor parte de los usuarios de Linux, he seguido el camino de instalar primero un arranque dual, manteniendo Windows por si no funciona; luego dejas Windows, por que te das cuenta de que ocupas mucho espacio (en mi caso un disco duro entero) por un sistema del que cada día necesitas menos aplicaciones, que además las puedes hacer funcionar con Wine. Y llega un día en que han pasado meses o años sin haber usado Wine para nada, piensas que a la próxima versión de tu distribución no necesitarás más el amigo Wine y ... te llega un fichero comprimido autoejecutable que te obliga a ir OTRA VEZ a Wine para extraer el contenido.


Demos gracias a Wine por permitirnos sobrevivir en este mundo tan poco compatible.

PD. Sí, mayoría ruidosa windosera, es culpa vuestra, sois muy incompatibles.

miércoles, 3 de abril de 2019

Liberada Fedora 30 beta

Pues eso, según nos ha indicado Fedora Magazine, ya está disponible la versión beta de Fedora 30. Todos los que podáis, instalarla, para que se puedan corregir los últimos errores. Yo he instalado la versión beta muchas algunas veces, pero esta vez coincide con el fin de curso, así que estoy con poco tiempo. Si saco un ratito libre, la probaré en el portátil.

miércoles, 13 de marzo de 2019

bchunk: extracción de pistas de un disco de música con formato bin cue

En ocasiones podemos encontrar entre los extras de un DVD de una película la banda sonora. Como ya he dicho hace poco, estay con la idea de eliminar completamente todas las unidades ópticas de los ordenadores y los Cds y DVDs, que ocupan mucho sitio, se leen muy lentamente y, al contrario de lo que pensábamos hace años, ahora sabemos que no podemos asegurar su duración en el tiempo. El último DVD con el que he estado transformando para eliminarlo, la unidad con extras presenta una banda sonora que se extrae como un fichero bin,


una imagen en formato binario, cuyas pistas están referenciadas por un fichero cue. Este formato no es manejable en los dispositivos que usamos para escuchar la música. Muchas páginas Web recomiendan IsoBuster para la extracción de las pistas; pero IsoBuster es un programa para Windows, y aunque en su página Web nos recuerda que podemos usar Wine, creo que todos los usuaros de Linux preferimos usar un comando en terminal que tener que instalar un paquete de Windows. Y esto nos lleva a bchunk.
bchunk (BinChunker) es un programa que nos permite, como dice su página Web "binchunker converts a CD image in a ".bin / .cue" format (sometimes ".raw / .cue") to a set of .iso and .cdr tracks". Es decir, simplemente con esta orden

bchunk fichero.bin fichero.cue nombre.bso

nos extrae de una imagen bin de un disco de audio las pistas en formado cdr. Si queremos extraer un formato más sencillo de manejar (para la transformación de un cdr precisamos SoX —Sound eXchange, the Swiss Army knife of audio manipulation, como podéis ver en man sox—), con la opción -w extrae las pistas en formato WAV. Es decir,

bchunk -w fichero.bin fichero.cue nombre.bso

extrae las piezas de música en formato wav. Luego con cualquier conversor (a mi me gusta soundkonverter) lo podemos comprimir en flac sin pérdida y/o pasarlo al formato que queramos. Yo suelo guardar los originales ripeados en formato FLAC sin pérdida, que queda aproximadamente en la mitad de tamaño que un wav; si luego vuestros dispositivos necesitan otro formato, por ejemplo MP3, lo generáis desde el FLAC y siempre se conserva una copia sin pérdida.
Para más opciones, revisen man bchunk, donde explica algunas características especiales para imágenes bin en formatos PSX o raw.

viernes, 1 de marzo de 2019

De R en terminal a RStudio

Desde hace años realizo todas las pruebas estadísticas en R. Debido a mi edad (yo trabajaba en el siglo pasado con MS-DOS) y la costumbre al terminal de Linux, nunca he tenido problemas para usarlo en terminal.


Otros menos acostumbrados a la consola se han inclinado por RCommander, una máscara gráfica


que cumple las necesidades básicas y algunas de las avanzadas, pero no todas las que yo necesito, por lo que de nada me sirve escaparme de los comandos.
Sin embargo, tras un tiempo de resistencia, he decidido utilizar RStudio. En este caso, estamos ante un Entorno de Desarrollo Integrado para el uso del lenguaje R.


¿Qué me ha convencido para ello? Vamos a ir viendo algunas ventajas:
1. Tiene un editor de código incorporado que hace resalte de sintaxis; no es fundamental, ya que el código siempre lo he escrito en gedit, que también me hace resalte de sintaxis.
2. Autocompletado de código, y atajos de teclado para incluir algunos caracteres; interesante, pero no fundamental.
3. Ayuda integrada sobre la escritura de código, indicando sintaxis y argumentos; interesante también, pero tampoco fundamental.
4. Cuatro ventanas que te permite ver el código, los resultados, la ayuda y otras cosas al mismo tiempo. Interesante, pero no fundamental.
5. Se puede trabajar en proyectos separados. Nada que no pudiera hacer en R con diferentes terminales, uno (o más) para cada proyecto...
y otras muchas cosas que no uso. Lo que verdaderamente considero importante es el manejo de los gráficos. En general, la ventana de gráficos suponía la eliminación del anterior al generar uno nuevo, con lo cual debemos extraerlo antes de mandar uno nuevo; y eso es un problema cuando lanzas un script largo con muchos comandos. Sin embargo, con RStudio los gráficos se van almacenado en la pestaña "plots", los puedes analizar y luego guardar los que quieras.
Tiene también una segunda ventaja; como en mis clases también la estadística es una herramienta fundamental, una máscara gráfica impresiona menos que un terminal, ya que los alumnos no son ni matemáticos ni programadores.

miércoles, 20 de febrero de 2019

Solitario 48... en una sola vuelta

Pues sí, es la primera vez que lo logro. En el Solitario Cuarenta & Ocho de KPatience he terminado el solitario sin segunda vuelta.


En general, en este solitario tengo un porcentaje de acierto del 75%, y siempre lleva un rato, pero en este caso la combinación de las cartas fue tan sencilla que lo terminé muy rápidamente y sin tener que recurrir a la segunda vuelta, donde vas rellenando lo que falta si has acertado en las elecciones de cartas.

domingo, 20 de enero de 2019

División de ficheros de sonido mediante ficheros cue: versión mejorada

Ya había hablado hace años respecto a la división en terminal de discos de música comprimidos en un solo fichero. Creo que merece la pena hacer una revisión, ya que en estos momentos podemos hacerlo mediante una orden más corta y ya no es necesario disponer de una librería externa fuera de repositorio para la compresión monkey audio. Gstreamer plugin contiene codecs para monkey audio, y ya no es necesario busca por ahí adelante una librería que nos permita la convertir ficheros ape a flac. En estos momento sí estoy en el proceso de eliminación de CDs de música, que ocupan mucho (tengo más de 15 metros) y solo me quedan dos lectores capaces de leerlos, la grabadora del ordenador principal y una cadena de música del siglo pasado. Esto lleva a un engorroso procesado de lectura, extracción en calidad digital en piezas flac, para evitar pérdida de calidad y posterior etiquetado id3 para que mantenga información del álbum, autor y título de pieza. Sin embargo, en la red disponemos de copias digitales sin pérdida que nos permite evitar en engorroso y lento proceso de extracción digital. Estos ficheros suelen estar disponibles como un fichero flac o ape —de ahí esa información previa sobre el sonido monkey— y un fichero cue que indica los metadatos asociados a ese disco. En la entrada que señalo al principio describía los comandos que utilizaba para dividir estos ficheros, pero hemos mejorado el proceso:
1. División del fichero. Usaremos el comando shnsplit (instalar previamente shntool: su -c 'dnf install shntool')

shnsplit -f CDImage.cue -o "flac flac" -t "%n %t" CDImage.ape

Sobre las opciones de shnsplit, mirar aquí o poner shnsplit -h. En este caso:
-f file.cue para indicar de donde extraer los metadatos correspondientes a este fichero
-o codec deseado en la salida (en est caso flac de salia usando el codec flac; la otra opción en mi máquina era "flac ffmpeg"
-t poner en el nombre de los ficheros salida %n el número de pieza y %t el título


2. Etiquetar las piezas. Usaremos el comando cuetag.sh (instalar previamene cuetools: su -c 'dnf install cuetools')

cuetag.sh file.cue *.flac

lo que etiqueta las piezas con los metadatos del fichero cue.

y listo. Sencillo y ahorra un tiempo precioso al evitar extraer uno a uno los CDs de música que tengáis en casa y que ya no podemos leer por falta de dispositivos. No es difícil, Sound-Juicer configurado adecuadamene os extrae la música en flac sin problemas, pero consume mucho tiempo y hay que ir de uno en uno. Una vida entera para recuperar la música (si recuerdo lo que me llevó digitalizar las cintas de audio y vídeo me entra un dolor la cabeza).

martes, 8 de enero de 2019

Conversión de un PDF a imagen. Imagemagick, convert y la calidad obtenida

Al contrario que la entrada anterior, ahora me han pedido que convirtiera una ficha editable en una imagen. Lo más sencillo es convertir el ODT en writer a pdf y este a una imagen con convert (comando de imagemagick),


sin importar el número de páginas, ya que convert convierte a cada una en una imagen.

$ convert fichero.pdf fichero.png  # o jpg, según las posibilidades del programa destino

El problema es la calidad de salida. Para PDFs con texto e imágenes, los resultados salen mejor introduciendo algunos parámetros

$ convert -density 300 -quality 96 fichero.pdf fichero.png

Y así sale de manera adecuada. Y si no, que cada uno se ajuste a las muchas posibilidades de convert

man convert

Nada como un terminal pata negra