Mostrando las entradas para la consulta sudo ordenadas por fecha. Ordenar por relevancia Mostrar todas las entradas
Mostrando las entradas para la consulta sudo ordenadas por fecha. Ordenar por relevancia Mostrar todas las entradas

GImageReader lector OCR simple y ligero

El reconocimiento óptico de caracteres expresado con frecuencia con la sigla OCR (del inglés Optical Character Recognition), es un proceso dirigido a la digitalización de textos desde una imagen o por ejemplo de un PDF. En muchos casos tenemos una imagen o un PDF que contiene texto, bien obtenido desde una fotografía, o de un escaneo de un documento, y nuestra intención es obtener ese texto para poder ser usado en: un articulo, o en los apuntes de la escuela. Para evitar mecanografiar la fotografía, hay programas que son capaces de reconocer el texto que contiene el archivo gráfico, capturarlo y así poder ser exportado a otro documento, o permitir un copia-pega.


GImageReader es un lector OCR simple, ligero, gratuito y multi-plataforma para ordenador que nos facilitara la tarea de obtener texto de imágenes o de archivos PDF.

Las funciones que esta aplicación permite realizar son las siguientes:

  • Importar documentos PDF e imágenes desde el disco, dispositivos de escaneado, porta papeles y capturas de pantalla.
  • Procesar múltiples imágenes y documentos de una sola vez
  • Definir del área de reconocimiento manual o automática
  • Reconocer a texto sin formato o documentos hOCR
  • Mostrar el texto reconocido directamente junto a la imagen
  • Procesar el texto reconocido, incluida la revisión ortográfica
  • Importar documentos o imágenes cuyo texto se encuentre en diferentes idiomas
  • Generar documentos PDF a partir de documentos hOCR


- Generar documentos PDF desde el documento hOCR

  • Ubuntu

    Ubuntu: Disponible en ppa:sandromani/gimagereader
Se encuentra disponible en los repositorios de las principales distribuciones linux, y es posible instalarlo desde terminal:
  • Fedora:
yum install  tesseract tesseract-langpack-es gimagereader

  • Aprcity o derivados de Arch

yaourt -S gimagereader

  Si no tenemos tesseract instalado, toca ejecutar:

sudo pacman -S tesseract tesseract-data-eng tesseract-data-spa

    •  En Ubuntu y derivadas como Linux Mint

    sudo add-apt-repository ppa:sandromani/gimagereader

    sudo apt-get update

    sudo apt-get install gimagereader tesseract-ocr tesseract-ocr-spa tesseract-ocr-eng

     El funcionamiento, como ya he dicho, es muy simple. En este caso vamos a hacer una captura de pantalla que contiene texto e imágenes, y vamos a digitalizar el texto para exportarlo a un PDF.

    Pegar imagen que ha sido copiada y capturada en el navegador

    Añadimos un archivo, pegamos una imagen o realizamos una captura de pantalla
    Se nos mostrara el documento seleccionado
    Podemos ajustar de forma manual el área que queremos capturar o dejar que el programa haga su magia y reconozca los textos que contiene.
    Si fuera necesario podemos manipular la imagen para aumentar o disminuir el brillo, contraste, resolución de pantalla, o invertir los colores.
    Una vez se muestran las áreas que contienen el o los texto que queremos digitalizar, le indicaremos en que idioma se encuentra escrito, gImageReader reconocerá el texto y nos mostrará a continuación los textos que ha reconocido. 
    Podremos copiarlo o guardarlo en en un archivo de texto plano, que nos permitirá manipular más tarde.
    En este caso te he descrito los pasos para una imagen, pero el potencial de la aplicación va más allá por que es capaz de digitalizar documentos PDF que no sean editable y exportarlo a un PDF que puedas modificar.
    Vista rápida de la captura de texto de una imagen

    Sistema de archivos con mayor compatibilidad entre Windows, Linux y Mac

    Cuando en el hogar, o en la oficina, utilizas distintos sistemas operativos Windows, Linux o Mac. Es muy importante dar un formateado con un sistema de archivos, compatible para nuestros discos duros y/o memorias externas.

    Recientemente he recuperado un disco duro de 80Gb y quería utilizarlo de soporte para copias de seguridad. Conectándolo a un sistema Linux, este caso Linux Mint, el montaje de la unidad y su lectura eran correctos, pero a la hora de conectarlo a un sistema Windows 11, este no lo reconocía.

    El sistemas mas compatible entre los distintos sistemas operativos es FAT32. Pero tiene la limitación que solo se pueden formatear con este sistema unidades de no mas de 4 GB.

    NTFS (Nueva Tecnología de sistema de archivos)es un sistema nativo de Windows, no es compatible en sistemas MAC y algunas distribuciones Linux.

    ext2, ext3 y ext4 son formatos que suelen utilizar de forma local las distribuciones Linux, y nos puede acarrear algún problema de lectura en sistemas Windows.

    exFAT:

    • Ventajas: Permite archivos grandes y es compatible con Windows, macOS y Linux.
    • Limitaciones: No es tan ampliamente compatible como FAT32.
    • Uso común: Buen formato para unidades externas compartidas entre diferentes sistemas operativos.


    Para poder realizar este formateo de una unidad externa USB al formato exFAT es necesario tener instalado la utilidad exFAT-utils
    sudo apt-get install exfat-utils

    Para saber donde se encuentra tu unidad USB alojada, puedes averiguarlo con el comando  

    df -h

     df  Informa  de  la  utilización del espacio de disco en sistemas de ficheros.

     -h Opción que muestra la capacidad de las carpetas solicitadas

    Una vez que nos hemos asegurado que la unidad se encuentra montada en nuestro sistema, procederemos a realizar el formateado de la misma

    sudo mkfs.exfat <ruta disco usb>

    Escanear todos los sistemas dentro de nuestro rango con Nmap

    Nmap es un programa de código abierto y multiplataforma que sirve para efectuar rastreo de puertos.

    En este caso vamos a realizar un escaneo de todos los dispositivos conectados a nuestro rango de IP. Para que nos muestre en un archivo que puertos se encuentran abiertos, y por lo tanto una puerta de entrada a posibles ciberataques. 

    Captura de pantalla ejecución nmap a través de Virtualbox corriendo el sistema operativo Kali

    Te dejo un ejemplo, para utilizar en terminal Linux, para realizar un escaneo a todos los equipos que se encuentren en nuestra LAN.

    Si solo quieres realizar un escaneo a un equipo, cambiaremos <comienzo de nuestro rango ip>/24 por el numero de IP del equipo que queremos analizar, por ejemplo 192.168.5.12

    sudo nmap -p- --open -T5 -v -n -A -sV -Pn -sS <comienzo de nuestro rango ip>/24 -oX Descargas/escaneo.xml

    • sudo: permite ejecutar comandos con privilegios de «super usuario».
    • nmap: es la herramienta que vas a utilizar para realizar el escaneo de puertos.
    • -p- : hace referencia a los puertos.
    • --open: sirve para seleccionar únicamente los puertos que están abiertos.
    • -T5: hace referencia al temporizador del escaneo. Puede ir de 0 a 5, donde 0 es menos agresivo y lento y 5 es más agresivo y rápido.
    • -v: aplica verbose, para ver los resultados según va escaneando.
    • -n: no aplica resolución DNS, lo que genera más ruido y ralentiza el escaneo.
    • -A: detecta el sistema operativo y los servicios. 
    • -sV: descubre las versiones de los servicios.
    • -Pn: evita el descubrimiento de host, que puede ralentizar el análisis.
    • -sS: realiza la comunicación a través del protocolo TCP más rápida.
    • <comienzo de nuestro rango ip>/24 Buscaremos en toda nuestra red. Si nuestro equipo se encuentra en la dirección IP 192.168.5.12 y la mascara de subred fuera 255.255.255.0, nuestro rango IP seria 192.168.5.0/24
    • -oX se utiliza para exportar a un archivo y el resto del comando hace referencia a la ubicación en la que se va a descargar un archivo denominado «escaneo.xml», donde se guardarán todos los puertos abiertos que ha encontrado el escaneo.
    🔔 Es posible que le lleve tiempo rastrear todos los servicios y todos los equipos de la red. Con esta configuración obtendremos mucha información de todos los dispositivos que se encuentran en nuestra LAN

    Para facilitar su visualización utilizaremos el comando xsltproc

    xsltproc Descargas/escaneo.xml -o escaneo.html


    Resultado en html del un escaneo de puertos realizado con nmap
     

    Descargar video y audio con youtube-dl

    En esta entrada se muestra el uso de la aplicación youtube-dl que permite descargar video y/o audio de servicios de publicación audiovisuales tales como:

    • BBC iPlayer
    • CNN
    • Dailymotion
    • Dropbox
    • Facebook
    • Google Drive
    • LiveLeak
    • Lynda
    • Metacafe
    • Metacritic
    • Openload
    • Streamango
    • Tonton
    • Vid.me
    • Vimeo
    • YouTube
    • Crunchyroll
    • Música
    • 8tracks.com
    • AudioMack
    • Bandcamp
    • Beatport
    • Deezer
    • EveryonesMixtape
    • Freesound
    • Hearthis.at
    • Myspace
    • SoundCloud
    • más....
    Recuerda que algunos audios y videos que se encuentran alojado en estos servicios, pueden estar tutelados bajo licencias privativas y por consiguiente con derechos de autor. Y que deberás actuar en consecuencia a las leyes de tu país.

    Youtube-dl es una aplicación liviana y multiplataforma (Windows, Linux) que nos permite descargar de internet contenido audiovisual a nuestro ordenador, en formatos que podemos utilizar de forma offline, sin conexión a red. Principalmente está enfocado a descargar video y audio del servidor de contenido multimedia Youtube , aunque puede ser utilizado otras plataformas.

    Se encuentra en los repositorios oficiales de Debian

     sudo apt-get install youtube-dl

    Si no disponemos de distribucion basada en Debian, descargamos el archivo de la aplicación y le daremos privilegios de ejecución.

     sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

    o

    sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

    Y le daremos permisos daremos permisos de ejecución

     sudo chmod a+rx /usr/local/bin/youtube-dl

    En sistemas Linux es posible que necesitemos instalar el paquete ffmpeg, para la conversión en distintos formatos de audio y video

    Youtube-dl no tiene entorno gráfico, y deberá ser ejecutado el terminal

    Para descargar el archivo en nuestro ordenador, primero deberemos navegar por los distribuidores de contenido favoritos y obtener la dirección url del video del queremos tener copia offline.

    Te dejo unos ejemplos con las opciones básicas, si quieres profundizar más o no encuentras la configuración adecuada, siempre puedes consultar la documentación de youtube-dl

    • Descargar un archivo de <url> donde se encuentre alojada el ejecutable
      • youtube-dl <url>
    • Descargar un archivo de  <url> en una carpeta concreta.
      • Linux usaremos comillas simple para indicar la ruta de la carpeta: youtube-dl -o '<carpeta donde queremos guardar el archivo>' <url>
      • Windows no es necesario usar comillasyoutube-dl -o  <carpeta donde queremos guardar el archivo>' <url>
    • Youtube-dl nos permite descargar ficheros en gran variedad de formatos de audio y video, dependiendo de la fuente. Para listar las opciones disponibles para un medio:
      • youtube-dl --list-formats <url>
    • Descargar video en formato determinado
      • youtube-dl -f mp4 <url>
    • Para descargar el multimedia en todos los formatos soportados
      • youtube-dll --all-formats <url>
    • Para descargar el audio y convertirlo a formato mp3. Recuerde que en Linux, tendremos que tener instalado el paquete ffmpeg.
      • Windows: youtube-dl -x --audio-format mp3 <url>
      • Linux: youtube-dl --format mp3 <url>
    • Descargar con la máxima calidad
      • Mejor video y audio: youtube-dl -f best <url>
      • Mejor audio y convertirlo a mp3: youtube-dl -f bestaudio -x --audio-format mp3 <url>
      • Mejor calidad de video: youtube-dl -f bestvideo <url>
    • Descargar con la mínima calidad disponible
      • Peor video y audio: youtube-dl -f worst <url>
      • Peor audio y convertirlo a mp3: youtube-dl -f worstaudio -x --audio-format mp3 <url>
      • Peor calidad de video: youtube-dl -f worstvideo <url>
    • Descargar varias direcciones que hemos listado en un archivo de texto, indicando cada url en una línea.
      • youtube-dl -a <archivo que contiene url>
    • Descargar el video y los subtitulos, siempre y cuando estén habilitados
      • youtube-dl --embed-subs <url>
    • También permite la descarga de listas de reproducción, simplemente hay que indicar el URL de la lista en lugar del URL del vídeo. La url del la lista tiene que ser: https://www.youtube.com/playlist?list=<lista>
      • youtube-dl <url playlist>

    • Para descargar solo una parte de una lista de reproducción 
      • youtube-dl --playlist-start 5 --playlist-end 10 <url playlist>
    • ERROR: 7UiyB3zXm3c: YouTube said: Unable to extract video data
      • youtube-dl --update
    Algunas de las ventajas de usar youtube-dl son:
    • Es compatible con muchas más páginas web que sus competidores.
    • Es un programa pensado para usarse desde la terminal, lo que lo hace muy ligero y rápido.
    • Es un software libre y gratuito, lo que te garantiza su transparencia y seguridad.
    • No contiene , ni muestra publicidad, como si ocurre con ciertas aplicaciones web.

    Como ver dependencias rotas desde terminal

    Al realizar una instalación en Linux es posible que durante el proceso no se instalen todas las dependencias, o también que durante un mantenimiento se hayan borrado paquetes necesarios para otras aplicaciones. Para saber si tenemos paquetes huérfanos y/o dependencias rotas en el sistema, podremos utilizar el comando:


    sudo apt-get check


    Si todo está correcto, obtendremos un resultado similar a este:


    Leyendo lista de paquetes... Hecho

    Creando árbol de dependencias       

    Leyendo la información de estado... Hecho


    Si no es así, deberíamos resolver las dependencias que nos muestran o purgar la aplicación que  no se ha instalado de forma completa 

    Artículos realizados con esta publicación:

    Cómo ejecutar archivos con extensión .run

    Un archivo .run es normalmente un programa personalizado que debe ejecutarse para instalar y/o actualizar un software. No  es mejor método para la instalación de un nuevo programa, ya que no se rastrean dónde van los archivos y normalmente no proporcionan un método de desinstalación. no hay forma de estar seguro de lo que el script le hará a su sistema, por lo que se consideran inseguros. Con lo cual solo que habrá que ejecutar archivos de instalación de aplicaciones y descargarlo de páginas web confiables. Por ejemplo VirtualBox, utiliza este tipo de archivos para realizar la instalación y la actualización de este virtualizador.

    Lo primero que tendremos que hacer darle permiso de ejecución al archivo que hemos descargado, como es el caso para actualizar la aplicación a la última versión

    sudo chmod +x nombre_del_archivo.run

    sudo chmod +x VirtualBox-6.1.40-154048-Linux_amd64.run

    Seguidamente ejecutaremos el archivo con la extensión run añadiendo los caracteres ./ antes del ejecutable 

    sudo ./nombre_del_archivo.run

    sudo ./VirtualBox-6.1.40-154048-Linux_amd64.run

    Desde el terminal de Linux, gestión y creación de usuarios

    La utilización del terminal es una herramienta muy potente, y con muy bajo coste computacional. Seguidamente enumeramos algunos ejemplos de creación de usuarios ➕, en Linux, sus comandos y opciones:

    • Crear un usuario del sistema, incluyendo su directorio personal.
      • sudo useradd -m nombre_usuario
    • Crear un usuario del sistema, sin incluir su directorio personal.
      • sudo useradd nombre_usuario
    • Crear un usuario del sistema, incluyendo su directorio personal.
      • sudo adduser nombre_usuario
    • Crear un usuario del sistema con un directorio personalizado, dentro de la carpeta home
      • sudo useradd -d /home/nombre_carpeta nombre_usuario
    • Crear un usuario con un directorio personal en una ruta específica.
      • sudo useradd -m -d /carpeta/nombre_carpeta nombre_usuario

    Borrar usuarios del sistema📤:

    •  Borrar un usuario del sistema, incluyendo su directorio personal .
      • sudo userdel -r  nombre_usuario
    • Borrar un usuario del sistema, sin incluir su directorio personal.
      • sudo userdel nombre_usuario
    • Borrar un usuario del sistema, sin incluir su directorio personal.
      • sudo deluser nombre_usuario
    • Borrar un usuario del sistema de un grupo.
      • sudo deluser nombre_usuario nombre_grupo

    Establecer una contraseña a un usuario del sistema
    • sudo passwd nombre_usuario
    Dar permisos de superusuario, sudo, a un usuario 🔐
    • sudo usermod -a -G sudo nombre_usuario
    Cambiar el nombre de un usuario
    • sudo usermod --login nuevo_nombre nombre_usuario
    Listar usuarios en Linux

    Instalar varios paquetes DEB o RPM a la vez

    Se puede dar el caso, como ocurre si quieres instalar o actualizar LibreOffice, que te encuentres que no viene en un solo paquete, sino 42 elementos a instalar; y todo esto sin contar con las traducciones al castellano.


    Paquetes Libreoffice

    En primer lugar nos situaremos en la carpeta donde se encuentran alojados los paquetes a instalar. Bien directamente desde la consola de comandos, o desde el explorador de archivos, pulsando el botón derecho y Abrir en un Terminal


    Abrir en un Terminal

    Dependiendo del sistema operativo y que tipo de paquetes maneje utilizaremos el comando que corresponda

    • Para sistemas o basados en Debian: sudo dpkg -i *.deb
    • Para sistemas o basados en Fedora: su -c 'dnf install *.rpm'
    • Para sistemas o basados en Mandriva: sudo urpmi *.rpm
    • Para otros sistemas que utilicen los paquete RPM (openSUSE, etc.): rpm -Uvh *.rpm

    Añadir botón apagado encendido Raspberry

    Raspberry es un pequeño ordenador, de bajo coste que podemos utilizar como PC  de sobremesa o como servidor, sin necesidad de conectarle ningún periférico (pantalla, teclado, ratón). En este último caso, la labor de apagado solo es posible desconectando la corriente, con el consabido riesgo de pérdida de datos, y creamos archivos corruptos que impidan y/o dificulten su posterior encendido. También es posible que dañemos la tarjeta SD y debemos sustituirla o formatearla y volver a volcar el sistema operativos e instalar servicios que teníamos instalados y configurarlos otra vez.

    Una forma de evitar este tedioso proceso es incluir un botón de apagado, que también nos será válido para volver a encenderlo si lo dejamos en stand-by.


    Para ello utilizaremos el interfaz I/O del que dispone la Raspberry



    El interfaz GPIO dispone de unos terminal macho numerados. Disponiendo las Raspberry en esta posición su disposición sera de izquierda a derecha y de arriba abajo empezando del 1 al 40


    En nuestro caso utilizaremos los pines 4 y 6 donde colocaremos nuestro botón para realizar el apagado de nuestro pequeño ordenador. 

    Realizaremos un pequeño bricolaje. La manera más sencilla sería con la utilización de dos cables que en una de sus puntas se encuentran una punteras hembras aisladas y en la otra punta de los cables soldar un pequeño pulsador. También podremos utilizar una placa de pruebas para, más adelante poder ampliar nuestros proyectos.


    Dependendiendo del sistema operativo que utilicemos, es posible que tengamos que realizar la instalación de ciertas librerías para que los scripts de Python funcionen correctamente

    sudo apt-get install python-is-python3

    sudo apt-get -y install python3-rpi.gpio

    Los siguientes scripts que manejan los eventos provocados por la pulsación del botón colocado entre el pin 5 y 6 han sido copiados de la página 

    Soloelectronicos.com

     Crearemos un archivo ejecutable para Python que llamaremos listen-for-shutdown.py

    sudo nano listen-for-shutdown.py

    Copiaremos el siguiente script el archivo que hemos creado y guardaremos su contenido


    #!/usr/bin/env python


    import RPi.GPIO as GPIO

    import subprocess



    GPIO.setmode(GPIO.BCM)

    GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    GPIO.wait_for_edge(3, GPIO.FALLING)


    subprocess.call(['shutdown', '-h', 'now'], shell=False)

     

    Seguidamente moveremos el archivo a la carpeta /usr/local/bin/

    sudo mv listen-for-shutdown.py /usr/local/bin/

    Y le daremos atributos de ejecución

    sudo chmod +x /usr/local/bin/listen-for-shutdown.py

    Si tenemos nuestra Raspberry en stand-by, bien por que la hemos apagado desde la línea de comandos o desde nuestro botón de apagado. También es posible encenderlo desde el mismo botón, para ello crearemos un nuevo archivo. 

    sudo nano listen-for-shutdown.sh

    Y copiaremos y guardaremos el siguiente código:


     #! /bin/sh


    ### BEGIN INIT INFO

    # Provides:          listen-for-shutdown.py

    # Required-Start:    $remote_fs $syslog

    # Required-Stop:     $remote_fs $syslog

    # Default-Start:     2 3 4 5

    # Default-Stop:      0 1 6

    ### END INIT INFO


    # If you want a command to always run, put it here


    # Carry out specific functions when asked to by the system

    case "$1" in

      start)

        echo "Starting listen-for-shutdown.py"

        /usr/local/bin/listen-for-shutdown.py &

        ;;

      stop)

        echo "Stopping listen-for-shutdown.py"

        pkill -f /usr/local/bin/listen-for-shutdown.py

        ;;

      *)

        echo "Usage: /etc/init.d/listen-for-shutdown.sh {start|stop}"

        exit 1

        ;;

    esac


    exit 0

     

    Una vez guardado moveremos el archivo a la carpeta  /etc/init.d/

    sudo mv listen-for-shutdown.sh /etc/init.d/

    Y le concederemos privilegios de ejecución:

     sudo chmod +x /etc/init.d/listen-for-shutdown.sh

    Ahora registramos la secuencia de comandos para ejecutar en el arranque y le pasaremos el parámetros de arranque con los dos siguientes comandos.

    sudo update-rc.d listen-for-shutdown.sh defaults

    sudo /etc/init.d/listen-for-shutdown.sh start

    En mi caso tenia instalado Ubuntu Server como sistema operativo. Y es posible que al ejecutar el script te aparezcan uno o varios mensajes de error. Si es asi te dejo los articulos que publique para solucionarlos, y que vuestro botón de apagado funcione correctamente.

    Mensaje de error /usr/bin/env: ‘python’: No such file or directory

    Mensaje de error import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'


    Mensaje de error import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'

    Continuando con la configuración para que funcione un botón de apagado para la Raspberry Pi2 conectado al al GPIO.

    Al lanzar el ejecutable escrito en Python 3 se detiene en la linea en la que importa la RPi de la GPIO, el módulo no ha sido instalado.

    import RPi.GPIO as GPIO ModuleNotFoundError: No module named 'RPi'

    Para solucionarlo hay que instalar, o reinstalar el módulo python3-rpi.gpio

     sudo apt-get -y install python3-rpi.gpio

    Mensaje de error /usr/bin/env: ‘python’: No such file or directory

    Al intentar implementar un botón de apagado para la Raspberry Pi2 en el que tengo instalado Ubuntu Server, al lanzar el servicio de un ejecutable escrito para Python 3, me encontré con el siguiente error.

    /usr/bin/env: ‘python’: No such file or directory

    La solución encontrada ha sido realizando la instalación del paquete  python-is-python3

    sudo apt-get install python-is-python3

     

    Mensaje de error sudo: unable to resolve host ubuntu: Name or service not known

     En mi caso me ocurrió en una Raspberry en la que había instalado Ubuntu Server. Pero puede que les ocurra al invocar el comando sudo. No es problematico, por que el comando era ejecutado con privilegios de administrador, pero es molesto que cada vez realices una tarea, salga un mensaje de error



    sudo: unable to resolve host ubuntu: Name or service not known

    Para resolverlo basta con cerciorarse el nombre que le hemos dado a la máquina

     hostname

    Y añadir una línea que falta en el archivo  /etc/hosts

    sudo nano /etc/hosts

     


    Justo debajo de  127.0.0.1 localhost añadiremos una nueva línea similar a la anterior pero con el nombre de nuestro hosts

    127.0.0.1 nombre_del_hosts


     

     

     


    ImageMagick, manipulación y conversión de imágenes

    ImageMagick_logo
    ImageMagick es un conjunto de herramientas de código abierto para la conversión y manipùlación de imágenes desde la línea de comandos. 
    Está claro que trabajar en terminal es lo más antagonista a la imagen y/o a la fotografía. 
    Pero en ciertas ocasiones no necesitamos ver la imagen para realizar los cambios, no disponemos de la potencia de procesamiento necesaria para lanzar ciertas aplicaciones, o el trabajo que vamos a realizar no necesita un programa que corra en un entorno gráfico:




    • Procesamientos por lote de varias imágenes.
    • Conversión de formato de una imagen, admite más de 200.
    • Crear un GIF con una secuencia de imágenes.
    • Encriptar o desencriptar una fotografía, que no queremos que sea vista por ciertas personas
    • Borrar los datos Exif  de una fotografía que vamos a compartir en redes sociales y no queremos que se sepa dónde la hemos obtenido.
    • Transformar: Cambiar el tamaño, rotar, escalar, recortar, voltear una imagen.
    En su página web podemos descargar e instalar este conjunto de herramientas en diferentes sistemas.
    La versión actual es ImageMagick 7.1.0-30. Se ejecuta. Linux, Windows, Mac Os X, iOS, Android y otros.
    Para distribuciones basadas en Debian, estas aplicaciones se encuentran en sus repositorios y podemos instalarla con el comando:

    sudo apt install sudo apt install imagemagick



    Cómo cambiar el idioma del teclado en terminal Linux

     

    Teclado en ingles

    Al realizar una instalación en Linux es posible configurar el tipo de teclado utilizado y la configuración regional, para que podamos las características del idioma castellano. Pero si no ha sido posible, podremos configurarlo a posteriori. Este artículo y el anterior están muy relacionados, o sugiero echar un vistado para una correcta configuración Cambio de idioma y caracteres a español terminal Linux

    El comando que utilizaremos será

    setxkbmap

    Pero para ello deberemos tener instalado la libreria x11-xkb-utils

    sudo apt-get install x11-xkb-utils

    Y ahora si cambiaremos la configuración de distribución del teclado español

    sudo setxkbmap es

    o

    sudo setxkbmap -layout 'es,es' -model pc105

     

    Para que esta nueva configuración tenga efecto deberemos reiniciar el sistema

    Cambio de idioma y caracteres a español terminal Linux

    Es curioso que siendo el segundo idioma más hablado en el mundo, por defecto las instalaciones basada en Linux utilicen el juego de caracteres anglosajón.

    Para comprobar que juego de caracteres que se encuentra instalada por defecto en nuestra instalación Linux y la configuración regional de cada categoría como:

    • nombre
    • moneda
    • dirección
    • configuración numérica
    • teléfono
    • fecha y hora

    Utilizaremos desde el terminal el comando:

    locale

    locale

     Para cambiar la configuración regional a es_ES.UTF-8 lo hacemos de la siguiente manera:

    export LANG=es_ES.UTF-8

    export LANG=es_ES.UTF-8

    Como podemos ver, ya lo tenemos cambiado, pero esto solo nos valdrá para esta sesión. Al cerrar la sesión, o reiniciar el sistema, volveremos a la configuración anterior.

    Para guardar los cambios de manera definitiva, debemos de editar el fichero  /etc/default/locale y sustituir la siguiente línea LANG=en_US.UTF-8 por LANG=es_ES.UTF-8.

    sudo nano  /etc/default/locale

    sudo nano  /etc/default/locale

    Estos cambios de configuración serian en general. Si por el contrario quisiéramos cambiar la configuración para un usuario en concreto. Accederemos al archivo de configuraciones del usuario al que queremos que afecte dicho cambio

    sudo /home/usuario/.bash_profile


    Juego de caracteres habilitados en una configuración en castellano:

    locale -a

     

     C

    C.UTF-8

    en_AG

    en_AG.utf8

    en_AU.utf8

    en_BW.utf8

    en_CA.utf8

    en_DK.utf8

    en_GB.utf8

    en_HK.utf8

    en_IE.utf8

    en_IL

    en_IL.utf8

    en_IN

    en_IN.utf8

    en_NG

    en_NG.utf8

    en_NZ.utf8

    en_PH.utf8

    en_SG.utf8

    en_US.utf8

    en_ZA.utf8

    en_ZM

    en_ZM.utf8

    en_ZW.utf8

    es_AR.utf8

    es_BO.utf8

    es_CL.utf8

    es_CO.utf8

    es_CR.utf8

    es_CU

    es_CU.utf8

    es_DO.utf8

    es_EC.utf8

    es_ES.utf8

    es_GT.utf8

    es_HN.utf8

    es_MX.utf8

    es_NI.utf8

    es_PA.utf8

    es_PE.utf8

    es_PR.utf8

    es_PY.utf8

    es_SV.utf8

    es_US.utf8

    es_UY.utf8

    es_VE.utf8

    eu_ES

    eu_ES.iso88591

    POSIX

    Es posible que la distribución del teclado no sea la correcta, leer el artículo  Cómo cambiar el idioma del teclado en terminal Linux

    Lynx navegador web para terminal

    Lynx aparte de ser un lince es un navegador web y cliente de gopher en modo texto, que podremos utilizar en nuestro terminal.

    Es muy común que para aliviar la carga de potencia sea necesario prescindir del entorno gráfico. Pero que a la vez tengamos que consultar manuales o artículos de ayuda accediendo a páginas web que se encuentran en internet. Para estos casos podremos utilizar Lynx, el entorno es muy simple y en modo texto, aunque si que podremos visualizar imágenes accediendo a los hiperenlaces.



    Para poder instalar Lynx:

    Ubuntu  

    sudo apt install lynx

     

    Debian

     sudo apt-get install lynx


     Arch Linux

     sudo pacman -S lince


     Fedora

    sudo dnf instalar lynx


     OpenSUSE

     sudo zypper instalar lynx


    MS-DOS

     http://ftp.gnu.org/pub/gnu/gzip/gzip-1.2.4.msdos.exe

    Una vez instalado el funcionamiento es muy simple, solo tendremos que invocar al navegador y la dirección que deseamos visitar. En este caso si queremos acceder a enfaseterminal.com utilizariamos secuencia de comando:

    lynx enfaseterminal.com


     Para navegar utilizaremos las teclas ⇑⇓ o la barra de espaciadora para ver la siguiente página

    Para visitar el hipervínculo utilizar

    Para volver hacia atrás 

    Para poder salir de la navegación utilizar Q

    Recuerda que es un navegador simple y no soporta los nuevos estándares multimedia

    El navegador que está utilizando no es compatible con las últimas tecnologías web (HTML5 y CSS3) necesarias para el funcionamiento correcto de este sitio web. Para conseguir una plena compatibilidad le recomendamos estos otros navegadores: Chrome, Firefox, Safari e Internet Explorer (en sus dos últimas versiones y con la vista de compatibilidad desactivada).

     

    En caso de necesitar ayuda utlizar el comando

    lynx

     

    gThumb con soporte de imagen HEIF / HEIC, AVIF y JXL

    Si utilizas un Iphone como smartphone y sistema linux para tu ordenador, habrás comprobado que es como mezclar agua con aceite. Es más fácil integrar, por ejemplo, Ubuntu en un Windows con el nuevo sistema Windows Subsystem for Linux (WSL). Y puede ser desesperante manipular las fotos que obtienes con tu dispositivo móvil con las aplicaciones de edición alojadas en tu sistema operativo basado en Linux.

    El archivo .heif no tiene programas conocidos asociados


    La nueva versión de gThumb 3.12 incluye la capacidad de carga de archivos con la extensión .jxl .avif, .heif Incluido el formato creado por Apple .heic.

    Pero, por el momento, no reconoce las Live Photos, antes descargar la foto deberemos desactivar la opción Live en nuestro Iphone.


    gThumb es un potente visor, organizador, buscador y administrador de imágenes libre. Fue desarrollado para utilizarse en el entorno de escritorio GNOME. Originalmente estaba basado en el ahora abandonado GQView, y mantiene una interfaz limpia y sencilla. Wikipedia


    gThumb con soporte de imagen HEIF / HEIC, AVIF y JXL

     

    Nos permitirá organizar nuestro álbum de fotos y  realizar ediciones sencillas.

    Si tu sistema está basado en Debian, esta aplicación se encuentra en los repositorios principales. Para instalarlo lo podremos hacer desde el terminal con el comando:

    sudo apt install gthumb

    Esta instalación nuestra distribución ya sea compatible con estos formatos de imágen y podrás editar tus fotos por ejemplo con el programa Gimp

    Instalar servidor MiniDLNA

    Vamos a instalar un servidor DLNA en, por ejemplo Raspberry, para utilizarla de servidor multimedia para poder ver nuestros archivos en nuestra SmartTV. La tecnología DLNA es admitida por la mayoría de dispositivos multimedia actuales, a diferencia de utilizar un servidor PLEX en la que tenemos que instalar la APP en nuestra SmartTV y registrándose en su plataforma.

    Es un servidor muy sobrio y de un consumo de recursos muy reducido, el aspecto es el de un explorador de archivos, y su reproductor multimedia muy simple. Pero cumple su función de servidor de videos, música e imágenes en nuestra red local.

    También podríamos instalar nuestro servidor DLNA en un viejo ordenador en el que hubiéramos instalado un Linux con alguna de las múltiples distribuciones basadas en Debian.

    Accedemos a nuestra Raspberry o nuestro servidor casero a traves de SSH e instalamos con privilegios de root la aplicación MiniDLNA también conocida como ReadyMedia

    sudo apt-get install minidlna

     Iniciaremos el servicio:

    sudo service minidlna start

    Y habilitaremos minidlna para que el servicio sea levantado cuando iniciemos nuestro servidor local 

    sudo service minidlna enable

    Deberemos acceder al archivo de configuración para indicarle, entre otras cosas, la ruta donde se encuentran los archivos que queremos mostrar en nuestra LAN. Estos se pueden encontrar en un disco duro externo que habremos conectado a través del puerto USB de nuestro servidor doméstico.

    sudo nano /etc/minidlna.conf

    Accederemos a un archivo de texto plano donde cambiaremos

    • Ubicación de los archivos de video
    media_dir=V,/media/downloads/videos
    • Ubicación de los archivos de música: 
    media_dir=A,/media/downloads/musica
    • Ubicación de los archivos de imagen
    media_dir=P,/media/downloads/fotos

    • Ubicación de la base de datos que almacenará los archivos que se mostraran
    db_dir=/var/cache/minidlna

    •  Si queréis almacenar logs de lo que pasa en el servidor tienen que descomentar esta línea. Los logs los podréis encontrar en la ubicación.
    log_dir=/var/log

    •  Puerto en el que escuchara el pequeño servidor web, que nos mostrara una pequeña información de nuestro servidor. No podremos realizar ninguna acción, como por ejemplo la de configuración
    port=8200


    MiniDLNA status

    •  Nombre con el que se anunciara en nuestros clientes multimedia
    friendly_name=Pi

    • Seleccionamos la opción yes. De este modo, cuando se borre o copie contenido del servidor se actualizará la información de la base de datos

    inotify=yes

    •  Definimos los nombres que deben tener las caratulas de un audio o vídeo. Si queremos definir una caratula para una película podemos hacerlo guardando una imagen con el nombre cover.jpg o Cover.jpg en la carpeta que contiene la película. El tamaño recomendado es de 160×160 pixeles
    album_art_names=cover.jpg/cover.jpg

    • En esta linea configuramos el intervalo de segundos que nuestro servidor anunciara su presencia en la red. Un buen intervalo serian cada 60 segundos
    notify_interval=60

    Una vez modificado el archivo a nuestro gusto, lo guardaremos y reiniciaremos el demonio para que la nueva configuración tenga efecto:

    sudo service minidlna restart

    MiniDLNA usa la propiedad del Kernel inotify para detectar las modificaciones en cada una de las carpetas que almacena contenido. Al detectarse una modificación se actualiza el contenido de la base de datos /var/cache/minidlna/files.db.


    Para que inotify pueda monitorizar las modificaciones tendremos que cambiar sus límites. Para fijar un nuevo límite ejecutaremos el siguiente comando:

    sudo echo 65538 > /proc/sys/fs/inotify/max_user_watches 

    sudo service minidlna restart

    Si por alguna razón deseamos reconstruir la base de datos:

    sudo service minidlna force-reload

    Y listo ya tendríamos un servidor multimedia en nuestra red local y podríamos ver nuestros videos en nuestro:

    • SmartTV
    Botón Source, Entrada externa o Fuente

     


    • En otros dispositivos podemos utilizar el reproductor multimedia VLC 
    Accederemos a Plug’n’Play Universal y esperamos a que VLC encuentre nuestro servidor miniDLNA y nos permita reproducir su contenido.

    Como resolver dependencias rotas

    Como resolver dependencias rotas de una instalación basada en Debian.

    En una entrada anterior intentaba solucionar la instalación fallida de un paquete:

    Resolver dependencias al instalar un paquete

    Pero al desinstalar o purgar una aplicación, puede que por error se borró alguna librería de la que dependa otro programa o servicio. Una de las formas que nos recomienda el propio sistema es la ejecución del script:


    sudo apt --fix-broken install


    Dependencias rotas

     


    Si no ha habido éxito, como fue mi caso ejecutaremos los siguientes comandos

    Lo primero que haremos es intentar configurar paquetes que han sido desempaquetados, pero no configurados. Para ello ejecutaremos el siguiente comando en la terminal:


    sudo dpkg --configure -a


    Seguidamente limpiaremos la cache local de paquetes .deb 


    sudo apt-get clean && sudo apt-get autoclean


    Regeneramos la caché de los repositorios con el parámetro –fix-missing. De este modo intentaremos detectar y reparar problemas de dependencias en nuestro sistema operativo.


    sudo apt-get update --fix-missing


    Corregiremos las dependencias rotas. Para ello ejecutaremos el siguiente comando en la terminal: 


    sudo apt-get install -f

     

    En este punto mi problema se solucionó, restaurando el sistema y pudiendo ejecutar


    sudo apt-get dist-upgrade


    Para poder actualizar el sistema. 

    Los siguientes paquetes se han retenido

    Realizando tareas de mantenimiento del sistema, este me respondió con el mensaje:


    sudo apt-get full-upgrade 

    Leyendo lista de paquetes... Hecho

    Creando árbol de dependencias       

    Leyendo la información de estado... Hecho

    Calculando la actualización... Hecho

    Los siguientes paquetes se han retenido:

      rawtherapee

     

    A partir de aquí ya no me permite actualizar el sistema

    Una de las soluciones que encontré fue, curiosamente, actualizar el paquete que se encontraba retenido, utilizando el comando:

    sudo apt-get upgrade <nombre paquete retenido>


    sudo apt-get upgrade rawtherapee

    Leyendo lista de paquetes... Hecho

    Creando árbol de dependencias       

    Leyendo la información de estado... Hecho

    Calculando la actualización... Hecho

    Los siguientes paquetes se ELIMINARÁN:

      rawtherapee-data

    Los siguientes paquetes se han retenido:

      gparted

    Se actualizarán los siguientes paquetes:

      rawtherapee

    1 actualizados, 0 nuevos se instalarán, 1 para eliminar y 1 no actualizados.

    Se necesita descargar 17,3 MB de archivos.

    Se utilizarán 28,9 MB de espacio de disco adicional después de esta operación.

    ¿Desea continuar? [S/n] s

    Des:1 http://ppa.launchpad.net/dhor/myway/ubuntu bionic/main amd64 rawtherapee amd64 5.8-1dhor~bionic [17,3 MB]

    Descargados 17,3 MB en 1s (21,4 MB/s)  

    dpkg: rawtherapee-data: problemas de dependencias, pero se desinstalará de todas formas

     tal y como se solicitó:

     rawtherapee depende de rawtherapee-data (= 5.3-1).

    (Leyendo la base de datos ... 551670 ficheros o directorios instalados actualmente.)

    Desinstalando rawtherapee-data (5.3-1) ...

    (Leyendo la base de datos ... 550717 ficheros o directorios instalados actualmente.)

    Preparando para desempaquetar .../rawtherapee_5.8-1dhor~bionic_amd64.deb ...

    Desempaquetando rawtherapee (5.8-1dhor~bionic) sobre (5.3-1) ...

    Configurando rawtherapee (5.8-1dhor~bionic) ...

    Procesando disparadores para gnome-menus (3.13.3-11ubuntu1.1) ...

    Procesando disparadores para hicolor-icon-theme (0.17-2) ...

    Procesando disparadores para mime-support (3.60ubuntu1) ...

    Procesando disparadores para desktop-file-utils (0.23+linuxmint8) ...

    Procesando disparadores para man-db (2.8.3-2ubuntu0.1) ...