Shared posts

05 Jun 20:21

En vivo - 1 de Mayo del 2026

by Linux con Last Dragon
02 Jun 08:45

Codificador Visual de MORSE

by Luis GuLo
Codificador Visual de MORSE

Qué es el código Morse

El código Morse es un sistema de representación de letras, números y signos de puntuación mediante señales intermitentes, ya sean sonoras, luminosas o pulsos eléctricos.
Utiliza combinaciones de dos elementos básicos: el punto (señal corta) y la raya (señal larga).
Fue creado por Samuel Morse y Alfred Vail en la década de 1830 para la telegrafía.

Codificador Visual de MORSE

El punto y la raya

La duración del punto es la mínima posible.
Una raya tiene una duración de aproximadamente tres veces la del punto.
Entre cada par de símbolos de una misma letra existe una ausencia de señal con duración aproximada a la de un punto.
Entre las letras de una misma palabra, la ausencia es de aproximadamente tres puntos.
Para la separación de palabras transmitidas el tiempo es de 5 puntos o aproximadamente tres rayas.

¿Porqué no?

La verdad es que siempre me ha llamado la atención el código morse, y ultimamente además se ha puesto de moda debido a que lo usan algunos hacker para esconder código usando morse.

A si que por que no aprender y jugar un poco con el Morse

Hay varias reglas mnotécnicas para acordarse de la codificación, pero un cuadro con algo similar a un árbol dicotómico, es más sencillo de usar y permite codificar o decodificar el Código Morse de forma instantánea sin tener que memorizarlo.

En modelo "papel" sería algo así:

Codificador Visual de MORSE
Árbol dicotómico mediante puntos y rayas para el Morse

Con la lógica planificada toca llevarlo al ámbito informático...

Codificador/Decodificador Morse

La forma más sencilla de hacer una aplicación gráfica ha sido usando Python con Pygame el resultado es el que ves en la imagen del programa en ejecución, al codificar "SoloConLinux" tecleando puntos y rayas:

Codificador Visual de MORSE

La escritura de morse en el programa no es como un aparato normal de morse, aquí tienes que pulsar la tecla del punto para simular un punto, o la tecla del guión para simular una raya, la letra que estás "construyendo" aparece abajo a la derecha en un círculo.
En cuanto pulsas la barra espaciadora finalizas la introducción de ese caracter y puedes escribir el siguiente o dejar una separación extra para indicar que empieza una nueva palabra.
Cada vez que confirmas un caracter este aparece en la barra superior formando el texto.

Pulsando la tecla ESC finalizas el programa y puedes ver el texto que has generado y el codigo Morse de ese texto.


$ python morse.py 

========================================
CODIFICADOR MORSE
TEXTO: SOLOCONLINUX 
MORSE: ... --- ...  --- ... --- ...  ... --- .-.. --- -.-. --- -. .-.. .. -. ..- -..-
========================================

Puedes descargarte directamente el fichero morse.py para ejecutar el programa:

Librerías y dependecias del programa

El programa unicamente tiene como dependencia Pygame y lo puedes instalar de la siguiente forma:

  1. Sistemas basados en Debian

Si usas Debian, Ubuntu, Linux Mint o Raspberry Pi debes usar el gestor de paquetes para evitar conflictos:

sudo apt update
sudo apt -y install python3-pygame
  1. Otros Sistemas Operativos

Si usas Windows, macOS u otras distros tienes que instalar las dependencias mediante el comando pip

pip install pygame

Repositorio


Además puedes obtener el código desde mi repositorio, así como alguna otra herramienta basada en Morse:

morse
Codificador y Decodificador gráfico de Morse. Con 2 utilidades para codificar texto a morse y viceversa
Codificador Visual de MORSEGitea: Git with a cup of tealuisgulo
Codificador Visual de MORSE

gitea.soloconlinux.org.es/luisgulo/morse

02 Jun 08:28

Thunderbird Pro. Las novedades del proyecto en abril de 2026

by victorhck

La comunidad que desarrolla el cliente de correo Thunderbird sigue trabajando en hacer realidad Thundermail, Appointmet y Send

Logotipo de Thunderbird. Un pájaro de color azul enroscado alrededor de un sobre de correos y el nombre de la aplicación

Ya hace un año la comunidad de Thunderbird dió a conocer el ambicioso proyecto en el que estaban trabajando, sin descuidar su cliente de correo. Se trataba de ThunderbirdPro que incluye un servicio propio de correo llamado Thundermail, una herramienta para organizar calendarios y encuentros llamada Appointment y otro servicio para compartir archivos llamado Send.

En el blog ya di cuenta de la noticia hace un año:

Vamos a echar un vistazo hoy a las novedades del proyecto y cómo va el desarrollo.

Thundermail

Se trata de un servicio de correo gestionado y creado por la comunidad de Thunderbird. Se está desarrollando un nuevo flujo de conexión que hará que sea mucho más fácil agregar una cuenta Thundermail a Thunderbird, incluyendo opciones como la configuración del código QR y una integración más profunda dentro de la aplicación, además de otros aspectos de utilización y primera experiencia.

El panel de gestión de la cuenta se ha actualizado para ofrecer una apariencia más limpia, una incorporación más fluida y un acceso más fácil a los detalles clave que interesan como usuario. La configuración de ajustes como contraseñas de aplicaciones, dominios personalizados y alias ahora es más visible al gestionarla la primera vez.

Eso en cuanto a la gestión de la nueva cuenta en su servicio de correo, pero para poner en marcha un servicio así hace falta un gran trabajo detrás. Por el lado de la infraestructura, continuan mejorando la estabilidad y el rendimiento. Esto incluye el trabajo completado para actualizar Stalwart para fortalecer la detección de spam para que los correos electrónicos legítimos tengan muchas menos probabilidades de terminar en spam, junto con mejoras en la forma en que se monitorean los servicios para que los problemas sean más fáciles de detectar y menos probable que afecten a los usuarios.

Y siguen trabajando y mejorando cosas como:

  • Una capa final de pulido en toda la experiencia entre la aplicación web, los complementos y los flujos de escritorio.
  • Finalmente: Webmail está ascendiendo en su lista de prioridades. El desarrollo avanza activamente y su objetivo es brindar una experiencia utilizable mucho antes de lo planeado.

Appointment

Han progresado en la fiabilidad y el rendimiento del backend, incluidas mejoras en la forma en que se procesan las tareas del calendario y correcciones en el manejo de eventos.

Ahora las prioridades de cara al lanzamiento también se centran en mantener la fiabilidad, con mejoras en las conexiones del calendario, sincronización de eventos, acceso a Zoom y un flujo de configuración más simple en la primera impresión.

Send

Han realizado mejoras visuales sustanciales para que parezca una parte más natural de Thunderbird Pro. También han realizado una serie de mejoras de seguridad y continuan evaluando opciones de infraestructura para garantizar la fiabilidad a largo plazo.

Las prioridades para Send en los próximos meses incluyen un mejor manejo de las claves de cifrado y descargas protegidas con contraseña de una manera más clara.


¿Quieres ser de los primeros en probar este servicio experimental que será de pago? En breve mandarán las primeras invitaciones. Apúntate si no lo has hecho y verás en primera persona qué puede ofrecer este servicio ThunderbirdPro y dar tus aportes para diferentes mejoras:

Tienes el anuncio oficial en este enlace:

02 Jun 08:25

Immich: Tu propio "Google Fotos"

by Luis GuLo
Immich: Tu propio "Google Fotos"

Immich es una solución totalmente gratuita y sin ningun tipo de limitación para que montes tu propia nube para guardar y gestionar tus fotos, es totalmente funcional y una alternativa real a Google Fotos.

Permite que las fotos y videos que realices con tu movil se guarden en tu propio servidor.

La mejor opción es instalarlo mediante docker en tu propio servidor de casa, puedes ver el procedimiento completo en su documentación:

Docker Compose [Recommended] | Immich
Docker Compose is the recommended method to run Immich in production. Below are the steps to deploy Immich with Docker Compose.
Immich: Tu propio "Google Fotos"Immich Logo
Immich: Tu propio "Google Fotos"

Instalar mediante Docker Compose

Además una vez instalado y configurado en tu propio servidor, lo ideal es instalar la aplicación para movil y sacarle todo el rendimiento.

Immich: Tu propio "Google Fotos"
Demo on-line de Immich


La aplicación móvil es gratuita y no tiene publicidad

Immich - Apps on Google Play
This is a client app for the self-hostable Immich Server
Immich: Tu propio "Google Fotos"Apps on Google Playaltran1502
Immich: Tu propio "Google Fotos"

Aplicación para Google Play

Immich App - App Store
Download Immich by FUTO Computing on the App Store. See screenshots, ratings and reviews, user tips, and more apps like Immich.
Immich: Tu propio "Google Fotos"App StoreFUTO Computing
Immich: Tu propio "Google Fotos"

Aplicación en la App Store

Sin embargo este artículo además de mostrarte esta magnifica solución alternativa a Google Fotos, es para mostrar como solucionar el error en el procesamiento y detección de caras.

Error de Detección de Caras

He visto que mucha gente se queja de que el proceso de detección de caras les falla.
En las pruebas locales que realicé funcionaba correctamente, pero al ponerlo en producción fallaba tal y como comentaban el resto de usuarios.

Lo primero que he realizado ha sido revisar los logs del contenedor immich-server para verlos, simplemente ejecuta el comando docker logs immich-server a mi me aparecían lo siguientes errores:

Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.5}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs
    at MachineLearningRepository.predict (/usr/src/app/server/dist/repositories/machine-learning.repository.js:117:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    at async MachineLearningRepository.detectFaces (/usr/src/app/server/dist/repositories/machine-learning.repository.js:126:26)
    at async PersonService.handleDetectFaces (/usr/src/app/server/dist/services/person.service.js:244:52)
    at async JobService.onJobRun (/usr/src/app/server/dist/services/job.service.js:51:30)
    at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:91:13)
    at async /usr/src/app/server/node_modules/.pnpm/bullmq@5.71.0/node_modules/bullmq/dist/cjs/classes/worker.js:570:32
[Nest] 7  - 04/27/2026, 8:09:55 PM    WARN [Microservices:MachineLearningRepository] Machine learning request to "http://immich-machine-learning:3003" failed: fetch failed
[Nest] 7  - 04/27/2026, 8:09:55 PM    WARN [Microservices:MachineLearningRepository] Machine learning request to "http://immich-machine-learning:3003" failed: fetch failed
[Nest] 7  - 04/27/2026, 8:09:55 PM    WARN [Microservices:MachineLearningRepository] Machine learning request to "http://172.28.0.2:3003" failed: fetch failed
[Nest] 7  - 04/27/2026, 8:09:55 PM    WARN [Microservices:MachineLearningRepository] Machine learning request to "http://172.28.0.2:3003" failed: fetch failed
[Nest] 7  - 04/27/2026, 8:09:55 PM   ERROR [Microservices:{"id":"d7da13f6-d3d7-4e70-afa1-0c4b69e00e61"}] Unable to run job handler (AssetDetectFaces): Error: Machine learning request '{"facial-recognition":{"detection":{"modelName":"buffalo_l","options":{"minScore":0.5}},"recognition":{"modelName":"buffalo_l"}}}' failed for all URLs

Luego he realizado una revisión de la configuración del servidor (via web) con el usuario administrador y veo la siguiente configuración en la parte de "aprendizaje automático":

Immich: Tu propio "Google Fotos"

Aunque en la configuración de los servidores tengo creada su propia red para conectar internamente todos los contenedores, he comprobado que el problema es que no sabe resolver el nombre del servidor de aprendizaje.

Para comprobar si es realmente un problema de resolución de nombres he averiguado la ip del contenedor para incluir esa IP, se averigua facilmente con el siguiente comando:

docker inspect immich_machine_learning

Localiza la línea que pone IPAddress y apunta la dirección IP

Immich: Tu propio "Google Fotos"


Luego vía web pulsa sobre el botón + Añadir URL incluye esa IP en la configuración escribiendo:
http://172.28.0.2:3003

Vuelve a revisar los logs y verás que comienza a funcionar el procesamiento:

[Nest] 25  - 04/27/2026, 8:10:00 PM     LOG [Api:MachineLearningRepository~vq17wdpu] Machine learning server became healthy (http://172.28.0.2:3003).
...
[Nest] 7  - 04/27/2026, 8:10:41 PM     LOG [Microservices:PersonService] Detected 1 new faces in asset 0e39b92b-30e5-4388-90b1-094680f2ab52
[Nest] 7  - 04/27/2026, 8:10:46 PM     LOG [Microservices:PersonService] Detected 4 new faces in asset 498858e7-73c2-47e4-be5a-97b8002da160
...

Problema detectado, pero como la IP del contenedor puede modifcarse hay que solucionar el problema de la resolución del nombre.
Para no arrastrar configuraciones de prueba, eliminamos la URL que acabamos de incluir que tenía la IP fijada.

La solución al problema de las caras

La solución es realmente sencilla, tan sólo hay que incluir la línea hostname: immich-machine-learning
en la parte del contenedor de aprendizaje dentro del fichero docker-compose.yml

El fichero deberá quedar así:

...

  immich-machine-learning:
    container_name: immich_machine_learning
    hostname: immich-machine-learning
    image: ghcr.io/immich-app/immich-machine-learning:v2
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    networks:
      red-immich: null
    restart: always

...

Ahora si revisas de nuevo los logs verás que funciona todo correctamente sin errores:

...
[Nest] 25  - 04/27/2026, 8:10:00 PM     LOG [Api:MachineLearningRepository~vq17wdpu] Machine learning server became healthy (http://immich-machine-learning:3003).
[Nest] 25  - 04/27/2026, 8:10:00 PM     LOG [Api:SystemConfigService~0x797efo] LogLevel=log (set via system config)
[Nest] 7  - 04/27/2026, 8:10:00 PM     LOG [Microservices:SystemConfigService] LogLevel=log (set via system config)
...
[Nest] 7  - 04/27/2026, 8:25:03 PM     LOG [Microservices:PersonService] Detected 1 new faces in asset 1121a8d3-1e12-45b7-8e01-d9a9982a56b8
[Nest] 7  - 04/27/2026, 8:25:05 PM     LOG [Microservices:PersonService] Detected 1 new faces in asset 4cbc79b6-b605-4edf-b7e9-9c744e720aca
[Nest] 7  - 04/27/2026, 8:25:14 PM     LOG [Microservices:PersonService] Detected 1 new faces in asset 1f630c0c-87c5-4d86-931d-18e75cb662c0
[Nest] 7  - 04/27/2026, 8:25:14 PM     LOG [Microservices:PersonService] Creating new person for face 4d71ab9a-bd70-4a6c-bd73-ae435fe2e936
[Nest] 7  - 04/27/2026, 8:25:15 PM     LOG [Microservices:PersonService] Creating new person for face 02f60e7e-8802-461e-9d50-0ac6d00c092d
[Nest] 7  - 04/27/2026, 8:25:15 PM     LOG [Microservices:PersonService] Creating new person for face 9c463892-3ba9-4c84-9c79-81491090f259
...

En cuento termine de procesar las fotos verás que las caras ha sido reconocidas correctamente:

Immich: Tu propio "Google Fotos"
Reconocimiento facial correcto en Immich

Enhorabuena, ya tienes totalmente configurado el procesamiento de caras en Immich.


Solución al error "Servidor Desconocido / Desconectado"

Este error indica que el funcionamiento de Websockets en tu proxy no está configurado correctamente.

Puedes leerte la forma de configurar tu reverse proxy para quitar ese mensaje de error:

Reverse Proxy | Immich
Users can deploy a custom reverse proxy that forwards requests to Immich. This way, the reverse proxy can handle TLS termination, load balancing, or other advanced features. All reverse proxies between Immich and the user must forward all headers and set the Host, X-Real-IP, X-Forwarded-Proto and X-Forwarded-For headers to their appropriate values. Additionally, your reverse proxy should allow for big enough uploads. By following these practices, you ensure that all custom reverse proxies are fully compatible with Immich.
Immich: Tu propio "Google Fotos"Immich Logo
Immich: Tu propio "Google Fotos"

En el caso de que usen Nginx (y docker) los cambios a incluir en tu fichero .conf se deben de realizar en dos zonas, la zona de server y la zona de location

  • En server
    # websocket
    proxy_http_version 1.1;
    proxy_redirect     off;
  • En location
    # websocket
    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";

La configuración que yo tengo aplicada y me funciona correctamente es:

# Config para Immich 
server {
    if ($host = immich.midominio) {
        return 301 https://$host$request_uri;
    } 

  server_name immich.midominio;
  listen      80;
  listen [::]:80;
  return 301 https://$host$request_uri;
}

server {
  access_log /etc/nginx/conf.d/logs/immich-access.log;
  server_name immich.midominio;
  listen      443;
  listen [::]:443;

    # Permitir subida de ficheros grandes
    client_max_body_size 50000M;

    # websocket
    proxy_http_version 1.1;
    proxy_redirect     off;
  
  location / {
    include /etc/nginx/conf.d/includes/proxy.conf;
    proxy_pass http://immich-server:2283;
    # websocket
    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";
  }
 
  ssl_certificate /etc/letsencrypt/live/immich/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/immich/privkey.pem; # managed by Certbot
}

Agradecimiento al Software Libre

La verdad es que me ha sorprendido muy gratamente lo bien que funciona y que la empresa además tenga liberado todo el código:

GitHub - immich-app/immich: High performance self-hosted photo and video management solution.
High performance self-hosted photo and video management solution. - immich-app/immich
Immich: Tu propio "Google Fotos"GitHubimmich-app
Immich: Tu propio "Google Fotos"

Por mi parte he contribuido pagando por su trabajo, escogiendo la opción de Server son sólo 100 euros como reconocimiento a su labor y que sigan desarrollandolo.

Immich: Tu propio "Google Fotos"
"Licencia" de Servidor de Immich


NOTA: El pagar no activa nada extra en el servidor, y el no pagar tampoco restringe su uso en nada.

Buy Immich
Buy Immich to support the development effort
Immich: Tu propio "Google Fotos"Purchase
Immich: Tu propio "Google Fotos"
29 May 11:40

Copiar archivos de disco a cinta y viceversa con Discology ejecutando en Retro Virtual Machine

by Jesús B.L.

Para copiar archivos desde un disco virtual (DSK) a un cassette virtual (CDT) hay que seguir los siguientes pasos:

  1. Arrancamos RVM 
  2. Insertamos Discology desde la unidad A
  3. Arrancamos Discology
  4. Creamos un disco nuevo y formateado en la Unidad B
  5. Insertamos la cinta, para lo cual hacemos clic en el cassette que aparece en el emulador, en el botón de STOP.
  6. Seleccionamos el archivo CDT marcando la cinta NO protegida contra escritura.
  7. Si son varios archivos los vamos eligiendo EN EL ORDEN que queremos que se grabe en la cinta.
  8. Si hay un cargador Basic, posiblemente tengamos que modificarlo para que no salga continuamente mensajes y requerimientos poniendo el caracter "!" antes del nombre del archivo. 
  9. Pulsamos Record
  10. Vamos a las opciones Copier
  11. Vamos a "Options".
  12. Elegimos "Dest, drive B:"
  13. Seleccionamos "File".
  14. Elegimos "Destination: Tape" y "Source: Disc".
  15. Elegimos "File > Copy".
  16. Seleccionamos los archivos deseados en el orden que queremos que esté en la cinta.
  17. Pulsamos la tecla "Intro".
  18. Esperamos a que se complete el proceso. Tardará un rato.

Para hacer la operación contraria son los mismos pasos pero cambiando "Destination: Disc" y "Source: Tape".

 


 

24 May 11:28

Charla sobre ingeniería humana y educación con la profesora Elsa Cortés Aznar - Parte I

by Entropía binaria

**** Redes del canal ****
Sitio web: https://entropiabinaria.org/
Telegram: https://t.me/grupo_entropiabinaria
Blog: https://entropiabinaria.blogspot.com/
CodeBerg: https://codeberg.org/entropiabinaria
Donaciones PayPal: https://www.paypal.com/donate/?hosted_button_id=CTXPW2JA56BCA

**** Software que utilizamos (100% Software Libre) ****
- Sistemas operativos: Artix (XLibre-openrc-XFCE), Void (IceWM-MuslLibC), Void (XFCE-GLibC), AthenaOS, con el esquema de particionado "GPT" con las 5 particiones que siempre mantuvimos y recomendamos.
- SimpleScreenRecorder para grabar el escritorio.
- Borderless WebCam (o ffmpeg) para capturar la cámara.
- KDEnLive para procesar los videos.
- KolourPaint y GIMP para crear y retocar imágenes.
- Tenacity y Sneedacity para editar audio.
- Navegadores Firefox como primario, Chromium como secundario.
- Terminal de XFCE y Konsole como terminales principales.
- KWrite/Kate para programar y como "bloc de notas".
- "nano" para editar archivos de texto plano.
- qemu y VirtualBox para virtualizar sistemas operativos.

**** Hardware que utilizamos ****
- Procesadores AMD, gráficas AMD/Radeon, cámaras Razer, micrófono Hyperx, tarjeta de sonido externa Focusrite, memorias Kingston o Corsair, teclado mecánico (Cougar, Corsair) ratón ergonómico, parlantes Edifier. A nuestras torres las armamos nosotros mismos desde hace muchos años, con 100% de partes compradas a Banifox: https://www.banifox.com/
21 May 16:49

El fraude del software privativo

by Linux con Last Dragon

Este vídeo es la respuesta a ciertas personas que tienen el pensamiento mágico de la programación en las versiones de algún software

Blog https://www.lastdragon.net/
Twitter https://twitter.com/LastDragonMX
Patreon https://www.patreon.com/lastdragon
Link de grupo a Telegram https://t.me/lastdragonmex
18 May 15:57

El lenguaje C esta roto

by Linux con Last Dragon
17 May 20:26

La burbuja de la IA no va a reventar

by Linux con Last Dragon

En este vídeo doy mi opinión sobre el futuro de la IA de acuerdo a los patrones observables de la industrial.

Blog https://www.lastdragon.net/
Twitter https://twitter.com/LastDragonMX
Patreon https://www.patreon.com/lastdragon
Link de grupo a Telegram https://t.me/lastdragonmex

#chatgpt #gemini #qwen #ia
03 May 15:32

Grub personalizado, Debian 13 - Trixie

by Usuario_Debian
Se que existe el paquete grub-customizer para personalizar el gestor de arranque Grub desde una interfaz gráfica. Pero yo prefiero hacer la configuración manualmente. GRUB Debian 13 - personalizado por UsuarioDebian Aconsejo no modificar el archivo: /etc/default/grub para realizar nuestras personalización del grub. Debido a que en una futura actualización de grub, este
03 May 14:41

#Patatas viudas: un guiso para cristianos y veganos #shorts

by El Comidista en EL PAÍS

En España se llama “viudos” a algunos guisos tradicionales que no llevan carne ni pescado. Estos potajes no eran veganos por militancia animalista: o se hacían porque no había dinerito para comprar chicha -no es casualidad que se animen con el mismo pimentón y ajo que dan sabor al chorizo, morcilla u otras chachinas y embutidos-, o porque eran apropiados para los días de vigilia. Es decir, para los viernes, la Cuaresma o la Semana Santa.

Las patatas viudas son típicas de estos periodos de abstinencia carnívora, pero tienen muy poco de mortificación. Más bien lo contrario: comerlas es una auténtica gozada, porque poseen la reconfortante sencillez de los guisos españoles clásicos. Además son facilísimas de preparar, saludables y asequibles (si no te pasas con el azafrán, que no es precisamente barato).

#patatas #recetas #recetasfaciles

RECETA ESCRITA: https://elpais.com/gastronomia/el-comidista/2024-03-21/patatas-viudas-un-guiso-de-semana-santa-para-cristianos-y-veganos.html?autoplay=1

Visita ➜ https://elcomidista.elpais.com/
Síguenos en Facebook ➜ https://www.facebook.com/elcomidista/
Síguenos en Twitter ➜ https://twitter.com/ElComidista
Síguenos en Instagram ➜ https://www.instagram.com/elcomidista
03 May 08:58

🔴 LOS MINUTOS DEL ODIO - Semana 18 de 2026

by Fabián C. Barrio

En el marco de una arquitectura institucional resiliente, se hace imprescindible articular una hoja de ruta que, sin renunciar a los vectores de gobernanza transversal, permita reconfigurar los márgenes de maniobra en torno a una matriz de consenso dinámico. La ciudadanía demanda respuestas que integren la complejidad del contexto, y por ello se impulsarán mecanismos de interlocución permanente que, desde una lógica de co-creación normativa, garanticen la sostenibilidad de los equilibrios interterritoriales en clave de prospectiva inclusiva.

Asimismo, se activará un proceso de revisión estratégica orientado a consolidar sinergias operativas entre los distintos niveles de decisión, reforzando la trazabilidad de las políticas públicas mediante indicadores de impacto cualitativo. Esta aproximación holística permitirá optimizar la eficiencia del relato institucional, alineando los marcos de referencia con las expectativas emergentes, todo ello bajo un paradigma de adaptabilidad estructural que preserve la cohesión social en escenarios de incertidumbre expandida.
02 May 10:20

Una buena alternativa a Windows? Zorin OS Lite 18.1

by Locos por Linux

Comienza tu SERVIDOR KVM o WEB HOSTING con Hostinger 👉 https://hostinger.com/locosporlinux
💥 ¡Usa el cupón de descuento LOCOSPORLINUX para obtener un 10% de DESCUENTO!

https://zorin.com/

Instagram: https://www.instagram.com/nicolaslongardi/
GRUPO de Loc-OS (Signal): https://signal.group/#CjQKIFpeW4u6-wUj77vVPasE67ei1584iPtiPYXZ3g5WxuznEhANYSt0HuhrK43ePRS7lC-z

#zorinos #linux #ubuntu
01 May 07:19

🟢 El irresistible atractivo de quien no te hace caso -- La psicología en el tocador (16)

by Fabián C. Barrio

En este vídeo entro en ese territorio incómodo donde el deseo deja de ser lógico y empieza a parecerse más a una adicción elegante.
Hablo de por qué una persona disponible puede no decirte nada… y otra, ambigua e intermitente, se te mete bajo la piel. De cómo tu cerebro convierte la incertidumbre en combustible, de la dopamina jugando a mantenerte enganchado a lo que ni siquiera tienes, y de ese pequeño truco sucio del ego que convierte la conquista en una forma de validación.
Entenderlo no te salva. Pero te coloca en una posición ligeramente menos ingenua.

Si alguna vez te has enganchado a alguien que no terminaba de estar… este vídeo es para ti.
30 Apr 07:52

Incidentes

by danigm

Github está teniendo “problemillas” de estabilidad. Cuando no está caído hay algo que no funciona. Ahora mismo hay un mensaje de que puede que no aparezcan algunos pull requests y esto es algo que lleva sucediendo desde hace un par de días.

Parece que Github no es capaz de asumir el incremento de usuarios que está sufriendo recientemente. Hay quien dice que despidieron a los ingenieros que sabían sobre escalado y que no queda nadie competente. También está el tema de Microsoft moviendo github a la sección IA. Y como no, el incremento en el volumen de “código” que estamos viviendo “gracias” a las IA generativas.

Recientemente estamos viendo una degradación de los servicios en internet, muchos sitios están optando por implementar medidas, cerrar API, o usar proxyies más o menos inteligentes, como Anubis, para limitar el daño que los scrapers IA están provocando. Todo el código en Github es algo muy valioso para la gente que quiere entrenar una IA que pueda escribir o auditar código, así que podemos suponer que gran parte del tráfico serán diferentes scrapers.

En cualquier caso, estas caídas constantes son otra muestra más de que el internet centralizado está colapsando, es hora de volver a desplegar nuestros propios servicios y usar federación o protocolos comunes. Tecnológicamente está resuelto desde hace tiempo y a día de hoy la única ventaja de usar github es la visibilidad, porque hay multitud de servicios gratuitos si no quieres/puedes desplegar tu propia instancia: codeberg, Gitlab, Gitea, etc

La entrada Incidentes se publicó primero en Linux Hispano.

29 Apr 18:06

Retención de Líquidos: Causas, Soluciones y Suplementos

by Fitness Revolucionario

En este video hablo sobre las causas y posibles soluciones de la retención de líquidos, y comento un suplemento que tiene algo de evidencia.

Suplemento retención líquidos: https://amzn.to/4dgm31H

Es un extracto del podcast Radio Fitness Revolucionario:
- Spotify: https://open.spotify.com/show/24yb6nRi4StqHhxCzGMTc8?si=oeJzLhBjQ0Cd9VvnaFipkA
- Apple podcast: https://podcasts.apple.com/es/podcast/radio-fitness-revolucionario/id881260378
- Ivoox: https://www.ivoox.com/audios-radio-fitness-revolucionario_s0_f276601_p2_1.html

📍Recuerda visitar nuestros patrocinadores (código FR10):
- https://paleobull.com/
- https://koficafe.com/
- https://tiendafitnessrevolucionario.com/

💡Para contenido diario sígueme en Instagram:
https://www.instagram.com/fitness.revolucionario/
28 Apr 19:20

Cómo hacer patatas fritas perfectas: 8 errores comunes y el truco definitivo | EL COMIDISTA

by El Comidista en EL PAÍS

No hace falta ser Karlos Arguiñano, Ferran Adrià o René Redzepi –Dios le guarde y se le olvide dónde– para freír unas patatas. Cualquiera puede cortar unas cuantas, pasarlas por aceite caliente y echarles sal, pero la calidad del resultado dependerá de cómo haya dado esos sencillos pasos. Hay patatas doradas, crujientes y en su punto perfecto de grasa y sal. Y también hay patatas blandurrias, grasientas, un pelín requemadas o algo crudas, porque en el proceso se han cometido ciertos errores.

Tras analizar los posibles fallos en la elaboración de un gazpacho, una tortilla de patatas o un bizcocho, el equipo de detección de errores de El Comidista ha identificado los fallos más comunes en el cocinado de este acompañamiento básico. Si no quieres caer en ellos, y además quieres aprender una técnica que no falla para conseguir unas patatas fritas impecables, mira el vídeo de arriba.

Ingredientes:
-Patatas (variedad agria o monalisa)
-Aceite de oliva suave o de girasol
-Sal fina

#patatas #recetas #comidafacil #recetavegana #food

Suscríbete a nuestro canal: www.youtube.com/c/ElComidistaenELPAÍS
Visita: https://elcomidista.elpais.com
Síguenos en Facebook: https://www.facebook.com/elcomidista
Síguenos en Twitter: https://twitter.com/ElComidista Síguenos en Instagram:
https://www.instagram.com/elcomidista
27 Apr 13:49

YouTube del cel a la compu!!

by Locos por Linux

Comienza tu SERVIDOR KVM o WEB HOSTING con Hostinger 👉 https://hostinger.com/locosporlinux
💥 ¡Usa el cupón de descuento LOCOSPORLINUX para obtener un 10% de DESCUENTO!

Instagram: https://www.instagram.com/nicolaslongardi/
GRUPO de Loc-OS (Signal): https://signal.group/#CjQKIFpeW4u6-wUj77vVPasE67ei1584iPtiPYXZ3g5WxuznEhANYSt0HuhrK43ePRS7lC-z
27 Apr 07:14

Resumen de la Clase de SSH en el curso de terminal GNUlinux

by Gnuxero el canal de Rikylinux

Amigues dejo acá le resumen del video del curso de manejo de terminal, en esta episodio vimos SSH y como crear la key para mejor seguridad.

27 Apr 05:41

Intenta ayudar pero no le deja

by El canal de Korah
26 Apr 20:34

¿Compensa el mantenimiento del gas? 🤔 Lo que debes saber

by El Rincón del Gas

👉 Comparador de tarifas (míralo aquí):
https://app.carloscodina.com/login?src=gas

En este vídeo vemos si realmente compensa pagar un mantenimiento de gas o si en muchos casos estás tirando el dinero sin darte cuenta.

Porque mucha gente paga todos los meses pensando que tiene todo cubierto…
y luego cuando hay un problema, la realidad es bastante distinta.

Analizamos qué incluyen realmente estos mantenimientos, qué suelen cubrir… y sobre todo qué NO cubren, que es donde está la clave.

También vemos cuándo sí puede tener sentido contratar uno y cuándo no.

Si tienes gas en casa o estás pagando mantenimiento ahora mismo, este vídeo te interesa.

👉 Web:
https://elrincondelgas.com/

La idea de este vídeo no es decir que todos los mantenimientos sean malos, sino que entiendas bien qué estás pagando realmente.

Porque una cosa es lo que parece… y otra muy distinta cuando miras las condiciones de verdad 😅

Como siempre, el objetivo del canal es ayudarte a entender tu factura del gas y pagar lo mínimo posible.

0:00 ¿Compensa pagar mantenimiento de gas?
0:30 Lo que tienes que mirar antes de contratarlo
1:09 Un mantenimiento barato (y lo que NO cubre)
2:24 Un mantenimiento “completo”… pero ojo
4:03 Dónde se pierde más dinero de verdad
4:30 Cuándo SÍ compensa (caso real)
6:02 Cómo saber si estás pagando mantenimiento

🔴 Si te sirve este contenido, suscríbete que me ayudas muchísimo 🙌
26 Apr 14:05

Así comunica la reina Letizia (y por qué funciona)

by Jose Luis Martín Ovejero

Desvelamos en 3 minutos algunas de las claves más interesantes de la oratoria de la reina Letizia.
Programa D Corazón de TVE - España
26 Apr 13:58

Haz cosas, va

by El canal de Korah
26 Apr 10:35

🔴 LOS MINUTOS DEL ODIO - Semana 17 de 2026

by Fabián C. Barrio

En este momento de transición ecoemocional, nuestra responsabilidad colectiva pasa por reimaginar los marcos de convivencia desde una óptica transversal que priorice las sensibilidades emergentes frente a las inercias estructurales. No se trata de gestionar realidades, sino de acompañar procesos fluidos donde cada identidad encuentre su narrativa sin interferencias normativas. Por eso impulsamos espacios de diálogo resiliente que, desde la escucha activa, permitan articular consensos dinámicos alineados con los valores de inclusión expansiva.

Estamos avanzando hacia un paradigma donde la gobernanza ya no se mide en resultados tangibles, sino en la capacidad de generar entornos seguros para la diversidad de percepciones. La política del futuro es aquella que no impone, sino que co-crea significados en red, integrando voces que históricamente han sido periféricas en el relato institucional. Desde ahí, seguiremos promoviendo iniciativas que refuercen el tejido social desde una perspectiva interseccional, sostenible y profundamente humanista.
25 Apr 08:42

Prueba previa JORNADA de IA el 25 de abril a las 10:00

by Linux Center
25 Apr 08:40

🟢🔴🟡 TENEMOS QUE HABLAR

by Fabián C. Barrio
24 Apr 19:14

El sistema que usa YouTube para que veas este video

by La Chica de Sistemas

Hay un sistema operativo corriendo ahora mismo en servidores de Google,
en los laboratorios del CERN, en routers de millones de hogares y en
laptops a 400 km de altura en la Estación Espacial Internacional.
No es Windows. No es macOS. Es Debian.

En este video cuento la historia real detrás del proyecto: quién fue
Ian Murdock, por qué su modelo de desarrollo cambió la industria para
siempre, cómo casi se rompe en el camino, y por qué con 24 años de
experiencia en Linux sigo eligiéndolo cuando tengo que elegir.

También escucharan a algunos desarrolladores de Debian contando en primera persona
por qué ellos también siguen confiando en Debian después de décadas.

Convertite en mecenas del canal
https://www.youtube.com/channel/UCzrFWz6KrJy-VOz6D7EoT4w/join

00:00:00 - Introducción: El sistema que domina en silencio (desde el CERN hasta la ISS).
00:01:30 - El origen: SLS, el primer sistema Linux y el nacimiento de Slackware.
00:03:36 - Los dinosaurios del ecosistema: ¿Por qué Debian y Slackware sobrevivieron?
00:04:38 - Quién fue Ian Murdock y su visión filosófica sobre la técnica.
00:05:48 - El "Hack" de Murdock: Un modelo de desarrollo comunitario y democrático.
00:06:40 - El Manifiesto Debian: Bases para el software libre moderno.
00:07:51 - Soluciones técnicas: El fin del "Dependency Hell" con dpkg y APT.
00:10:00 - Curiosidades: ¿Por qué personajes de Toy Story? La etapa de Bruce Perens.
00:11:03 - Hitos técnicos: Desde Debian 1.1 hasta el polémico salto a SystemD en Jessie.
00:13:54 - El Contrato Social de Debian: Priorizando siempre al usuario.
00:15:27 - Las tres ramas: Stable, Testing y Sid (y por qué estable significa predecible).
00:18:07 - Debian en el espacio: La migración crítica de la NASA en la ISS.
00:19:07 - El legado de Ian Murdock y la importancia de la salud mental.
00:20:20 - Entrevistas especiales: Marga, Gunnar Wolf y Leonardo Martínez nos cuentan su experiencia.

00:26:08 - Por qué sigo eligiendo Debian después de 24 años.

00:28:11 - Todo sobre la DebConf 2026 en Santa Fe, Argentina.

Mis Redes Oficiales:
Threads:
https://www.threads.net/lachicadesistemas

Instagram:
https://instagram.com/lachicadesistemas

Mi Blog:
https://lexi.lat

Twitch:
https://twitch.tv/lachicadesistemas

Github:
https://github.com/alexiarstein

LICENCIA DE AUDIO
RQYOJHFZZSD4J9DF

Registro Debconf 26
https://debconf26.debconf.org/register
24 Apr 12:29

Probando #Hyprland por primera vez en #openSUSE Tumbleweed

by victorhck

Pruebo el gestor de ventanas Hyprland por primera vez en mi openSUSE Tumbleweed

Captura de pantalla de Hyprland en openSUSE. çse ven dos terminales mostrando información del sistema

Desde hace un tiempo, dentro del mundo de GNU/Linux, ha despuntado un nuevo gestor de ventanas de tipo tiling llamado Hyprland. La novedad es que utiliza Wayland y ofrece vistosas animaciones composiciones de ventanas, debido a que se puede configurar cada aspecto del escritorio.

Ya había utilizado algún tiempo i3wm como gestor tiling de ventanas, pero Hyprland venía a dar un salto cualitativo y actualizado a esa opción. Así que quise probarlo y ver qué aspecto tiene…

Lo probé hace un tiempo, instalando Hyprland en un equipo de prueba en openSUSE desde sus repositorios y la experiencia fue… nefasta. Hyprland necesita mucha configuración y complementos para empezar a hacer utilizable un sistema.

Pero algo me hizo cambiar de idea y volver a probar Hyprland como un novato…

El pasado febrero de 2026 Lubos Kocman publicó un mensaje en la lista de correo de openSUSE, donde informaba de que se había creado un «patrón» de instalación relativo a Hyprland, para ofrecer esa alternativa a los usuarios de openSUSE. El correo lo puedes encontrar en este enlace:

En resumen comentaba que se iba a crear un «patrón» de instalación de Hyprland y que esto incluiría ciertas configuraciones y complementos necesarios para empezar a utilizar el sistema nada más instalado.

Ese patrón de instalación incluiría:

  • greetd con gtkgreet + cage como gestor de login sencillo (se evitó sddm porque arrastra unas 150 dependencias adicionales).
  • Hyprland con citas de bienvenida (“splash quotes”) de Gertjan.
  • waybar, bien integrada con el sistema.
  • opensuse-welcome-launcher y el binario estático opensuse-welcome.
  • hyprland-qtutils para evitar que Hyprland se queje por la ausencia de `hyprland-guiutils y para ofrecer un diálogo cuando hay una actualización de Hyprland.
  • hyprpaper con un fondo de pantalla de openSUSE basado en un wallpaper de Kraith para Hyprland. (no lo he visto)

Atajos de teclado por defecto:

  • Terminal kitty con Super+q
  • Gestor de archivos Thunar con Super+e.
  • Capturas de pantalla con grim usando la tecla de Impr Pant.
  • Lanzador nwg-drawer con Super+r.
  • Super+m cierra la sesión

Filosofía de configuración

  • La configuración está pensada como mínima, sin imponer demasiado al usuario.
  • Se plantea incluso si se podría prescindir de qtutils.
  • El paquete de “branding” instala configuraciones por defecto en /etc/xdg respetando siempre la configuración del usuario.

Así que ahora sí, quise volver a probarlo. Abrí Myrlyn, el gestor gráfico de paquetes de openSUSE, fui al apartado de Patrones o Patterns y seleccione el compositor Hyprland y Hyprland plugins, lo que selecciona para instalar un montón de software adicional.

Terminado el proceso de instalación de todo el software, cerré la sesión actual y entré en mi recién estrenada sesión de Hyprland. Bueno, ahora ya era otra cosa. Ya había algo más parecido a un sistema.

Recién llegado a Hyprland esto es lo que tienes que hacer

Lo primero saber que todos estos gestores de ventanas tiling, tienen un archivo de configuración desde el cual se gestionan todos o muchos de los aspectos y comportamientos del sistema: atajos de teclado, comportamiento de las ventanas, espacios de trabajo, etc…

En openSUSE Tumbleweed lo primero que hice fue editar el archivo /home/<mi_usuario>/.config/hyp/hyprland.conf.

Si no existe puedes crear la ruta y copiar el archivo que existe en: /usr/share/hypr/hyprland.conf Y ya en tu home editar en ese archivo lo que quieras.

Esto fue lo primero que modifiqué:

  • El esquema del teclado a español. La variable kb_layout = es
  • Yo quiero seguir utilizando Dolphin como gestor de archivos, quiero konsole como terminal y wofi como lanzador de programas. Así que:
    • $terminal = konsole
    • $fileManager = dolphin
    • $menu = wofi --show drun --insensitive
  • El cursor de Hyprland no me gusta nada, así que configuré uno bien conocido como Adwaita (si lo tienes instalado en tu equipo u el que prefieras)
    • env = XCURSOR_THEME,Adwaita
    • env = XCURSOR_SIZE,16
    • env = HYPRCURSOR_THEME,Adwaita
    • env = HYPRCURSOR_SIZE,16
  • Reduje el valor de las «gaps» o la separación de las ventanas entre sí, y de estas con el exteriror y el borde de las ventanas:
    • gaps_in = 3
    • gaps_out = 10
    • border_size = 1

Atajos de teclado

Igual que en i3wm, el escritorio está pensado para utilizarse mediante el teclado. Pulsando la tecla «super» o la del icono de Windows (si la tienes) y otra tecla lanzarás las aplicaciones predeterminadas. En mi caso:

  • Super + Q → Abre la terminal. (Prueba a abrir varias para ver cómo se van haciendo sitio)
  • Super + C → Para cerrar la ventana actual. Aprovecha a cerrar todas las terminales que abriste antes.
  • Super + M → Ejecuta un comando para cerrar la sesión
  • Super + E → Abre el gestor de archivos, en mi caso Dolphin
  • Super + V → Hace la ventana activa flotante y la podrás mover por el escritorio
  • Super + R → Abre el menú lanzador de aplicaciones, en mi caso wofi
  • Super + Espacio → Igual al anterior

Por supuesto todos estos atajos los puedes cambiar a tu preferencia.

Para mover el foco a una ventana u otra, la tecla super y las teclas de las flechas.

Para ir a un espacio de trabajo u otro, mediante la tecla super y los números del 1 al 0, así tienes 10 espacios de trabajo en los que abrir tus ventanas.

Si una ventana la tienes abierta en el espacio 1 y la quieres llevar al 2, mediante Super + Shift + 2 y llevará esa ventana al espacio 2. Similar con cualquiera de los espacios disponibles.

Y con esto más o menos ya puedes empezar a funcionar. Guardas los cambios y si no has tenido errores, los cambios son tomados en cuenta inmediatamente. Por aquí te dejo mi archivo de configuración inicial:

################
### MONITORS ###
################

monitor=,preferred,auto,auto

###################
### MY PROGRAMS ###
###################

$terminal = konsole
$fileManager = dolphin
$menu = wofi --show drun --insensitive

#################
### AUTOSTART ###
#################

exec-once = nm-applet
exec-once = waybar
exec-once = hyprpaper

#############################
### ENVIRONMENT VARIABLES ###
#############################

env = XCURSOR_THEME,Adwaita
env = XCURSOR_SIZE,16
env = HYPRCURSOR_THEME,Adwaita
env = HYPRCURSOR_SIZE,16

#####################
### LOOK AND FEEL ###
#####################

general {
    gaps_in = 3
    gaps_out = 10
    border_size = 1

    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    resize_on_border = true
    allow_tearing = false

    layout = dwindle
}

decoration {
    rounding = 5
    rounding_power = 2

    active_opacity = 1.0
    inactive_opacity = 0.95

    shadow {
        enabled = true
        range = 4
        render_power = 3
        color = rgba(1a1a1aee)
    }

    blur {
        enabled = true
        size = 3
        passes = 1
        vibrancy = 0.1696
    }
}

#################
### ANIMATIONS ##
#################

animations {
    enabled = yes

    bezier = easeOutQuint,   0.23, 1,    0.32, 1
    bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
    bezier = linear,         0,    0,    1,    1
    bezier = almostLinear,   0.5,  0.5,  0.75, 1
    bezier = quick,          0.15, 0,    0.1,  1

    animation = global,        1,     6,    default
    animation = border,        1,     5,    easeOutQuint
    animation = windows,       1,     4,    easeOutQuint
    animation = fade,          1,     2,    quick
    animation = workspaces,    1,     2,    almostLinear
}

#################
### LAYOUTS #####
#################

dwindle {
    pseudotile = true
    preserve_split = true
}

master {
    new_status = master
}

misc {
    force_default_wallpaper = -1
    disable_hyprland_logo = false
}

#############
### INPUT ###
#############

input {
    kb_layout = es
    follow_mouse = 2
    sensitivity = 0

    touchpad {
        natural_scroll = false
        tap-to-click = true
    }
}

gesture = 3, horizontal, workspace

device {
    name = epic-mouse-v1
    sensitivity = -0.5
}

###################
### KEYBINDINGS ###
###################

$mainMod = SUPER

bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating
bind = $mainMod, R, exec, $menu
bind = $mainMod, SPACE, exec, $menu
bind = $mainMod, P, pseudo
bind = $mainMod, J, togglesplit

# Focus
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10


# Scratchpad
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Mouse move/resize
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

# Volume / brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-

# Media
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

##############################
### WINDOW RULES #############
##############################

windowrule {
    name = suppress-maximize-events
    match:class = .*
    suppress_event = maximize
}

windowrule {
    name = fix-xwayland-drags
    match:class = ^$
    match:title = ^$
    match:xwayland = true
    match:float = true
    match:fullscreen = false
    match:pin = false
    no_focus = true
}

windowrule {
    name = move-hyprland-run
    match:class = hyprland-run
    move = 20 monitor_h-120
    float = yes
}

Y con esto ya puedes empezar a dar los primeros pasos en Hyprland como los he empezado a dar yo. Si veo que el artículo tiene aceptación, escribiré otro sobre cómo he modificado la configuración de la barra waybar, para mostrarla como se ve en la captura que abre el artículo.

La configuración en estos sistemas se puede volver en algo infinito y que consume nuestro tiempo, puliendo este detalle, dándole ese toque, etc. Puede ser un buen pasatiempo para aprender o puede convertirse en un sumidero de tiempo.

Te aconsejo que te lo tomes con calma y vayas aprendiendo poco a poco sobre Hyprland. Ahora en openSUSE nos han hecho sencillo dar nuestros primeros pasos en Hyprland.

se ve la ilustración de un pingüino con los ojos medio cerrados, encima de una tabla de surf y en su barriga el texto: Linux Inside
24 Apr 09:20

Publicado Agama 19. Un nuevo comienzo para el nuevo instalador de SUSE y openSUSE

by victorhck

Agama 19 no es solo otro cambio incremental. Esta nueva versión de Agama representa en realidad un nuevo punto de partida en varios aspectos, desde el diseño arquitectónico hasta la organización de la interfaz web, incluyendo algunos componentes reescritos y mucho más.

Ilustración de un camaleón con cara de contento escuchando música con unos auriculares mientras surfea

Desde la anterior actualización de Agama 18 en noviembre de 2025, han sucedido muchas cosas en el instalador Agama de SUSE y openSUSE, que trae esta versión de Agama 19, con muchos cambios internos y actualizaciones.

Vamos a echar un vistazo a esas novedades de Agama 19.

Renovación de la arquitectura interna

Agama 19 representa una renovación en la arquitectura interna del programa bastante significativa, necesaria para dejar atrás todas las peculiaridades que venía arrastrando la arquitectura que tenía antes y definir mecanismos que puedan ser la piedra angular de cualquier desarrollo futuro.

Por supuesto, un cambio tan drástico abre la puerta a posibles errores. Así que las pruebas, comentarios y reportes de errores les ayudarán a consolidar los nuevos mecanismos en las próximas versiones de Agama. Cabe señalar que, a pesar del rediseño de la interfaz de programación, el formato de configuración basado en JSON sigue siendo totalmente compatible en versiones anteriores. Cualquier perfil JSON o Jsonnet que funcionara en versiones anteriores de Agama seguirá funcionando en Agama 19 y posteriores.

Reorganización de la interfaz de usuario web

Contar con una mejor API ha permitido ajustar la interfaz web para que se acercara más a la visión original del equipo de desarrollo. Aún queda mucho camino por recorrer en el camino hacia una interfaz totalmente utilizable, pero la nueva experiencia de navegación, basada en una mejor página de resumen y un diálogo de confirmación más útil, marca la dirección a seguir.

Aunque la mayoría de las secciones de configuración siguen siendo similares a las versiones anteriores de Agama, se planea renovar algunas de ellas. El proceso ya ha comenzado para algunas secciones.

En cuanto a la sección de red, hay dos cambios importantes. Por un lado, ahora la interfaz de usuario reacciona dinámicamente a los cambios en el sistema subyacente. Por ejemplo, cuando se conecta un cable nuevo o un adaptador WiFi nuevo. Por otro lado, ahora es posible definir nuevas conexiones ethernet. Esto es muy relevante en escenarios de instalación con varios adaptadores de red que deben configurarse de diferentes maneras.

La interfaz de usuario web también recibió una nueva opción para descargar la configuración actual del instalador en el formato JSON usado por las herramientas de línea de comandos de Agama y para instalaciones sin supervisión. Ese es el primer paso para convertir la interfaz web en una herramienta útil de aprendizaje y prototipado para escenarios más avanzados, aunque esta nueva funcionalidad podría beneficiarse de varias mejoras en la usabilidad.

Todos los cambios mencionados en la interfaz de usuario requerirán varias actualizaciones de las capturas de pantalla y guías disponibles en la página principal del proyecto. Eso no ocurrirá de la noche a la mañana, así que si queréis podéis colaborar enviando vuestros aportes al repositorio de GitHub.

Componentes internos reescritos

YaST sigue viviendo en el núcleo de Agama. Muchas tareas como gestionar dispositivos de almacenamiento o configurar el cargador de arranque se realizan en secreto por los módulos correspondientes de YaST (es decir, yast2-storage-ng o yast2-bootloader).

Pero últimamente el uso de algunos módulos concretos de YaST se ha convertido más en un factor limitante que en una ventaja. Ese es el caso de los usuarios yast2 y el software yast2. Ambos son muy complejos por razones históricas y por su capacidad tanto para instalar un sistema nuevo como para administrar uno ya instalado, algo que está fuera del alcance de Agama.

Por ello, el equipo de desarrollo aprovechó la renovación arquitectónica como una oportunidad para reemplazar esas piezas de YaST por implementaciones más sencillas que les permitan evolucionar más rápido en el futuro. Agama 19 incluye su propia gestión de usuarios y, aún más importante y ambiciosa, su propia gestión del software, incluyendo el registro de SUSE Linux Enterprise y productos y extensiones asociados.

Modos de instalación

Pero Agama 19 no solo trae reestructuraciones y reescrituras de componentes como hemos visto, también viene con un montón de nuevas funcionalidades, como la nueva capacidad de instalar algunas distribuciones en diferentes modos llamados de instalación.

Al instalar las versiones experimentales de SLES 16.1 o la versión correspondiente de SLES para aplicaciones SAP, ahora es posible seleccionar entre los modos Estándar e Inmutable.

Otras distribuciones («productos» en la jerga de Agama) como openSUSE Leap o Tumbleweed podrían utilizar modos en el futuro para redefinir su software y configuraciones de almacenamiento, ofreciendo diferentes variantes de un mismo sistema operativo.

Más opciones de configuración

Aunque los modos son la más visible de las nuevas características, también se han añadido otras nuevas capacidades a Agama que, al menos por ahora, solo son accesibles mediante la configuración JSON. Esto hace que esas nuevas funciones estén disponibles para los usuarios de la interfaz de línea de comandos y de las instalaciones no atendidas.

Probablemente, la más esperada de esas nuevas funciones es la capacidad de instalarse en un grupo de volúmenes LVM existente. Al hacerlo, es posible crear nuevos volúmenes lógicos dentro del grupo de volúmenes preexistente y también es posible reutilizar, eliminar o redimensionar los volúmenes lógicos existentes. Agama 19 incluso permite añadir nuevos volúmenes físicos a un grupo de volúmenes existente como parte del proceso. La mayoría de esas capacidades se añadirán pronto a la interfaz de usuario web.

Por último, pero no menos importante, ahora es posible especificar varias claves públicas SSH para autenticar al usuario root y también usar claves SSH como mecanismo de autenticación para el usuario no root creado por Agama.


Tienes toda la información de primera mano, en el anuncio oficial que ha publicado el equipo de desarrollo de Agama 19:

24 Apr 09:05

Instalar Server de Counter Strike 1.6 en Linux

y no morir en el intento - La primera vez que jugué counterstrike fue hace más de 25 años. Con la versión 1.3, bastante antes de que Steam existiera, de hecho, si se me permite chapear un poco, mi cuenta de steam es una de las más antiguas del mundo aun activas. (Maldita nerd) Pero bueno, ahora...