viernes, 30 de octubre de 2020

Escanear con multifuncional HP sin cuenta HP

Este artículo es una parte desahogo y otra parte solución. El problema es que el software HP no me deja escanear sin iniciar sesión con cuenta HP.

Cuando comenzó la cuarentena por la pandemia de Covid-19, decidí comprar una impresora para usar en el hogar. Mis requisitos eran:

  • Multifuncional: para no tener que comprar luego un escáner por separado.
  • A color: para poder imprimir sin salir de casa (cuarentena), y no tener que comprar otra impresora más adelante.
  • En red: para que todos en la casa pudiésemos imprimir desde cualquier habitación y cualquier dispositivo.
  • Mantenimiento bajo: Con esto quedaron descartadas las impresoras de cartucho. Y entre láser y tinta continua, tinta continua tiene un costo inicial menor.

La opción ganadora en ese momento, por precio y fecha de entrega fue HP Inkjet Wireless 415. Una impresora multifuncional, a color, con conectividad de red inalámbrica (Wi-Fi), a tinta continua.

La aplicación por defecto para escanear de Windows es realmente básica. Así que instalé los controladores HP, y el software adicional para imprimir y escanear.

Todo marchaba bien hasta hace aproximadamente un mes, cuando quise escanear desde la aplicación HP, y me solicitó crear una cuenta HP. Al principio me pareció un poco molesto, ya que me obligaba a buscar la opción de "no quiero tener que iniciar sesión con ustedes para imprimir con el dispositivo que compré y es de mi propiedad". No conseguí dicha opción así que me molesté un poco más, porque ahora iba a tener que buscar en internet donde habían escondido la opción de escanear sin ser espiado. Conseguí otros usuarios con el mismo problema que yo, y las opciones que vi en el momento fueron: ceder y usar una cuenta HP, conformarme con la funcionalidad de la aplicación para escanear que viene por defecto con Windows, o no usar el escáner en absoluto. Ahí me molesté mucho más, porque ninguna de esas opciones me gustó. 

Me vi obligado a consultar posibles aplicaciones para escanear con licencia libre o abierta. Afortunadamente, vi que habían buenos comentarios sobre NAPS2, por lo cual decidí probarlo y funcionó de maravilla. Acto seguido desinstalé el spyware de HP de mi equipo.

Conclusión

viernes, 23 de octubre de 2020

Reparar una actualización fallida de Ubuntu

El otro día estaba realizando una actualización en un computador portátil antiguo de Ubuntu 18.04 a Ubuntu 20.04. Recientemente, el computador ha tenido algunos problemas de sobrecalentamiento, por lo cual tuve que cambiarle la pasta térmica del CPU. Como no había presentado más fallas, me confié, y realicé una una actualización a la siguiente versión. Desgraciadamente, a medio camino de la instalación se sobrecalentó el computador, y por seguridad se apagó. De allí, al iniciar el sistema no volvió a entrar al ambiente gráfico, sino a la consola de emergencia.

En consola de emergencia, lo primero que intenté fue reparar la el estado de instalación de los paquetes utilizando el siguiente comando:

sudo apt install -f

Pero esto falló debido a un aparente conflicto de dependencia mutua de udev con snapd. Entonces comencé a buscar en internet, y conseguí que en algunos casos, basta con:

  1. Reparar la instalación anterior.
  2. Reconfigurar los paquetes instalados.
  3. Actualizar el listado de paquetes instalables desde los repositorios.
  4. Actualizar los paquetes instalados en el sistema (que no requieran la desinstalación de paquetes ya presentes en el sistema).

Esto se puede ejecutar utilizando los siguientes comandos:

sudo apt install -f #1
sudo dpkg --configure -a #2
sudo apt update #3
sudo apt upgrade #4

Mi caso no fue solucionable con los comandos anteriores, ya que el conflicto antes mencionado hacía que terminasen con error "sudo apt install -f", "sudo dpkg --configure -a" y "sudo apt upgrade". El único comando que siguió funcionando fue "sudo apt update". 

Entonces seguí investigando y encontré un procedimiento para reparar una instalación fallida iniciando el equipo con un sistema operativo desde un medio externo (LiveUSB o LiveCD), utilizando chroot. En mi caso, utilicé una memoria USB que tenía a la mano con Debian, pero cualquier otra distribución derivada de Debian (Ubuntu, Mint, etc) o incluso otras distribuciones de Linux. Tomé como base los comandos utilizados allí, pero le hice algunas modificaciones. Los pasos ejecutados fueron:

  1. Iniciar el computador desde un sistema Linux externo.
  2. Identificar la partición donde está instalada el sistema a recuperar. En mi caso tuve que probar con varias, porque el computador tiene varias instalaciones de Linux, de diferentes distribuciones, en distintas particiones.
  3. Montar la partición a reparar en /mnt
  4. Montar "enlazados" (utilizando la opción bind) los directorios proc, sys, y dev del sistema a reparar en el ambiente del medio externo.
  5. Copiar el archivo resolv.conf desde el ambiente externo al ambiente a reparar.
  6. Cambiar de ambiente raíz, al sistema a reparar.
  7. Reparar la instalación anterior.
  8. Reconfigurar los paquetes instalados.
  9. Actualizar el listado de paquetes instalables desde los repositorios.
  10. Actualizar los paquetes instalados en el sistema, que no requieran la desinstalación de paquetes ya presentes en el sistema.
  11. Actualizar los paquetes instalados en el sistema, aunque sí requieran la desinstalación de paquetes ya presentes en el sistema.
  12. Desinstalar los paquetes innecesarios
  13. Salir del ambiente raíz del sistema a reparar.
  14. Desmontar los directorios proc, sys, y dev del sistema a reparar previamente montados en el ambiente externo.
  15. Desmontar la partición a reparar en /mnt previamente montada en el ambiente externo.
  16. Reiniciar el sistema en el ambiente ya reparado.

Estos pasos se pueden ejecutar con los siguientes comandos:

fdisk -l #2
sudo mount /dev/sda1/ /mnt #3 Sustituir sda1 por la partición correcta.
sudo mount --bind /proc/ /mnt/proc/ #4.a
sudo mount --bind /sys/ /mnt/sys/ #4.b
sudo mount --bind /dev/ /mnt/dev/ #4.c
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf #5
sudo chroot /mnt/ #6
sudo apt install -f #7
sudo dpkg --configure -a #8
sudo apt update #9
sudo apt upgrade #10
sudo apt full-upgrade #11
sudo apt autoremove  #12
exit #13
sudo umount /proc/ #14.a
sudo umount /sys/ #14.b
sudo umount /dev/ #14.c
sudo umount /mnt/ #15