viernes, 29 de marzo de 2024

Soporte exFAT en GNU/Linux


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.