viernes, 26 de abril de 2024

Digger en GNU/Linux

Digger es uno de esos juegos de siempre, sencillos pero brutalmente adictivos.

Hace muchos años se portó para GNU/Linux y aún hoy se puede seguir disfrutando en distros modernas en tu último equipo, en un ordenador del cretácico y su compilación no puede ser más sencilla:

  1. Instalas las dependencias, básicamente la librería SDL:
    sudo apt install git build-essential libsdl2-image-dev
  2. Te lo descargas, recomiendo hacerlo desde su github:
    git clone https://github.com/sobomax/digger
  3. Compilas:
    cd digger
    make

Para ejecutarlo basta con ejecutar ./digger desde el directorio donde se instaló pero quizás lo disfrutes más a pantalla completa con el parámetro -f, en cuyo caso tienes que salir con la combinación de teclas ALT + F4.


 Estos son los parámetros que le puedes pasar al ejecutable:

  • ./digger: sin parámetros lo lanza desde una ventana.
  • ./digger -q: sin sonido, para no molestar a la familia.
  • ./digger -m: sin música pero con efectos especiales.
  • ./digger -r: te guarda la partida.
  • ./digger -e: te reproduce la partida previamente guardada y sale del programa.
  • ./digger -o: bucle al comienzo de la línea de comando.
  • ./digger -k: te pregunta al principio las teclas para redefir el teclado.
  • ./digger -g: modo Gauntlet.
  • ./digger -2: modo para 2 jugadores.
  • ./digger -x: embeber en una pantalla.
  • ./digger -f: jugar a pantalla completa.
  • ./digger -u: Vidas infinitas.
  • ./digger -i: Empezar en el nivel deseado.

Como en otras ocasiones, también lo puedes instalar con Retro Multi Installer.

 Por cierto, NO que conseguido compilarlo en raspberry pi, si lo consigo actualizaré este artículo explicando como, si alguien lo consigue antes poned un comentario :D

viernes, 19 de abril de 2024

Listar solo los archivos que NO tienen extensión

Aunque en GNU/Linux la extensión del nombre de un archivo NO determina que tipo de archivo es, se sigue empleando por convención y claridad para nosotros humanos la estructura de nombre de archivo:

nombrearchivo.ext

Pero cuando compilamos un programa estos binarios "no tienen extensión", ¿cómo podríamos listar solo estos archivos con un ls?

La respuesta sería alguno de estos comandos:

ls !(*.*)
ls --ignore='*.*'
ls -I '*.*'

Una pregunta sencilla pero las respuestas que encontrarás por ahí es precisamente que las extensiones NO tienen sentido en GNU/Linux, ya... pero se siguen usando.

El único sitio donde he encontrado una respuesta útil ha sido aquí


sábado, 6 de abril de 2024

Retropixel 2024, el evento retro de Málaga en una edición muy cepecera

Otro año más,, se celebra el evento retro del año y completamente gratis, Retropixel 2024 los días 13 y 14 de abril, ya van por la VII Muestra de retroinformática y videojuegos según la web del servicio de cultura de la Universidad de Málaga.

Como siempre se celebra en el enorme hall de la Facultad de Derecho de la Universidad de Málaga, con aparcamiento suficiente para todos.

Para quien a estas alturas no haya oído hablar del evento tiene zonas de exposición de hardware, una amplia zona de juegos, conferencias en las aulas de la propia facultad, torneos y talleres.

Este año se celebra el 30 aniversario de PSX y el 40 de Tetris, Dinamic y nuestro querido Amstrad CPC.

Sobre las conferencias de las 5 programadas a fecha de hoy, más o menos la mitad tratan directamente sobre el Amstrad CPC:

  • Sábado 13 (12:00) - Seguimos queriendo su dinero. 40 años de Amstrad CPC.
  • Sábado 13 (16:30) - Presentación del libro "Cinco Duros: La historia del videojuego en España para todos Vol. 1".
  • Sábado 13 (17:30) - La historia de Indescomp y Amstrad España.
  • Domingo 14 (12:00) - Crea tu juego de 8 bits.
  • Domingo 14 (17:00) - Spidey y Pedja: La historia de PlayStation.


Como en años pasados, iré editando este artículo con más información que vaya obteniendo.


viernes, 29 de marzo de 2024

Soporte exFAT en GNU/Linux

pendrivelinuxexfat

Muchos pendrives, sobre todo de gran tamaño, vienen con el formato exFAT para sortear las limitaciones de tamaños del clásico FAT32, pero esto causa muchas incompatibilidades con aparatos electrónicos y también con algunas distribuciones de GNU/Linux con los paquetes que tienen instalados de serie.

Una solución es, por supuesto, formatearlos en formato FAT32 para tener compatibilidad prácticamente universal pero teniendo en cuenta las limitaciones de tamaño en archivos (4Gb) y particiones.

En el caso de ordenadores con GNU/Linux nos podemos encontrar que de entrada no los manejan con la instalación de serie pero dar soporte a este formato es tan sencillo como instalar los dos paquetes, exfat-fuse exfat-utils, que puedes instalar desde el instalador del entorno gráfico de tu distro.

En el caso de Debian y distribuciones derivadas también puedes instalarlo desde consola con el comando:

sudo apt install exfat-fuse exfatprogs

En algunas distros es posible que también necesite instalar exfat-utils mientras que en otras ni existirá el paquete, en todo caso puedes intentar instalarlo con el comando:

 sudo apt install exfat-utils

Y ya está, ya puedes leer y escribir particionex exFAT

viernes, 22 de marzo de 2024

Head over Heels remake para GNU/Linux

Hace muchos años Jorge Rodriguez hizo para varios sistemas un remake de Head over Heels, el clásico juego de perpectiva isométrica creado por Jon Ritman y Bernie Dummound para sistemas de 8 bits como Amstrad CPC o ZX Spectrum.

El juego no necesita presentación...


Gracias a que el juego es software libre Douglas Mencken lo ha modificado para que se pueda instalar en nuevas distribuciones de GNU/Linux usando RetroMultiInstaller, pero si te gusta compilarlo tu mismo puedes seguir los siguientes pasos:

  1. Instalamos los paquetes necesarios para instalarlo:
    sudo apt install -f build-essential git cmake
  2. Descargamos el código fuente en la carpeta donde queramos tener el juego:
    git clone https://github.com/dougmencken/HeadOverHeels headoverhells
  3. Cambiamos a la carpeta del juego y lanzamos el script de instalación.
    cd headoverhells
  4. Ya podemos lanzar el juego desde ese directorio ejecutando el script de instalación:
    ./linux-build.sh

Estas instrucciones son válidas tanto para PC como placas ARM, como raspberry pi con GNU/Linux basados en Debian.

Por defecto, las teclas usadas en el juego son las siguientes:


Bueno os dejo disfrutando de este clásico con gráficos modernizados ;-) 

 


sábado, 16 de marzo de 2024

Teclas de acceso rápido en la consola de GNU/Linux

Algunas teclas de acceso rápido para usar en la consola de GNU/Linux:

  • ALT + BACKSPACE = Borra una palabra.
  • ALT + b = Mueve el cursor a la palabra anterior.
  • ALT + f = Mueve el cursor a la palabra siguiente.
  • ALT-b o ALT-f = Mueve el cursor entre palabras.
  • ALT-y = Después de CTRL+Y, enrolla las cosas cortadas anteriores.
  • CTRL + ALT + DEL = reinicia el sistema.
  • CTRL + A = Va al final de la línea.
  • CTRL + C = Abortar.
  • CTRL + D = Salir del Shell.
  • CTRL + E = Va al final de la línea.
  • CTRL + K = Eliminar línea lateral derecha (cortar desde el cursor hasta el final).
  • CTRL + L = Limpia la pantalla.
  • CTRL + ALT + L = Bloquea la pantalla.
  • CTRL + P = Buscar en el historial del primer shell.
  • CTRL + PgUp / PgDn = Cambiar la pestaña del terminal.
  • CTRL + R = Recuperar el historial de bash.
  • CTRL + MAYUSC + C = Copiar texto.
  • CTRL + MAYUSC + V = Pegar texto.
  • CTRL + U = Eliminar línea lateral izquierda.
  • CTRL + U = Corta la línea acutal
  • CTRL + W = Corta la última palabra
  • CTRL + ALT + E = Amplía el argumento anterior en esta línea..
  • CTRL+BACKSPACE = Reinicia entorno gráfico (no lo soportan todas las distros pero se puede rehabilitar).
  • CTRL + S junto a CTRL + R = Navega hacia adelante por el historial.
  • CTRL-U o CTRL-K = Cortar la línea comenzando desde el principio/el punto.
  • CTRL-Y = Pega lo último que se cortó.
  • <Esc> (aka Meta. aka ALT) = Para obtener el último argumento de la línea anterior.
  • Fn + cursores izquierda y derecha = Salta en la primera y última línea.

Si conocéis más combinaciones de interés podéis incluirlas en los comentarios. 


Para más información podéis ejecutar el comando:

man readline


sábado, 9 de marzo de 2024

Como hacer un disquete de arranque DOS que lance un programa

Un truco para quien tenga un viejo PC con disquetera y quiera recrear como se hacían esos juegos que arrancaban desde disquete sin usar el disco duro.

Desde MS-DOS o FreeDOS seguimos los siguientes pasos:
 
Formateamos el disquete con el sistema:
FORMAT A: /S

Si ya está formateado también se puede pasar el sistema a posteriori:
SYS A:

Copiamos archivos CONFIG.SYS y AUTOEXEC.BAT del raiz del disco duro al raiz del disquete:
COPY C:\CONFIG.SYS A:\
COPY C:\AUTOEXEC.BAT A:\

Copiamos el juego, lo ideal es que esté en su propio directorio, por ejemplo:
MKDIR A:\MIJUEGO
XCOPY /S C:\JUEGOS\MIJUEGO A:\MIJUEGO

Editamos el archivo AUTOEXEC.BAT del disquete y le añadimos un par de líneas más indicando donde está el juego, por ejemplo:
C:\MIJUEGO
JUEGO.EXE
Lógicamente, hay que cambiar el directorio que contenga el juego en su caso y el ejecutable que lo lanza, suele tener la extensión EXE, BAT o COM.

Reiniciamos y comprobamos que arranca desde disquete y lanza el juego desde el mismo.

viernes, 1 de marzo de 2024

Renombrar todos los archivos de un directorio a minúsculas o mayúsculas

Me he encontrado con viejos programas en C++ procedentes de MS-DOS que no se pueden compilar porque se referencias los nombres en minúsculas y los nombres de archivos están en mayúsculas, lo cual es un problema con los sistemas Unix que si distinguen entre minúsculas y mayúsculas.

Para pasar todos los nombres de archivos de un directorio hay que ejecutar el siguiente comando dentro de dicho directorio:

for original in *; do mv $original `echo $original | tr '[:upper:]' '[:lower:]'`; done

Y listo ya podríamos compilar el programa.

Lógicamente, si por algo necesitáramos pasar todos los nombres a mayúsculas el comando sería:

for original in *; do mv $original `echo $original | tr '[:lower:]' '[:upper:]'`; done

Sabiendo un poco de bash estos problemitas son fáciles de resolver. ;-)

¡Ah! Si está en un zip también se puede descomprimir con todos los archivos en minúsculas con el comando:

unzip -LL archivo.zip

Algo más "para todos los públicos" pero que no siempre funciona.

viernes, 23 de febrero de 2024

Añadir diversas acciones a un mismo acceso directo

Los que usáis distros de GNU/Linux como Linux Mint os abréis dado cuenta que si hacéis clic con el botón derecho en algunos accesos directos aparecen diversas ejecuciones alternativas, normalmente en accesos directos a navegadores que nos permiten así una ejecución normal por defecto (botón izquierdo del ratón), pero también abrirlo en una nueva pestaña o en modo incógnito (botón derecho del ratón).

Primero definimos las etiquetas de las acciones que vamos a usar separadas por punto y coma:

Actions=etiqueta-accion;etiqueta-accion-2;

Este tipo de acceso directos especiales son igual que los normales, solo que al final tienen secciones del tipo:

[Desktop Action etiqueta-accion]
Name=Nombre de la acción
Exec=ejecutable con los parámetros deseados.

Así es como está hecho el acceso directo a Firefox que si hacemos clic con el botón derecho nos ofrece la ejecución normal, en pestaña o incógnito.

Para terminar os dejo el contenido del archivo firefox.desktop que he simplificado quitando las opciones alternativas en diversos idiomas distintas al inglés (por defecto) o español ([es]).

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Name[es]=Navegador web Firefox
Comment=Browse the World Wide Web
Comment[es]=Navegue por la web
GenericName=Web Browser
GenericName[es]=Navegador web
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[es]=Explorador;Internet;WWW
Exec=firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=Open a New Window
Name[es]=Abrir una ventana nueva
Exec=firefox -new-window
[Desktop Action new-private-window]
Name=Open a New Private Window
Name[es]=Abrir una ventana privada nueva
Exec=firefox --private-window

domingo, 18 de febrero de 2024

Desactivar Samsung Smart HUB al iniciar el televisor smart TV Samsung

El pasado diciembre compré una tele Samsung de 65", SmartTV a mi pesar, ya que no ofrecen televisores tontos de ese tamaño en estos tiempos.

Samsung usa el sistema operativo Tizen, que me ha parecido tremendamente intrusivo para el usuario y una de esas cosas que te activan por defecto es Samsung Smart HUB, una especie de panel que ofrece todos sus servicios "smart".

Lo lógico sería que, al encender el televisor simplemente mostrara el canal que seleccionamos con el mando a distancia o si hemos pulsado el botón de encender muestre el último canal o fuente que estábamos viendo previamente.

Esto se consigue desactivando Samsung Smart HUB del arranque del televisor para lo cual hay que seguir los siguientes pasos:

  1.  Si no estamos ya en Smart HUB pulsamos  el botón de Inicio del mando a distancia.



  2. Seleccionamos la opción Menú / Config.



  3. Seleccionamos "Todas las configuraciones".



  4. Seleccionamos "General y Privacidad.



  5. Seleccionamos "Opción de pantalla de inicio".



  6. Desmarcamos la función "Iniciar con Smart HUB".

Y ya está, a partir de ahora cuando encendamos el televisor aparecerá el último canal que estábamos visionando y SOLO se mostrará Smart HUB cuando nosotros queramos, es decir, pulsando el botón de inicio.

Unsmart your TV!

domingo, 11 de febrero de 2024

Eliminando los kernel antiguos

Para eliminar los kernels antiguos, primero hemos de saber que versión utilizamos, para ello

Abrimos la terminal y escribimos lo siguiente:

uname -sr

Esto nos indicará la versión del kernel que usamos.

Ahora hemos de mirar cuantos kernels tenemos instalados en nuestro Debian, para ello escribimos

lo siguiente en la terminal:

dpkg -l | grep linux-image | awk '{print$2}'

Esto nos mostrará todos los kernels instalados.

Ahora hemos de elegir los kernels a eliminar y hacerlo de la manera siguiente para cada kernel:

sudo apt remove --purge linux-image-X.X.X-X-generic

Una vez eliminados actualizamos grub con el comando:

sudo update-grub2

Esto será con cada versión del kernel que queramos eliminar.

No quites nunca linux-image-generic

Al final, reiniciamos el sistema.

sudo reboot

Como podéis ver, el sistema es sencillo y no solo mejorará el rendimiento de la distribución sino que tendréis más espacio para vuestros paquetes o archivos.

viernes, 2 de febrero de 2024

Borrar los thumbnails generados para caja

Los thumbnails son las imágenes previas que muestran los navegadores del contenido de los archivos.

Hay veces que se han creado bajo unas condiciones y queremos que se recreen de nuevo con otras condiciones nuevas.

Se pueden borrar todos los thumbnails borrando el contenido de la carpeta:

/home/tu_usuario/.cache/thumbnails/

Si queremos borrar ciertas imágenes previas tendríamos que usar algún programa visor de imágenes que no use el motor del explorador de archivos de la distro y buscarlos con mucha paciencia.

lunes, 22 de enero de 2024

Sacar capturas de pantalla con GIMP

Aunque en la mayoría de sistemas podemos sacar una captura de pantalla instantánea con el botón ImprPant o PrnScr, este procedimiento tiene limitaciones si queremos sacar un menú en acción, ya sea normal o contextual, porque al pulsar esa tecla lo cierra antes de sacar la captura.

Por ello una buena opción es sacar una captura con GIMP, para ello nos vamos a las opciones

Archivo ► Crear ► Captura de pantalla


A continuación se abrirá un cuadro de diálogo en que tendremos que seleccionar:

  • Capturar la pantalla completa.
  • Incluir puntero del ratón.
  • Retardo de la captura: 20 segundos.


El retardo lo ponemos para que nos de tiempo preparar lo que queremos capturar.

Una vez pasado el tiempo de retardo aparecerá la imagen de lo capturado en el propio GIMP, podemos seleccionar solo la parte que nos interese y nos vamos a las opciones:

Imagen ► Recortar a la selección

Ya solo nos quedaría guardar el resultado con el nombre que queramos, por ejemplo captura.png si queremos una captura sin pérdidas y algo de compresión.

También lo podríamos guardar como captura.jpg, pero en este tipo de imágenes no se gana mucho con el formato JPEG, a veces hasta ocupa más y en todo caso es una captura con pérdidas que puede que no nos merezca la pena, salvo que sea un fotograma de un vídeo por ejemplo.

lunes, 15 de enero de 2024

Debian 12 con repositorios privativos

Como sabéis Debian 12 incluye de serie software privativo, pero SOLO firmware, es por eso por lo que el archivo de repositorios /etc/apt/sources.list contiene esto de serie:

deb https://ftp.debian.org/debian/ bookworm main non-free-firmware
deb https://deb.debian.org/debian/ bookworm-updates main non-free-firmware
deb https://security.debian.org/debian-security bookworm-security non-free non-free-firmware

Si queremos que también se incluya contribuciones y otro software privativo hay que cambiar el contenido por algo así:

deb https://ftp.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb https://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

Es decir, non-free-firmware no sustituye a non-free, non-free contiene software privativo, firmware-non-free contiene firmwares, que antes estaba todo en non-free y ahora se ha separado.


¡Ahora ya sabes como hacerlo! Ponerlos o no, es cosa tuya.

viernes, 5 de enero de 2024

Chorraditas para tu consola

Hay una serie de programitas de utilidad discutible pero muy divertidos para instalar en la consola de tu GNU/Linux

  • neofetch: muestra información de tu sistema junto al logo de tu distro
  • linuxlogo: muestra el logo de tu distro con algo de información
  • sl: si pones al revés el comando ls sale un tren.