martes, 26 de octubre de 2021

Recuperar resolución previa a la ejecución de juegos que la cambian al salir

Algunos juegos cambian la resolución de tu ordenador y al salir la dejan distinta a la que tenías configurada según tus necesidades.

En mi caso tengo dos pantallas conectadas a mi PC, un monitor Full HD y un viejo televisor LCD que solo admite HD Ready con un refresco adecuado para trabajar.

Configuración de trabajo por defecto
Mi configuración deseada: resoluciones correctas y modo extendido

Como se puede ver en la imagen para trabajar normalmente los tengo configurados de manera que el monitor sea la pantalla principal (la que tiene los botones) y el televisor la extienda hacia la derecha.

Pero después de ejecutar algunos juegos a pantalla completa que no gestionan bien las resoluciones terminan ambos con una resolución pobre y mostrando la misma imagen (en espejo).

Después de salir de DosBox a pantalla completa: resolución pobre y modo espejo

 

La solución más sencilla es reiniciar el ordenador o al menos el entorno gráfico, pero es poco práctico, lo ideal es que un script devolviera la resolución correcta.

Para conseguir este objetivo, lo primero es ver cual es la resolución de tu monitor para lo que usaremos el comando xrandr (si no lo tienes instalado ya estás tardando):

xrandr -q

En mi caso me ha devuelto una salida como ésta:

Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 16384 x 16384
DVI-I-1 connected 1280x720+1920+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1280x720      60.00*+  59.86    50.00    59.94    59.74  
   1920x1080i    60.00    50.00    59.94  
   .......

HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080     60.00*+  50.00    59.94    59.93  
   1920x1200     59.95  
   1920x1080i    60.00    50.00    59.94
   ........

Vamos a analizar con más detalle la salida de datos obtenida.

  1. La primera línea empieza con la etiqueta Screen 0 y no hay una etiqueta Screen 1, lo que significa que ambos monitores en realidad se comportan como uno solo (modo extendido).
  2. La siguiente línea y otra que aparece más abajo con la misma sangría nos dice a que puerto está conectado cada monitor, la resolución nativa, si está girado, etc...
  3. Debajo de esas líneas aparecen muchas líneas correspondientes a cada resolución soportada, he omitido algunas irrelevantes sustituyéndolas por puntos suspensivos para que no nos perdiéramos en la longitud de la salida.
  4. Nos fijamos en las líneas que tiene un *, ya que es la resolución utilizada en cada pantalla:
    • DVI-I-1: el televisor LCD funciona con una resolución 1280x720.
    • HDMI-1: el monitor funciona con una resolución 1920x1080 y es la pantalla primaria (la que tiene los botones).

Con esta información ya podemos crear nuestro comando para recuperar la resolución:

xrandr --output DVI-I-1 --mode 1280x720 --scale 1x1 --output HDMI-1 --primary --mode 1920x1080 --scale 1x1 --left-of DVI-I-1

Como veis es muy fácil adaptar a cualquier necesidad, definimos dos output para cada conector, con el parámetro --mode le indicamos la resolución y en principio dejamos una escala 1x1.

En el caso del segundo monitor indicamos también que es primary y que extiende al televisor por la izquierda (--left-of DVI-I-1).

Como es lógico, lo ideal es poner ese comando enorme en un script que podemos guardar en /usr/local/bin con permisos de escritura, hacer un acceso directo a él o invocarlo al final de los scripts que ejecutan los juegos problemáticos.

 

miércoles, 20 de octubre de 2021

Configurar una impresora por red en Debian

Si tenemos Ubuntu podemos obviar este paso pero si tenemos Debian hay que instalar el soporte de impresoras:

sudo apt-get install system-config-printer cups

Lo siguiente es iniciar el servicio de impresión.


Iniciamos el servicio cups

sudo systemctl enable --now cups

Después nos conectamos al servidor CUPS (localhost)

Para continuar pulsamos el botón desbloquear y Agregar

Impresora de red

Muchas impresoras soportan el protocolo AppSocket/HP JetDirect (aunque no sean HP)


En este caso lo que hay que hacer es poner la IP de la impresora y darle a siguiente:


Lo más probable es que detecte el fabricante y el modelo exacto, o al menos el que más se le aproxime.

 


En este caso ha detectado sin problemas el modelo exacto.

 

Le damos a siguiente para instalar el driver:

Si tuviera hardware adicional como terminadores se lo indicamos en este paso.


Ponemos un nombre para distinguir a la impresora en la red, si no ponemos nada podrá su denominación técnica.


Ya tenemos añadida la impresora, aunque no hemos terminado.


Para cambiar las propiedades de la impresora hacemos clic con el botón derecho en el icono de la misma o la seleccionamos para ir a las opciones Impresora > Propiedades.

Nos vamos justo antes de la sección de Basic para indicar la seguridad de nuestra impresora, que puede ser por Password o por user code / user id como es en nuestro caso.



martes, 12 de octubre de 2021

Soporte DVD en tu distro GNU/Linux

Con esta breve receta vas a poder reproducir todos tus DVD sean de la zona que sean (algo que no puedes hacer en otros sistemas operativos).

Como seguramente ya tengas instalada la librería, pero no configurada empezaría con el siguiente comando:

sudo dpkg-reconfigure libdvd-pkg

Si te da un error indicando que no está instalado el paquete libdvd.pkg, simplemente lo instalamos

sudo apt install -y libdvd-pkg

Tanto si el primer comando nos ha llevado a la reconfiguración como si hemos tenido que usar el segundo terminaremos en la siguiente pantalla.


Simplemente hay que seleccionar YES o SÍ y ya tenemos soporte DVD en nuestros reproductores favoritos, por cierto, recomiendo la navaja suiza del vídeo: VideoLAN.

miércoles, 6 de octubre de 2021

Crear un disquete de autoarranque para el ZX Spectrum +3

Un experimento rápido es hacerte un disco que arranque desde el menú del ZX Spectrum +3, no hace falta que tengas uno real, el experimiento lo puedes hacer con un emulador, como Retro Virtual Machine o ZESarUX, por ejemplo.

Vamos por pasos:

  1. Formatear un disquete (o crearlo formateado si es un emulador).
  2. Nos vamos a la opción de menú +3 Basic
  3. Creamos nuestro programa Basic.
  4. Lo salvamos con la siguiente orden (suponiendo que la primera línea del programa es la 10):
    save "disk" line 10
  5. Da igual que se escriba en mayúsculas o minúsculas. Las comillas se consiguen pulsando la tecla CTRL y sin soltarla la letra P.
  6. Para probarlo basta con pulsar ENTER al arrancar el menú, es decir, la opción Cargador.

 

Actualización: he convertido mi menú para disquetes también para el +3 y lo he renombrado como 8bitdiskmenu.


 Podéis ver como se hizo en AUA.



jueves, 30 de septiembre de 2021

TENTE y TENTE 3D: nuevo grupo en Telegram

A nuestro juego de construcción favorito le faltaba un grupo en telegram, pues ya lo tenemos: TENTE y TENTE 3D.

¿Cómo veo sus contenidos y/o me uno al grupo?

Si no os funcionara el enlace que he puesto en la primera línea, Telegram tiene un buscador en la parte superior que te permite buscar grupos públicos, basta con escribir:

TENTE 3D

Y ya encontráis el grupo, podéis ver los contenidos sin uniros a él, pero es más cómodo unirse ya que se van a ir incorporando más cosas continuamente y así también podéis participar y hacer el grupo más grande.


¿Qué puedo encontrar en este grupo de Telegram que no tenga en otros sitios?

Aunque el grupo se va a nutrir de aportaciones que ya han hecho otros compañeros en otros foros también habrá contenidos exclusivos y sobre todo se va a hacer hincapié en algunas cosas que lo hacen único:

  • Se recogen programas, imágenes, etc... que, por su antigüedad, corren peligro de desaparecer por internet.
  • Se incluyen algunos recopilatorios en PDF para tener ciertas cosas más localizadas.
  • Especiales como el de uniones de piezas poco convencionales que vamos a ir poniendo los fines de semana.
  • Telegram es mucho más seguro que otros servicios de mensajería que no voy a mencionar.


Un error muy común es creer que estos grupos son los sustitutos de los foros, pensar eso es un error garrafal, ya que los foros recogen las aportaciones dándole un orden y un histórico fácilmente consultable mientras que los servicios de mensajería lo que aportan es la inmediatez.

Son complementarios.

Recordad que es el segundo grupo de Telegram que creo, ya hace tiempo tenemos el de Ocio libre y gratuito en GNU/Linux.

 



viernes, 24 de septiembre de 2021

Wine: aumentar el tamaño de la tipografías en las aplicaciones Windows

Van pasando los años y nuestra vista ya no es lo que era, necesitamos aumentar el tamaño de la letra para poder verla, pero ¿qué pasa con las aplicaciones Windows que ejecutamos con wine? ¿cómo se puede aumentar la letra?

Pues es mucho más fácil de lo que piensas.

Método 1: el registro

  1. Lanzamos el registro de wine con el siguiente comando:
    wine regedit
  2. Seleccionamos en la zona izquierda de la ventana, la ruta de la clave de registro a cambiar, en nuestro caso
    HKEY_CURRENT_CONFIG\Software\Fonts
    La selección se hace como si estuviéramos en una ruta de directorios, con el signo + desplegamos cada categoría para ver sus subcategorías y con el - volvemos a replegar.
  3. En la zona derecha hacemos doble clic en el valor LogPixels, lo podemos dejar en modo hexagesimal y le cambiamos el valor original de 60 por 90 por ejemplo, así obtenemos una letra un 50% más grande.

Recuerda que, siempre que se toca el registro, hay que apuntar los valores previos por si metemos la pata y dejamos inoperativo nuestro wine (aunque se puede recuperar de muchas formas).

 

Método 2: el archivo win.ini 

Otra opción es cambiar el archivo win.ini, normalmente situado en una ruta similar a:

~/.wine/drive_c/windows/win.ini

Hay que añadir un par de líneas:

[Escritorio]
MenuFontSize = 18

Podemos poner en lugar de 18 el tamaño de fuente que nos resulte más cómodo.

 

El resultado

En este ejemplo podéis ver la mejora sustancial en la legibilidad de las aplicaciones ejecutadas con wine (haced clic en la imagen para verla a su tamaño real).




sábado, 18 de septiembre de 2021

¿No te gusta una decisión sobre un programa que es software libre? ¡haz un fork!

Hoy, 18 de septiembre, es el Día del Software Libre 2021. Un buen día para plantearse cosas respecto a lo que significa, yo por ejemplo me pregunto si un programa es software libre si el código no se puede compilar, aunque diga que lo es.

Aunque hoy de lo que vamos a hablar de un caso aún más especial pero que sí sería software libre a todos los efectos pero con un trasfondo un poco oscuro, este programa sí se puede compilar pero solo en distribuciones de desarrollo, no en algunas estables debido a un error tonto en una función para pintar ventanas que manda 6 variables en lugar de 4 lo que le hace incompatible con las versiones probadas de la librería qpdf.

Se trata de PDF Mix Tool, un programa que hace unos meses, muchas webs importantes del mundo GNU/Linux anunciaban a bombo y platillo como la gran solución para el manejo de archivos PDF, un programa muy visual y llamativo sobre todo para los novatos pero que no supera a otros como PDF Arranger por ejemplo.

En estos casos, un usuario de software libre lo que debe hacer es avisar al autor del problema y si ya conoce la solución como es mi caso mejor, ya se lo deja en bandeja para dejar solucionado el problema.

El autor es siempre quien toma la decisión respecto a su software, ¿cual fue su decisión en este caso? Pues negarse a solucionarlo poniendo todo tipo de excusas (no dejéis de leerlo que tiene miga) y dando otras opciones, como el uso de la nueva paquetería snap y flathub, ya sabéis lo que pienso de esas "soluciones" al estilo cutre shareware de Windows.

Bueno, es su software está en su derecho entonces... el usuario no puede hacer nada más... ¡pues SÍ que puede hacer! para eso están los fork y como el autor del programa anunciaba que era software libre de la línea hard pues vamos a aprovecharlo.

Así que eso es lo que hice, un fork de lo más tonto para que se pueda compilar mientras tanto en las distros LTS que existen, así de paso lo he podido incluir en RetroMultiInstaller.

No es un caso aislado, hay muchos otros programas que solo se puede compilar en distros experimentales e inestables sin ser nuevos, y en sus contestaciones deja claro que lo se pretende por algunos autores es forzarnos a usar snap o similares, porque es una puerta abierta a distribuir software con mantenimiento deficiente sin que deje de funcionar o directamente programas privativos, a cambio tendremos un GNU/Linux que se irá haciendo cada vez más lento a medida que instalamos más programas y que se comerán el espacio disponible en tu SSD en muy poco tiempo, a los (ex-)usuarios de Windows os sonará.