viernes, 11 de junio de 2021

Montar y manipular imágenes de disco

Para montar una imagen en una carpeta hay que seguir una serie de pasos:

  1. Definimos un disposito loop:
    sudo losetup -P /dev/loop0 midisco.iso 
  2. Montamos el dispositivo en una partición:
    sudo mkdir /mnt/midisco
    sudo mount /dev/loop0p2 /mnt/midisco
  3. Si en lugar de ser una imagen iso es un img (una imagen de una SD o disco duro), podemos modificar su contenido y cuando desmontemos lo tenemos modificado a nuestro gusto.
  4. Una vez terminado desmontamos:
    umount /mnt/midisco


También puedes crear un script para automatizar su uso con estos comandos:

sudo losetup -P /dev/loop0 $1 >> montaImagen.sh
sudo mount /dev/loop0p2 /mnt/$1 >> montaImagen.sh
cd /mnt/$1 >> montaImagen.sh
sudo chmod +x montaImagen.sh
sudo mv montaImagen.sh /usr/local/bin

viernes, 4 de junio de 2021

Haroopad, editor markdown para GNU/Linux

Haroopad es un intuitivo editor del lenguaje de marcas markdown que muestra el código a la izquierda y el resultado a la derecha.

La instalación es muy sencilla simplemente nos vamos a la página de descarga y nos bajamos la versión para nuestra distro y arquitectura, aunque hay que instalarse la librería libgconf2 para que funcione.

En el caso de Ubuntu se podría instalar con comandos similares a estos:

sudo apt install libgconf2-dev
sudo dpkg -i https://bitbucket.org/rhiokim/haroopad-download/downloads/haroopad-v0.13.1-x64.deb
sudo apt install -f

Si lo que tenemos es Debian sin nuestro usuario en sudoers, son los mismos comandos pero sin sudo y al principio hay que hacerse root con la instrucción:

su -

En el resto de distros descargad y descomprimir la versión genérica para GNU/Linux que es una aplicación portable que no requiere instalación (aunque recordad instalar la librería antes mencionada).



viernes, 28 de mayo de 2021

Raspberry pi 400: ¿Batocera, Recalbox, Retropie o Lakka?

Cuando me compré la raspberry pi 400 me puse a probar diversos sistemas enfocados al retrogaming y mediacenter en busca de la versión ideal, todos instalados desde PINN.


 

Aunque este panorama va a ir cambiando con el tiempo, ya que es un ordenador de nueva hornada, al principio esto ha sido lo que me he encontrado:

Lakka: en realidad no lo he podido probar porque PINN no lo instala bien y sale una pantalla que intenta arrancar y que incluso me llevó un buen susto porque pensaba que podría haber enladrillado la máquina (aunque no había hecho nada para ello).

De todas formas la veo muy limitada en cuanto a lo que es capaz de emular.

Retropie: en esta ocasión la he instalado como una aplicación más en Raspberry pi OS, ésta si reconoce bien el mando bluetooth pero a veces se hace un lío con los botones.

Es una opción que permite hacer muchas cosas pero requiere su rato de entretenimiento para hacer funcionar los cores, si eres un novato no es tu distro.

En todo caso la considero es una buena candidata para quedarse como apoyo de Batocera, como veremos la clara vencedora, a día de hoy.

Recalbox: con ésta he tenido muchos problemas, incluso decía que las BIOS no eran las adecuadas ¡en Amstrad CPC! (las BIOS se liberaron hace más de 20 años).

Una vez solucionado el problema de las BIOS muchos sistemas dejan inoperativo el mando y el teclado, por lo que solo se puede apagar correctamente por ssh o a las bravas con el peligro que eso supone. Entre los sistemas afectados por este fatal error están game boy, psx, N64, MAME...

Lo último han sido los problemas con KODI que conseguí al menos echar a andar, pero estas últimas versiones han ido añadiendo problemas sin solucionar los que ya tenía, al contrario que Batocera que SÍ ha corregido errores sin introducir nuevas regresiones.

Batocera: va bastante rápido solo no he conseguido ejecutar nada de Nintendo 64 de los sistemas que he probado, pero a partir de la versión 30 ya funciona correctamente el bluetooth interno de la raspberry pi 400 por lo que es con la que finalmente me he quedado.


viernes, 21 de mayo de 2021

sshfs, o como montar una carpeta de otro ordenador por ssh

Tenemos dos ordenadores con GNU/Linux, pongamos mi raspberry pi 400 es el cliente y mi i7 que tiene el disco duro con contenidos es el servidor, vamos a ver que necesita cada uno.

 

Servidor

Mi i7 solo necesita tener instalado el paquete openssh-server y nada más:

sudo apt install openssh-server

Cliente

La raspberry necesita sshfs, que podemos instalar con el comando:

sudo apt install sshfs

Para ver el disco duro simplemente creamos una carpeta que hará de punto de montaje y le indicamos la ruta del recurso que va a compartir, con los siguientes comandos:

mkdir $HOME/ssh
sshfs miusuario@mimaquina.local:/rutaremota $HOME/ssh

Y ya está, en la carpeta ssh veremos la carpeta remota como otra más, si queremos descompartir, como siempre bastará con un umount:

umount $HOME/ssh

Eso sí, si vais a ver vídeos u otros recursos grandotes, mejor que estén ambos ordenadores conectados por cable, porque la wifi se os puede quedar corta (incluso la multibanda).

viernes, 14 de mayo de 2021

Putty, cliente para conectarte a servidores Unix/Linux desde Windows

Putty es un sencillo cliente para Windows que nos permite conectarnos a la consola de otros ordenadores como servidores con GNU/Linux u otros unixes, usando diversos protocolos.

Para los más novatos está muy bien el último paquete msi que te instala todos sus componentes.

Se ejecuta como cualquier otra aplicación de Windows y para entrar en la consola del equipo GNU/Linux remoto basta con poner la IP y darle al botón Open, si nos vamos a conectar por el protocolo por defecto que es ssh (lógicamente el equipo con GNU/Linux debe estar corriendo algún servidor ssh, como openssh).


Si vamos a usar otro protocolo como Telnel, serial, etc... hay que seleccionarlo antes de pulsar Open.

Putty, permite muchas configuraciones especiales para ejecutar X, conexiones especiales, etc, si queremos hacer una presentación es muy útil poner la letra más grande y quizá con el fondo blanco y la letra oscura (esto último no me funcionó en Windows 10), para ello estas serías las configuraciones en Windows 7:


Si vamos a entrar siempre en la misma máquina con una configuración en concreto podemos ahorrar tiempo guardándola como una sesión, para ello justo antes de pulsar Open, pulsamos Save y escribimos el nombre que queramos darle a la sesión. La próxima vez bastará con hacer doble clic en el nombre de sesión para entrar en la máquina deseada con los parámetros previamente definidos.


Para terminar os dejo el siguiente vídeo donde se puede ver la instalación y uso en un Windows 10 virtual que accede a la consola del GNU/Linux anfitrión.



viernes, 7 de mayo de 2021

Arreglar overscan/underscan al pixel en Batocera (Raspberry pi 400)

Para arreglar los problemas de overscan o underscan hay que hacer más o menos lo mismo que hicimos con Raspberry pi OS pero con algunas diferencias.


Accedemos desde ssh:

ssh root@batocera.local

o

ssh root@ip_de_batocera

Recuerda que si aún usas Windows en el PC puedes acceder con putty solo con la IP de la raspberry pi.

En esta ocasión los valores de autenticación por defecto son:

usuario: root

contraseña: batocera

Hay que volver a montar la partición /boot con permisos de escritura para hacer modificaciones:

mount -o remount,rw /boot

Editamos /boot/config.txt por ejemplo con nano, vi o mcedit, el editor con el que más a gusto estemos:

nano /boot/config.txt

Vamos a la sección donde pone uncomment the following to adjust overscan pero en lugar de descomentar esas líneas, las podemos copiar y descomentar dándoles los valores que consigan mostrar la pantalla completa sin que sobre ni falte nada, a mi por ejemplo me han venido bien los valores:

overscan_left=24
overscan_right=24
overscan_top=24
overscan_bottom=24
De nuevo tendrás que ir probando hasta conseguir los valores que se ajusten a tu televisor, para ver el cambio tendrás que reiniciar, aumentar los valores de los lados que aún no se vean (overscan) y disminuir los de los lados que ya muestren espacio en negro (underscan) hasta que cuadre la pantalla, es un proceso mucho más rápido y menos tedioso de lo que parece.

Por cierto, gran sistema batocera, ya os comentaré las ventajas sobre otras opciones en próximos artículos.

sábado, 1 de mayo de 2021

Virtual Jaguar: emulador de Atari Jaguar para GNU/Linux

La consola Atari Jaguar fue pionera en el manejo de 3D y ser de 64 bits aunque tuvo poco éxito por su escaso pero interesante catálogo de juegos.

Hoy puedes disfrutarla gracias al emulator Atari Jaguar que está disponible para GNU/Linux.


La instalación es muy sencilla gracias al script instalador RetroMultiInstaller que hace todo el trabaja de compilación, instalación y creación de los enlaces directos por ti, quien tenga curiosidad animo a que eche un vistazo al script correspondiente a la instalación de esta consola.

La configuración es muy sencilla, si vas a la configuración puedes definir las carpetas donde están los juegos y las eproms en el apartado general:


Una vez hecho esto si vas a la opción de juegos te apareceran los juegos como si fueran cartuchos, incluso con una imagen si así lo has metido en el zip.


Admite archivos jpg, png y gif siempre que tengan el mismo nombre que la rom.

sábado, 24 de abril de 2021

Actualizar Recalbox 7.1.1 a 7.2 solucionado el fallo que impide el uso de KODI

Los que habéis actualizado a la última versión de Recalbox os habéis llevado una muy desagradable sorpresa al intentar usar KODI, resulta que cuando vais a reproducir algo en vídeo (local o internet) solo se escucha y se ve la pantalla en negro, al final de este artículo os explicaré como solucionar este marrón.

Actualizar Recalbox

Yo os recomiendo que lo hagáis cuando vayáis a salir o dormir en breve, porque el proceso tarda un buen rato y mientras tanto no se puede utilizar (al estilo Windows, no como en otros GNU/Linux).

1. Pulsamos ENTER y vamos a la opción de Actualizaciones, para seleccionar cada opción recuerda que hay que pulsar la tecla A.

2. Vamos a la opción 'Comenzar actualización' y se pondrá a descargar la actualización.


3. Una vez terminada la descarga nos pedirá actualizar tras lo cual se quedará un buen rato con la pantalla en negro... no pasa nada se va a tirar un buen rato así pero el led de actividad de tu raspberry pi va a seguir parpadeando, es el momento de darte una vuelta o un sueñecito.


4. Cuando vuelvas si todo va bien, te encontrarás esa pantalla.




Solución al problema del vídeo en KODI

Hay que hacer lo siguiente:

1. Acceder por ssh a recalbox, lo podéis hacer con el comando ssh root@IP en GNU/Linux o putty en otros sistemas, los valores para acceder por defecto son:

Usuario: root
Contraseña: recalboxroot
2. Arreglar el archivo erróneo, para ello tecleamos:

mount -o remount,rw /boot 

nano /boot/config.txt

Con las teclas Ctrl + W puedes buscar la cadena:

dtoverlay=vc4-kms-v3d

Y sustituirla por:

dtoverlay=vc4-fkms-v3d

Luego guardas con Ctrl + X y reinicias la raspberry con

reboot

Después de esto ya deberíais poder volver a ver los vídeos en KODI.

Gracias a cdtpepette@Pitch64 por la rápida solución.


viernes, 23 de abril de 2021

Cambiar el entorno gráfico de tu distro sin reinstalar ni cambiarla por otra

Entre los novatos que vienen de otros sistemas operativos cuando encuentran una piedrecita en el camino hacen lo que hasta ahora les funcionaba: FORMATEAR y empezar de nuevo, pero en GNU/Linux hay muchas cosas que podemos hacer antes de llegar a esta solución radical. 


Por ejemplo, hemos instalado una distro y el entorno gráfico no nos gusta porque es muy lento o simple, pues lo cambiamos basta con teclear el siguiente comando como administrador:

tasksel

En el caso de Ubuntu lo teclearíamos con sudo delante:

sudo tasksel

O en el caso de otras distros como Debian primero nos convertimos en root con su:

su -
tasksel

En todo caso nos saldrá un menú que nos permitirá seleccionar los entornos gráficos que queremos tener instalados y que luego podremos elegir en la ventana gráfica de identificación.

Las ventajas es que así podemos probar diversos entornos rápidamente, por contra cada uno ocupará su espacio en el disco que tendremos que sopesar sobre todo si tenemos un disco pequeño (p.e.: un SSD) y se repetirán aplicaciones que hacen lo mismo como los editores de texto y exploradores.

Si no te fías recuerda que siempre puedes hacer las pruebas en máquinas virtuales con el mismo sistema que tienes y ver el resultado, si te convence ya lo puedes instalar en el de verdad sin temores.

viernes, 16 de abril de 2021

Ejecutar varios comandos linux en una sola línea: tres métodos condicionales o no

Hay tres métodos interesantes de separar en una línea varios comandos:

 

Punto y coma (;)

Con este método, se ejecuta cada comando uno detrás de otro independientemente que el anterior haya dado un error o no.

Ejemplo:

apt update; apt -y upgrade 

Se ejecuta cada comando uno detrás de otro en todo caso.

Doble ampersand (&&)

Se ejecuta cada comando uno detrás de otro siempre que el anterior no haya dado error, en caso contrario no se ejecuta ese comando ni los sucesivos.

Ejemplo:

apt update && apt -y upgrade 

Si se ha producido un error en el update, ¿para qué vamos a hacer el upgrade?

 

Doble tubería (||)

Se ejecuta un comando y solo si da error se ejecuta el siguiente. 

Si no da error no ejecuta ni el siguiente ni los sucesivos.

Ejemplo:

apt -y install lua5.4 || apt -y install lua5.3 || apt -y install lua50

Intento instalar la versión más alta de un programa, si falla porque no está disponible voy probando con versiones más antiguas.

viernes, 9 de abril de 2021

Arrancar una webapp con tu navegador predeteminado como otra aplicación de escritorio más

Como este truco podemos tener en nuestro menú una aplicación o una página web con su acceso directo, si quisiéramos simplemente lanzarla desde consola basta con este comando:

sensible-browser /ruta/que/sea/miapp.html

Para hacer el acceso directo creamos un archivo de texto con un nombre como miapp.desktop con un contenido similar a este en la ruta /usr/share/applications:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Name of my app
Name[es]=Nombre de mi aplicación
Icon=miapp
Exec=sensible-browser /ruta/que/sea/miapp.html
Terminal=false

Para que aparezca el icono debemos añadir uno como archivo png en la siguiente ruta:

/usr/share/pixmaps/miapp.png

Si queremos que aparezca en una categoría distinta de otros tendríamos en mirar otros archivos .desktop de la categoría en la que lo queremos incluir y añadir tal cual la línea que empieza con el texto:

Categories=

O bien crearnos nuestra propia categoría como vimos en artículos anteriores.



viernes, 2 de abril de 2021

Leer los archivos con lenguajes de marcas (por ejemplo los .md de los repositorios git)

Los que descargáis código de sitios como gitlab o github sabéis que la documentación se suele guardar en archivos con extensión .md escritos con el lenguaje de marcas, el ejemplo clásico es el archivo README.md que muestra la información del proyecto.

La cuestión es cómo leer estos archivos con sus marcas, veamos las opciones.

En entorno gráfico

Aparte de la mayoría de navegadores modernos, podemos usar el programa Okular que los lee perfecta y limpiamente.


En distros de la familia Debian/Ubuntu lo podemos instalar con el comando:

sudo apt install okular

 

En consola linux

Para su uso de consola tenemos varios vamos a verlos de más o menos útiles:

glow

Instalado con lenguaje go parece el más versátil.

Se puede instalar con los comandos:

sudo apt install golang-go git
git clone https://github.com/charmbracelet/glow.git
cd glow
go build

 

Terminal Markdown viewer

Creado en python también es una buena opción.

Se instala con los comandos:

sudo apt install python3-pip
pip3 install mdv
También se puede instalar de los repositorios de Ubuntu pero esa versión no va bien y no reconoce muchos archivos.


MDless

Hecho con el pesado npm no aporta mucho más que un simple less.

Lo podemos instalar con los comandos:

sudo apt install npm
sudo npm i -g mdless

Lo dicho esta opción es de poco interés.

viernes, 26 de marzo de 2021

Activar sudo para tu usuario en Debian


Si has instalado Debian después de haber usado Ubuntu te habrás dado cuenta que ejecutar comandos con sudo delante para hacerlo como root no funciona, eso es debido a que el usuario por defecto no está autorizado para usar sudo, para solucionar esto hay que abrir el archivo /etc/sudoers que por ahora tendremos que hacerlo de la manera que trae Debian de fábrica con los siguientes comandos:

su -
nano /etc/sudoers

Una vez abierto, basta con duplicar la siguiente línea y cambiar en la nueva root por nuestro nombre de usuario:

root    ALL=(ALL:ALL)    ALL

Si tenemos más usuarios a los que le queramos dar este privilegio QUE LES DA POTESTAD DE ADMINISTRADORES es repetir de nuevo esa línea y poner en cada uno el nombre de cada usuario.

Sobre la conveniencia de usar sudo o su lo dejo al criterio de cada uno, se dice que su es más seguro pero algunos scripts y programas van a requerirte sudo y así vamos a poder seguir la mayoría de los tutoriales de Ubuntu en Debian como si nada.



sábado, 20 de marzo de 2021

Distroplay: vídeos de instalaciones completas de distros GNU/Linux para celebrar su 30 aniversario

Para celebrar y felicitarnos por el 30 aniversario de Linux en este artículo voy a recoger diversos vídeos que muestran instalaciones completas de diversas distros GNU/Linux, de los prolegómenos y finalizo con algún que otro sistema operativo libre alternativo, al estilo de los gameplay que tan acostumbrados estamos en los juegos, para mayor facilidad en la grabación se han hecho sobre máquinas virtuales pero sería prácticamente igual en un ordenador de verdad.

Aquí tenéis algunos vídeos a modo de botón de muestra ordenados de mayor a menor interés/facilidad para el novato.

Crear pendrive de instalación


 

Configurar BIOS para arranque por USB


 

Ubuntu Mate 20.04

 


 

Debian 11 (alpha)


Linux Mint


 

Raspberry Pi OS 



Batocera


 

Recalbox


 

 

Fedora 33

 


Arch



 

FreeDOS


 

Espero que resulte útil a los que están empezando y si conocéis más vídeos de interés con instalaciones completas ponedlas en los comentarios, en todo caso iré añadiendo más vídeos en el futuro en este artículo.

Para los que preferís leer tranquilamente cada paso y hacer más cosas podéis echar un ojo por otros artículos este blog.

viernes, 12 de marzo de 2021

Usar VLC como conversor de vídeo

Ya hemos hablado anteriormente de la versatilidad de VLC, repleto de funcionalidades desconocidas para el gran público, hoy vamos a hablar de como usarlo como un conversor de vídeo potente y sencillo de usar.

Vamos al lío:

  1. Abrimos VLC y nos vamos a las opciones:
    Medio > Convertir...


  2. Hacemos clic en el botón Add.. y elegimos el vídeo (o vídeos) que queremos convertir.

    Nos aparecerá la lista de archivos a convertir.

  3. Hacemos clic en el botón Convertir / Guardar nos aparecerá otra ventana en la que tendremos que elegir el perfil con el formato de vídeo y audio deseado en la sección preferencias.

    Es conveniente elegir una combinación que sea compatible con la mayor cantidad de aparatos posible, especialmente con el que vamos a utilizar para reproducirlo, o bien pensado para subirlo a una plataforma web.

  4. En el apartado Destino tenemos que poner la ruta del archivo que se va a generar con la extensión del archivo, si le damos al botón Explorar nos rellenará toda la ruta ahorrándonos trabajos.
  5. Finalmente pulsamos en el botón Iniciar y después de esperar un tiempo, que depende del tamaño del vídeo y la potencia de nuestro equipo, tendremos el archivo convertido.


sábado, 6 de marzo de 2021

Retropie instalado como otra aplicación más en GNU/Linux en tu PC (o por supuesto Raspberry PI OS)

Hace tiempo ya vimos que Retropie es mucho más que una distro para convertir una raspberry pi en una retroconsola/mediacenter, hoy vamos a ver que se puede ejecutar como otra aplicación más en Raspberry pi OS, incluso en un PC convencional con GNU/Linux.


 

Para la instalación hay que teclear los siguientes comandos:

sudo apt -y install git
git clone https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
chmod +x retropie_setup.sh

Después ejecutamos

sudo ./retropie_setup.sh

y elegimos la opción 'Basic Install' y comenzará la compilación e instalación de todo lo necesario...


 

Tardará mucho rato porque son muchas cosas pero al final tendremos el entorno completo que podemos lanzar con el comando:

emulationstation

La primera vez que lo ejecutes lo primero que te preguntará es por el mando de juegos y te invitará a que lo configures.


No tendrá practicamente nada, así que nos quedaría añadir las roms y bios necesarias en los respectivos directorios:
  • $HOME/RetroPie/BIOS/
  • $HOME/RetroPie/ROMS/
Recuerda que también puedes hacer enlaces blandos si tienes otro sistema de retrogaming como Recalbox o Batocera o crear los enlaces a aplicaciones dentro de Retropie que consideres de interés en su menú.

La instalación de Retropie se incluye también en el script RetroMultiInstaller.

Próximamente veremos como instalarle algunos cores.

viernes, 26 de febrero de 2021

SplitPather: buscar todos los archivos con una extensión a partir de un directorio y copiarlos en otro en subdirectorios sucesivos con sus primeras letras

He creado un nuevo script al que le he puesto de nombre SpitPather para que me copie todos los archivos que tenga con una extensión determinada en el árbol de un determinado directorio a otro directorio donde creará un nuevo árbol cuyo primer nivel será el primer carácter del archivo, el segundo la segunda letra y así sucesivamente hasta el nivel de profundidad que defina.

Y te preguntarás, ¿qué utilidad tiene este script? Pues bastante para quien tiene un aparatito en el que tengas que seleccionar uno entre miles de archivos pequeñitos, esta estructura de directorio te facilita la navegación minimizando el número de veces que hay que darle a los botones.

En mi caso me va a venir de perlas para poder navegar por las imagenes de disco que guarde en el pendrive que tengo enganchada a la gotek de mi Amstrad CPC (archivos dsk).

De hecho, los usuarios de este tipo de artilugios para cargar desde pendrives o memorias en ordenadores de los 80 van a poder sacar partido al script y llenar sus dispositivos con las imágenes correspondientes organizadas de la manera más óptima para la posterior navegación.

También le he metido cierta normalización extra para que no tenga problemas al copiar los archivos en un pendrive con FAT32 sobre todo (todo en minúsculas, guiones bajos por espacios, solo tener en cuenta letras y números para componer los subdirectores).

Un ejemplo: supón el archivo 3D Grand Prix.DSK, se copiaría en la ruta destino en la siguiente subruta si elegimos la profundidad por defecto de 3 niveles:

3/d/g/3d_gran_prix.dsk
Además así evitamos duplicidades si tenemos ese mismo archivo en otra ubicación dentro del directorio orígen o con alguna letra cambiada mayúsculas por minúsculas o viceversa.

Es ideal para emuladores de disquetera, de cartucho o de cassette (cpcduino, tzxduino, tapuino, casduino), etc...

Descarga

Lo podéis descargar aquí y por comodidad le daría permisos de ejecución y lo copiaría en la carpeta /usr/local/bin.

chmod +x splipather


Uso

El nuevo comando de linux splitpather se ejecuta en consola pasándole 2 parámetros obligatorios y otros dos opcionales:

  1. Ruta de origen donde empezar la búsqueda de archivos.
  2. Ruta de destino donde copiaremos los archivos.
  3. Extensión de los archivos, no es sensible a mayúsculas (por defecto es dsk).
  4. Nivel de profundidad de los subdirectorios (por defecto es 3).

Si escribis el comando splitpather sin parámetros os informará de como usarlo:

splitpather START_PATH DESTINATION_PATH [EXT] [DEPTH]

Un ejemplo de uso real sería algo así:

splitpather "/media/miPC/MIDISCO/emuladores/amstrad_cpc" "/media/miPC/MIDISCO/emuladores/gotek" dsk 3

Le estamos diciendo que:

  • Empiece a buscar los archivos en la ruta:
    /media/miPC/MIDISCO/emuladores/amstrad_cpc
  • Que cree la nuestra estructura en la ruta:
    /media/miPC/MIDISCO/emuladores/gotek
  • Que solo tenga en cuenta los archivos con extensión 'dsk'.
  • Que cree una estructura de directorios a partir de la ruta indicada con un nivel de profundidad 3.

La estructura de subdirectorios a partir del directorio de destino quedaría más o menos como en la imagen de la derecha.

 

Mejoras para el futuro

El desarrollo del script no termina aquí, va a seguir mejorando, añadiendo mejoras y puliendo errores.

Por ejemplo, en las últimas revisiones los archivos se guardan siempre en minúsculas evitando duplicidades y que no detecten algunos aparatos extensiones que estén en mayúsculas.

No descarto en un futuro hacer un frontend gráfico.

Si detectáis algún problema ponedlo aquí en los comentarios o en la sección de issues del repositorio.

viernes, 19 de febrero de 2021

Game Play Football en Ubuntu 20.04

Game play football es un juego de fútbol de software libre con unos gráficos espectaculares como podéis ver en las siguientes capturas.


Eso sí, antes de seguir te aviso que este juego requiere que tu tarjeta gráfica soporte versiones recientes de OpenGL, pero la mayoría de tarjetas con menos de 10 años lo soportan, incluso las de gama baja.
 

Compilación e instalación

Instalamos las librerías necesarias presentes en los repositorios:
sudo apt install git cmake build-essential libgl1-mesa-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libopenal-dev libboost-all-dev libdirectfb-dev libst-dev mesa-utils xvfb x11vnc python3-pip

Descargamos e instalamos el juego propiamente dicho:

git clone https://github.com/vi3itor/GameplayFootball.git gameplayfootball

Compilamos e instalamos:

cd gameplayfootball cp -R data/. build
cd build
cmake ..
make -j$(nproc)

El ejecutable ./gameplayfootball lo tendremos dentro de la carpeta build

Ahora ya podéis echar partidos de fútbol espectaculares en GNU/Linux.


viernes, 12 de febrero de 2021

Desactivar el repositorio de Microsoft en Raspberry PI OS

Estos días Raspberry Pi OS nos ha hecho una jugarreta que mina la confianza en el sistema, nos ha instalado un repositorio firmado sin nuestro consentimiento, en concreto para facilitar la instalación de Microsoft Visual Studio Code, sobre la polémica dejo al final unos cuantos enlaces.

La solución más sensata va a ser cambiar a otra distro distinta a la oficial, pero si todavía te fías de Raspberry Pi OS tienes que borrar dos archivos:

sudo rm -f /etc/apt/trusted.gpg.d/microsoft.gpg
sudo rm -f /etc/apt/sources.list.d/vscode.list

Lógicamente, en futuras actualizaciones Raspberry Pi OS puede volver a añadir estos repositorios (¿u otros?), una solución parcial es actualizar con el script de actualización que hice hace tiempo al que hay que añadir estas dos líneas antes del poweroff... ¡y permanecer vigilantes!

La jugada le puede salir cara a la Fundación porque hay alternativas y la confianza ya está rota, ahora tendrán que volver a ganársela.

 

Enlaces a la polémica

jueves, 4 de febrero de 2021

Raspberry Pi OS: la solución precisa a los problemas de overscan/underscan

Un problema habitual en Raspberry Pi OS (y otros sistemas) es que la imagen no quepa en la pantalla (overscan) o sea más pequeña y deje unos antiestéticos bordes negros, como ha pasado en mi caso (underscan) al cambiar la resolución a HD Ready para mi viejo televisor Sony Bravia:


La solución que en muchos sitios recomiendan es simplemente deshabilitar el overscan, algo que se puede hacer tanto desde consola editando el archivo /boot/config.txt como de manera gráfica, sin embargo esto lo que suele provocar es convertir un problema de underscan en otro de overscan.

 


Para conseguir una solución precisa volvemos otra vez a habilitar el overscan y volvemos a editar el archivo /boot/config.txt y cambiamos las líneas que comienzan por overscan_, dándole valores positivos si queremos aumentar la imagen en esa esquina o negativos si lo que queremos es aumentarla añadiendo las siguientes líneas:

overscan_left=-16
overscan_right=-16
overscan_top=-40
overscan_bottom=-40

En esta imagen podemos ver donde se deberían añadir, he optado por mantener las originales comentadas por si hay que volver atrás.


Los valores que vienen bien a cada televisor se consiguen mediante prueba y error.

Cada vez que los cambias hay que reiniciar para ver el resultado.

Aunque es improbable que ocurra, especialmente si uno no pone valores muy exagerados, es conveniente tener activo ssh y vnc por si termináramos con una configuración que no fuera visible o manejable.

jueves, 28 de enero de 2021

Horacio esquiador, el remake para GNU/Linux

Haciendo arqueología informática se encuentran juegos graciosos como este Horacio Esquiador que sigue funcionando su binario a pesar de tener más de una década.


Requiere la librería allegro, que posiblemente ya tengas instalada, si no es así simplemente instálala desde el repositorio de tu distro para poder ejecutar el juego.

Como veís, y a pesar de ser una gran mejora respecto al original de ZX Spectrum, sus gráficos no son los más espectaculares pero resulta muy divertido y adictivo, justo al contrario que muchos de los juegos actuales espectacularmente aburridos.

Si tenéis dos monitores os recomiendo que entréis en opciones y lo pongáis para que se ejecute en ventana y no en pantalla completa para que no os cambie la resolución cada vez que jugáis (se arregla al reiniciar pero es un latazo).

Trae código fuente pero yo he intentado compilarlo para otras arquitecturas sin éxito.
Tiene errores posiblemente por cambios de sintaxis del lenguaje durante estos años, aunque no se si las fuentes están completas.

viernes, 22 de enero de 2021

LineageOS, o como convertir la raspberry pi 400 en un Android TV

Una carencia que teníamos con modelos anteriores de raspberry pi era que no había una versión de Android usable de manera práctica... hasta ahora.

 


Recientemente, a instancias de una pregunta de un compañero de nuestro grupo de Telegram, he probado Lineage OS, una implementación libre de Android que soporta las Raspberry pi 4, incluida la 400, con bastante escepticismo y poca convicción (en la misma web de quien adapta este sistema a la placa dice que todo es experimental), pero el resultado ha sido bastante bueno y el sistema va tan fluido como en un móvil, los 4Gb de RAM ayudan mucho.

El método de instalación ha sido a partir de PINN, el gestor de arranque que me ha permitido tenerlo instalado junto a Raspberry pi OS para 64 bits y Recalbox, de los que hablaré en artículos futuros. 

Con ello he conseguido que el pequeño ordenador pueda funcionar como:

  • Android TV (Lineage OS)
  • Ordenador convencional con GNU/Linux (Raspberry pi OS, antes conocido como Raspbian)
  • Retroconsola / mediacenter (Recalbox con KODI).

Centrándonos en Lineage OS la configuración ha sido similar al proceso que tenemos que hacer con un móvil recién comprado, un primer arranque que nos pregunta datos sobre la configuración local y poco más.

AVISO: Si instaláis LineageOS desde PINN (lo lógico si se quiere que el aparato sea más que un Android TV), se os ofrecerán dos versiones  de ese sistema: no uséis la que dice que es para TV box, ya que no tiene aceleración ni funciona bien el bluetooth, la otra funciona perfectamente.

No incluye Google Play, lo que podemos aprovechar para tener un sistema Android libre de la gran G, pues aunque hay maneras de instalar su tienda, realmente no lo vamos a necesitar.

 

¿Y cómo instalamos más aplicaciones de las que trae?

Muy sencillo con apk sueltas que podemos conseguir de diversas maneras:

  • Extraerlas de nuestro propio móvil.
  • Buscarlas por internet (ojo de donde, pero ten en cuenta que aquí no hay datos que robar, por lo que podemos estar un poco más tranquilos pero sin pasarse). Como en cualquier sitio los sitios del propio desarrollador del software suelen ser los más seguros.

O bien usar alguna tienda alternativa:

  • F-Droid: tienda que contiene software libre para Android, una solución ideal.

Recuerda que, en todo caso, la primera vez que intentes instalar un apk suelto te va a decir que no tienes activa la instalación desde terceros y te mostrará un botón para configurar donde puedes activar esta opción.

En ese momento te saldrá un mensaje advirtiéndote de los riesgos de hacer esto, si actúas con responsabilidad y sentido común no vas a tener ningún problema. 

 

¿También juegos?

En otras ocasiones que he probado emuladores de Android para ordenador ha sido imposible ejecutar un juego, sin embargo muchos juegos actuales funcionan con total fluidez en esta versión de LineageOS.

Un problema lógico que me he encontrado es que agrandar o achicar la pantalla con dos dedos es complicado de conseguir en una pantalla que no es táctil.

Por otro lado el bluetooth interno funciona a la perfección y ha sido trivial configurar mi mando de juegos y altavoces.


Teclas rápidas.

Para suplir la carencia de algunas teclas de los móviles tenemos el teclado que nos permite simular esas teclas (algunas requieren pulsación larga):

  • F1 = Home
  • F2 = Back
  • F3 = Multi-tasking
  • F4 = Menu
  • F5 = Power
  • F11 = Volume down
  • F12 = Volume up. 


Enlaces de interés

sábado, 16 de enero de 2021

CPCEmu 2.0 vuelve el clásico emulador de Amstrad CPC para los sistemas de hoy

CPCEmu ha sido para muchos el primer emulador de Amstrad CPC que hemos tocado, por ello siempre tiene un encanto especial pero tiene un gran defecto, que es freeware y no software libre, lo que implica a efectos prácticos que si se queda sin soporte un tiempo deja de funcionar en las distros actuales y por eso no hemos podido disfrutar de este emulador en los últimos tiempos... hasta ahora.

Después de mucho tiempo ha salido la nueva versión 2.0 con interesantes novedades:

  • Nuevos sistemas soportados entre los que se incluyen Linux PC de 64 bits, Android, Raspberry pi, OSX, etc...
  • Una nueva barra de iconos que podéis ver en la captura, se muestra cuando se hace clic con el botón en la ventana de la emulación y son las mismas funciones que se siguen invocando con las teclas de función.

Funcionamiento

He probado tres versiones, la de Linux PC, la de Android y la de Raspberry Pi.

  • La de PC ha funcionado estupendamente, muy rápida la respuesta a todo, me ha recordado lo bien que iba la antigua versión DOS en este sentido, muy fina.
    Y le he echado juegos exigentes y ha estado a la altura.
  • La versión de Android la he probado sobre Lineage OS para raspberry pi 400, aunque ha mostrado un ligero parpadeo el desempeño ha sido muy bueno y reconoce el teclado igual que la versión de PC.
    En mi móvil, un Xiaomi Red Mi Note 7 va fino fino sin parpadeos.
    En ambos casos hay que usar un mando para gestionar el joystick, pero el teclado aparece al hacer clic sobre parte baja de la zona de emulación, lo malo es que se come un pelín de la pantalla del CPC en lugar de desplazarse para arriba.
  • Raspberry pi: si uso Raspberry pi OS de 32 bits funciona bien pero si uso la versión experimental de Raspberry pi OS de 64 bits sale un error con las librerías y NO funciona, ya he avisado al creador del problema.
    Con raspberry pi 2 llega a arrancar pero va muy lento, lo suyo es usar una raspberry pi 4 pero ya sabéis, tiene que ser con un sistema de 32 bits... por ahora.

Los formatos que maneja son DSK y SNA.

La función de cargar archivos sueltos con:

|TAPE
RUN"

Sigue siendo una funcionalidad exclusiva de las primeras versiones DOS, aunque a veces se le echa de menos, pero hoy con todas las herramientas que tenemos para gestionar DSK se puede suplir esa carencia.

Como conclusión estamos ante un justo heredero de aquellas versiones primeras con su inmediatez características pero adaptado a los nuevos tiempos.

Lo podéis descargar desde la página oficial o usar el script RetroMultiInstaller que ya permite instalarlo.

Por cierto, CPCEmu ya va para 30 años según su propia web, ¡felicidades!

viernes, 8 de enero de 2021

Cambiar la resolución en Raspberry Pi OS (raspi400)

Para cambiar la resolución de nuestra Raspberry Pi 400 tenemos que:

  • Seleccionar las opciones:

Menú ► Preferencias ► Screen Configuration

  • Se nos abrirá la ventana representando cada monitor con un rectágulo con el nombre del dispositivo, en mi caso solo el de HDMI. 
  • Hay que hacer clic con el botón derecho sobre ese rectángulo y nos saldrá el menú que nos permitirá cambiar la resolución, frecuencia y orientación.
  • Una vez seleccionado hacemos clic en el icono de Aceptación (el checkbox verde debajo de la opción File) y cambiará.
  • Nos mostrará un cuadro de diálogo preguntándonos si podemos ver bien la pantalla después del cambio, si no hacemos clic asume que no podemos y vuelve a la resolución anterior.

¿Y por qué ha cambiado esto? ¿No se cambiaba antes con el archivo /boot/config.txt o ejecutando raspbian-config?

Esos procedimientos se usan en versiones anteriores de raspberry pi porque la raspberry pi 400 viene unos gráficos con una mejora de rendimiento espectacular en Raspberry Pi OS (antes conocido como raspbian) gracias a usar unos drivers mejores y ya se puede permitir hacer las cosas más como un PC normal con GNU/Linux, pero por ahora no es tan intuitivo porque adivinar que hay que hacer clic con el botón derecho para hacer estos cambios no es tan evidente.

Ya iremos viendo la evolución de esta nueva placa y de sus sistemas, lo siguiente afinar el overscan/underscan.

viernes, 1 de enero de 2021

Feliz 2021: ¿Como se hizo el calendario 2021 Amstrad Machines?

Se está convirtiendo en tradición que haga calendarios con herramientas libres.

Este año en principio solo he hecho el Calendario 2021 Amstrad Machines que lo podéis descargar en AUA Amstrad, se trata en esta ocasión de un calendario de sobremesa.



En este artículo voy a explicar como lo he hecho.

Las herramientas libres utilizadas han sido:

 

GIMP

Con GIMP he retocado las fotos poniéndoles un marco alrededor para que se mostraran correctamente en el generador de calendarios.

 

DesktopCal.js

Se trata de un generador de calendarios en Javascript que te permite hacer calendarios eligiendo el tipo, el mes, el año y las imágenes que quieres añadir, es capaz de calcular los días festivos consultando información en internet.

Una vez puestos todos los parámetros hay que darle al botón Imprimir y elegir la opción de imprimir a un archivo, yo he ido creando los archivos 01.pdf, 02.pdf... para unirlos posteriormente.

Sin embargo me he encontrado con algunas limitaciones y defectos:

  • Si se quiere hacer un calendario de escritorio hay que hacerlo por par de hojas, tampoco permite generar la portada ni la contraportada del calendario.
  • Los días de la semana empiezan en domingo, a pesar de que permite configurarlo para España, eso lo he solucionado haciendo una ñapa al código para que empiece en lunes.
  • Al final del mes muestra los días del mes siguiente para completar la semana en gris pero el último domingo lo muestra en rojo normal en lugar de un rojo atenuado (#FCC). Este bug lo he arregado modificando el código al vuelo con las herramientas del administrador del propio Mozilla Firefox antes de darle al botón imprimir.
  • El mes de agosto no se pintaba bien porque empezaba el domingo día 1, es decir, un mes de 6 semanas incompletas lo que causaba problemas. De nuevo las herramientas del administrador de Firefox han solucionado la papeleta, aunque aquí me he tenido que emplear más a fondo.

Como curiosidad también he modificado su plantilla css para que usara la letra del Amstrad CPC a la hora de generar el calendario.

Las carencias detectadas las he indicado en el apartado de issues, es una manera muy sencilla de colaborar con el avance del software libre, es algo que os recomiendo encarecidamente.

 

LibreOffice.org

Algo poco conocido es que LibreOffice Draw es un decente editor de PDF, con él he podido crear la portada y la contraportada a partir de una hoja repetida y quitar del resto el encabezado y pie salvo en la última que también he retocado.

Con las cabeceras donde aparecen los días de la semana he tenido un pequeño descuadre que he solucionado fácilmente simplemente aumentando la letra a 10.5.


PDF arranger

Cuando he terminado de retocar los archivos PDF necesitaba que todos fueran un único archivo, eso lo he conseguido inmediatamente con PDF arranger, un programa que te permite dividir un PDF en varios o unir varios PDFs en uno solo en el orden deseado como ha sido el caso.


Espero que os guste el resultado.

¡Feliz 2021!