ru
Feedback
SoftwareLibre

SoftwareLibre

Открыть в Telegram

Contenido en español sobre software libre

Больше
626
Подписчики
Нет данных24 часа
+77 дней
+2030 день
Архив постов
en Kirigami. Rendimiento y técnico de KDE Plasma 6.6.5 * Se han corregido problemas de rendimiento en varias GPU NVIDIA introducidos por la versión 595 del controlador propietario. Plasma 6.7 * Se ha añadido soporte para renombrar o mover la nueva carpeta estándar “Projects” que aparece en las carpetas de inicio de los usuarios. * Se ha implementado la versión 2 del portal “Input Capture”. Pronto en tu distribución KDE Se espera que Plasma 6.6.5 llegue el martes el 12 de mayo de 2026, y Frameworks 6.26 el 8 del mismo mes. Aunque esto debería cambiar en algún momento, se espera que siga habiendo tres versiones de Plasma durante al menos todo 2026. Los planes futuros pasan por lanzar sólo dos versiones al año, para lo que saldría especialmente beneficiado Kubuntu. Vía: Blog de KDE.

Ubunlog KDE mejora el soporte con apps de GNOME, el zoom y Discover https://ubunlog.com/wp-content/uploads/2026/01/Plasma-6.6-pincel.webp KDE sigue incansable su trabajo por mejorar Plasma. Esta semana han seguido puliendo la serie 6.6, pero parecen estar más centrados en el Plasma 6.7 que llegará a mediados de 2026. Hace unos instantes han publicado una nueva nota semanal, y en ella se recogen nuevas funciones con las que saldremos beneficiados los usuarios de KDE. Por ejemplo, hay una que mejorará indirectamente el soporte para aplicaciones de GNOME, lo que hará que ganemos en consistencia. También han aprovechado para seguir corrigiendo errores, parte de la lista que no incluimos en nuestros artículos para no alargarlos demasiado. Quien quiera saber qué han corregido, mejor que abra el artículo original al que enlazaremos al final del nuestro. Lo que sigue es la lista con las novedades más destacadas de la última semana. Nuevas funciones destacadas que llegarán a KDE Plasma 6.7 * Se ha implementado soporte para el portal “Background apps”, lo que permite que las aplicaciones (especialmente apps de GNOME más recientes) utilicen este portal para ejecutarse en segundo plano y aparecer como iconos en la bandeja del sistema, junto a las aplicaciones que ya usan la funcionalidad tradicional de la bandeja del sistema. * Se ha implementado una función de escalado de contenido en pantalla cuando se utiliza el efecto Zoom de KWin. El filtro intenta mejorar la nitidez y escalar el contenido, lo que resulta en una apariencia más suave y menos pixelada, especialmente en niveles de zoom altos. Esta función puede desactivarse si no se desea utilizarla. * El widget de impresoras ahora muestra una insignia con el número de trabajos de impresión activos y en cola. https://ubunlog.com/wp-content/uploads/2026/05/Numero-de-trabajos-pendients-en-la-impresora.webp Mejoras en la interfaz de KDE Plasma 6.7 * El software que usa XWayland y solicita enviar eventos sintéticos de teclado y ratón (como xdotool) ahora se identifica por nombre, permitiendo saber qué aplicación lo solicita. Además, se puede ver una lista de aplicaciones con este permiso y revocarlo posteriormente. https://ubunlog.com/wp-content/uploads/2026/05/siempre-permitir-xdotool-en-KDE.webp * Se ha aplicado estilo visual de KDE al componente genérico MessageDialog de Qt, lo que corrige problemas de apariencia poco integrada en varios programas, incluyendo el diálogo de confirmación del widget de notas adhesivas. https://ubunlog.com/wp-content/uploads/2026/05/delete-dialog-after.webp * Se ha mejorado el comportamiento de Discover cuando se inicia sin conexión a internet. https://ubunlog.com/wp-content/uploads/2026/05/Discover-esta-sin-conexion.webp * Se ha mejorado la forma en la que Discover comunica que una actualización de firmware ha sido programada para instalarse tras el siguiente reinicio. * Se ha eliminado el efecto de “doble botón de retroceso” visible en el widget de redes al mostrar el código QR de una red. * La función de brillo automático de pantalla ahora tiene en cuenta más puntos de datos, lo que mejora su respuesta y reduce cambios bruscos en entornos con iluminación variable. * Los botones en la parte superior del panel del explorador de widgets ahora respetan la Ley de Fitts, permitiendo activarlos al llevar el puntero al borde de la pantalla y hacer clic. https://ubunlog.com/wp-content/uploads/2026/05/botones-fitts-law-en-KDE.webp * Se ha simplificado la notificación que indica que el teléfono conectado mediante KDE Connect tiene batería baja. * Ahora se dispone de más de 25 segundos para seleccionar un color al usar el widget Selector de color, permitiendo más tiempo para tomar decisiones. Frameworks 6.26 * Se ha mejorado la apariencia de la transición de fundido cruzado al cambiar entre páginas en muchas aplicaciones basadas[...]

photo content

ield Monitor, el visor de escritorio remoto enfocado en acceder a máquinas virtuales, ha sido actualizado a la versión 50.0: * Soporte para múltiples monitores en conexiones SPICE. * Soporte para compartir dispositivos USB con sesiones SPICE mediante el portal XDG USB, incluso en Flatpak. * Las máquinas virtuales KVM/QEMU ahora pueden usar renderizado GPU acelerado por hardware si está habilitado. * Field Monitor ahora valida certificados del servidor y solicita confirmación si no son confiables automáticamente. * Varias correcciones en sesiones RDP y SPICE, incluyendo problemas de cursor y rendimiento general. * Se ha publicado la primera versión pública de Gitte, una interfaz gráfica Git basada en GTK4/libadwaita escrita en Rust y construida sobre Relm4 y git2. Incluye: * Navegación de repositorios con pantalla inicial de repositorios guardados. * Visualización del árbol de trabajo, staging y unstaging de cambios, commits y edición de commits. * Lectura del historial de commits e inspección de diferencias por archivo. * Gestión de ramas, etiquetas, remotos y stashes. * Push y pull con remotos, con auto-fetch en segundo plano. https://ubunlog.com/wp-content/uploads/2026/05/Gitte.webp * Parabolic V2026.4.1 llega con numerosas correcciones de errores: * Corregido un problema donde algunos ajustes no se guardaban correctamente. * Corregido un problema donde descargas de listas con límite de resolución no tenían audio. * Corregido un problema donde vídeos verticales se descargaban con resolución incorrecta. * Corregido un problema donde descargas desde sitios con streams muxed fallaban. * Corregido un problema donde descargar un fragmento de un vídeo largo generaba resultados incompletos. * Corregido un problema donde descargas de fragmentos podían quedarse colgadas con aria2c. * Corregido un problema donde descargas de X/Twitter duplicaban el vídeo. * Corregido un problema donde deno no se podía actualizar en Linux. * Corregido un problema donde las cookies del navegador no se encontraban en Flatpak. * Corregido un problema donde Parabolic no iniciaba en KDE. * Corregido un problema donde no se abrían enlaces desde la extensión en Windows. Y esto ha sido todo esta semana en GNOME. Imágenes y contenido: TWIG.

Ubunlog GNOME celebra el día del trabajador con novedades en apps como Field Monitor, Casilda y nueva Gitte https://ubunlog.com/wp-content/uploads/2022/10/Esta-semana-en-GNOME.webp GNOME ha publicado su nota de novedades semanales, esta vez lo ocurrido del 24 de abril al 1 de mayo. Aunque de ayer tendrá el nombre del día y poco más, pues fue el día del trabajador en todo el mundo. Aún así, hay gente para la que su trabajo es muy importante o también un hobby, por lo que no todos paramos. Eso sí, la lista de novedades no es muy extensa. Hay sospechosos habituales, como Parabolic, y también otros nuevos, tanto que sólo ofrecen la primera versión pública, como es el caso de la aplicación Gitte. Lo que sigue es la lista con todas esas novedades. Esta semana en GNOME * Newsflash ahora permite deslizar entre artículos. Esto cierra una de las solicitudes de función más antiguas que seguían abiertas. * Casilda 1.2.4 ha sido lanzado. Esta versión incluye varias funciones nuevas como soporte de escalado fraccional, correcciones de errores y mejoras generales que hacen que empiece a sentirse como un compositor completo. https://ubunlog.com/wp-content/uploads/2026/05/Casilda-1.2.4.webp * Las versiones 0.11.0–0.12.7 de RustConn incorporan las tres mayores funciones desde el inicio del proyecto, además de una gran cantidad de mejoras impulsadas por el feedback de la comunidad. * Se ha incorporado sincronización en la nube. Ahora se pueden sincronizar configuraciones de conexión entre dispositivos y miembros del equipo a través de cualquier directorio compartido como Google Drive, Syncthing, Nextcloud, Dropbox o incluso una memoria USB. Incluye dos modos: sincronización por grupo (archivos .rcn por grupo con acceso Master/Import) y sincronización simple (fusión bidireccional en un solo archivo). Un monitor de archivos importa cambios automáticamente, y la nueva página de configuración muestra el estado, grupos sincronizados y archivos disponibles. La CLI añade comandos para estado, lista, exportación, importación y sincronización inmediata. * Se ha añadido un gestor de túneles SSH como ventana independiente para gestionar túneles de reenvío de puertos sin sesiones de terminal, incluyendo modos local, remoto y dinámico con inicio automático y reconexión. El soporte de host intermedio SSH se ha ampliado a conexiones RDP, VNC y SPICE, permitiendo tunelizar sesiones gráficas a través de un bastion host. Ctrl+T abre el gestor de túneles. * La gestión de pestañas ha sido completamente rediseñada en torno a AdwTabView. La vista general de pestañas (Ctrl+Shift+O) muestra una cuadrícula al estilo GNOME Web. La fijación de pestañas mantiene las importantes a la izquierda. Se añade un selector con búsqueda difusa en la paleta de comandos (%). El menú contextual incluye acciones para cerrar otras, izquierda, derecha, todas o no agrupadas. * Otros aspectos destacados incluyen temas de color de terminal personalizados con editor ANSI de 16 colores, barra de desplazamiento en terminal, zoom de fuente (Ctrl+Scroll), copia al seleccionar, modo Keep-Alive y verbose en SSH, proveedor Hoop.dev como undécimo Zero Trust, override de socket de agente SSH, “mouse jiggler” para RDP, monitor de actividad/silencio del terminal, comprobación de estado del host con autoconexión, reglas de resaltado con colores reales mediante Cairo y rediseño del diálogo de conexión siguiendo GNOME HIG. * El empaquetado ha crecido significativamente. RustConn está disponible como Flatpak en Flathub, Snap con confinamiento estricto, AppImage, paquetes .deb y .rpm mediante OBS (Debian 13, Ubuntu 24.04/26.04, Fedora 43/44, openSUSE Tumbleweed/Slowroll/Leap 16.0) y builds ARM64. También existen paquetes comunitarios para Arch Linux y FreeBSD, y una solicitud abierta para incluirlo en Debian. https://ubunlog.com/wp-content/uploads/2026/05/RustConn-en-GNOME.webp * F[...]

photo content

MuyLinux Linux Mint 22.3 estrena HWE ISOs para mejorar el soporte de hardware nuevo https://www.muylinux.com/wp-content/uploads/2025/01/LinuxMint22.jpg Linux Mint acaba de publicar su boletín mensual y viene con anuncio de lanzamiento: el de nuevas imágenes de instalación de Linux Mint 22.3, si bien no se trata de una nueva versión de la distribución. Son las primeras ISO HWE, siglas de Hardware Enablement, y su objetivo es mejorar la compatibilidad con hardware reciente, tal y como es habitual en el proyecto en el último tramo de cada versión. En esta ocasión, además, el lanzamiento es más significativo, pues Linux Mint se prepara para un proceso de renovación que aún no se ha concretado del todo. Como contamos hace unos días, el proyecto ha confirmado un cambio de ciclo y no publicará su próximo lanzamiento hasta las navidades de 2026. Ergo, Linux Mint 23 no llegará cuando le habría tocado siguiendo el calendario tradicional de la distribución, sino bastante más tarde, con Ubuntu 26.04 LTS como base y con varios cambios importantes en marcha. El problema de alargar el ciclo es evidente: la versión estable puede seguir funcionando perfectamente, pero las imágenes de instalación se van quedando atrás frente a equipos muy nuevos. Y en ese punto entra HWE, muy al estilo de las versiones de Ubuntu LTS que siguen al lanzamiento original: se actualiza la base, pero lo demás se mantiene tal cual. En resumen, Linux Mint 22.3 se lanzó en enero con base en Ubuntu 24.04.3 LTS, incluyendo componentes como el kernel Linux 6.14 y Cinnamon 6.6, y las nuevas imágenes HWE de Linux Mint 22.3 hacen lo propio sobre la base de Ubuntu 24.04.4 LTS, incluyendo componentes como el kernel Linux 6.17… Pero nada más a nivel de escritorio. La diferencia está en que quien descargue estas ISO se encontrará con un instalador de sistema más preparado para arrancar e instalarse en equipos recientes, especialmente si el soporte de hardware depende de un kernel más moderno. Y eso es todo: la versión sigue siendo la misma Linux Mint 22.3 «Zena», la última actualización de la serie, con soporte hasta abril de 2029 y el enfoque continuista habitual del proyecto. Los usuarios actuales de Linux Mint 22.3 no tienen que hacer nada más que actualizar el sistema para estar al día, de acuerdo a la política de soporte de la distribución aplicada a partir de Linux Mint 22. Linux Mint explica que los nuevos medios de instalación han sido probados mediante el proceso de control de calidad del proyecto y se consideran como estables, aunque las imágenes originales de Linux Mint 22.3 siguen disponibles y, de hecho, son las que encontrará quien acuda a la página de descargas de la distribución. En ambos casos, las tres ediciones del sistema (Cinnamon, Xfce y MATE) están mantenidas. Para más información y las descargas de las HWE ISOs de Linux Mint 22.3, el sitio oficial. La entrada Linux Mint 22.3 estrena HWE ISOs para mejorar el soporte de hardware nuevo es original de MuyLinux

photo content

aban aproximaciones matemáticas muy inexactas para calcular el escalado de imágenes, un defecto que el hardware antiguo perdonaba pero que las tarjetas gráficas modernas castigan mostrando líneas y artefactos visuales. D7VK 1.8 implementa una corrección matemática para compensar este cálculo inexacto, eliminando por completo las cuadrículas rotas en los fondos prerrenderizados de Resident Evil y demostrando un nivel de pulido de máxima precisión. Finalmente, si estas interesado en poder conocer mas al respecto, puedes consultar los detalles y la descarga de la nueva version en el siguiente enlace.

Desde Linux D7VK 1.8 revive los juegos retro en Linux con Vulkan y CPU rendering https://blog.desdelinux.net/wp-content/uploads/2026/05/D7VK.png Hace poco se dio a conocer el lanzamiento de la nueva version de actualización de D7VK 1.8 la cual presenta un avance en la implementación nativa, basada en la CPU, para las llamadas al método ProcessVertices, solucionando de raíz los defectos de renderizado y la geometría rota en joyas históricas como Tomb Raider y Praetorians. Además, el equipo ha abandonado el antiguo mecanismo de presentación proxy para introducir un sistema de presentación heredada que permite superponer elementos 2D (como menús y pantallas de visualización) sobre gráficos 3D mediante DirectDraw. Esto no solo devuelve las interfaces perdidas a los juegos clásicos, sino que habilita el control total de la tasa de fotogramas y el uso de la superposición HUD de DXVK. Principales novedades de D7VK 1.8 El avance más crítico de esta versión es la implementación nativa, basada enteramente en la unidad central de procesamiento (CPU), para las llamadas al método ProcessVertices. En las arquitecturas de la década de los noventa, esta función era la encargada de transformar los vértices al espacio de proyección, calcular las coordenadas de pantalla e iterar los recortes de los polígonos fuera del campo de visión. Las implementaciones modernas previas solían omitir o simplificar estos cálculos, lo que provocaba que muchos juegos antiguos presentaran pantallas vacías o geometría severamente corrompida. Gracias a esta reconstrucción precisa, la actualización soluciona de raíz los defectos de renderizado masivos en títulos legendarios como Forsaken, Praetorians, Hidden & Dangerous, Escape from Monkey Island y Tomb Raider: The Last Revelation. Otra de las mejoras que se presenta en esta nueva version es la eliminacion del antiguo mecanismo de presentación proxy para dar paso a un sistema estructurado de presentación heredada (legacy presentation). Los juegos de la era inicial del 3D dependían fuertemente de DirectDraw para actuar como un compositor rudimentario, superponiendo elementos bidimensionales como menús, textos y pantallas de visualización frontal (HUD) directamente sobre los gráficos 3D renderizados. El mecanismo proxy anterior delegaba la imagen final al sistema nativo, lo que rompía las superposiciones y bloqueaba herramientas modernas. El nuevo enfoque captura la imagen final ya compuesta por DirectDraw y la devuelve internamente a D7VK para ser proyectada de forma nativa utilizando Vulkan. Aunque este paso adicional implica una ligera penalización teórica en el rendimiento, en la práctica resulta imperceptible para resoluciones clásicas y otorga a cambio un control absoluto sobre la salida de video. Esto permite a los jugadores activar la interfaz superpuesta de DXVK, limitar la tasa de fotogramas, forzar la sincronización vertical y, lo más importante, devolver los elementos faltantes de la interfaz a juegos como Blade of Darkness, Sacred, Lands of Lore III, Codename: Outbreak y las entregas de FIFA 99 y 2001. Mitigación de artefactos de escalado y reparaciones específicas Más allá de los cambios estructurales, el código incluye un meticuloso trabajo de depuración para solucionar fallos históricos en motores gráficos muy particulares. Tambien se destaca que se ha corregido la desaparición del terreno en Age of Wonders II y Shadow Magic, se ha reparado el manejo de la iluminación dinámica que rompía el apartado visual de X: Beyond the Frontier y X: Tension, y se han solucionado las caídas críticas al inicio de Hype: The Time Quest. Adicionalmente, se han incluido perfiles de configuración integrados para optimizar el arranque de Prince of Persia 3D y Jurassic Park: Trespasser. De manera especial, la actualización aborda un problema técnico heredado de las consolas de 32 bits. Algunos ports tempranos de PlayStation 1 utiliz[...]

photo content

trictamente las listas de memoria de origen y destino para evitar que las páginas de la caché terminen en rutas escribibles. Estos parches ya se han integrado en los kernels 6.18.22, 6.19.12 y 7.0, y están siendo adaptados (backports) a las ramas de soporte a largo plazo. Para aquellos administradores que no puedan reiniciar o actualizar sus servidores de inmediato, se recomienda deshabilitar el módulo del kernel algif_aead si fue compilado externamente, o restringir severamente la creación de sockets AF_ALG mediante políticas de seguridad como SELinux, un blindaje que, por ejemplo, ha mantenido a los dispositivos Android actuales a salvo de esta amenaza. Finalmente, si estas interesado en poder conocer mas al respecto, puedes consultar los detalles en el siguiente enlace.

Desde Linux Copy Fail: La vulnerabilidad en Linux que otorga acceso root mediante el caché de páginas https://blog.desdelinux.net/wp-content/uploads/2026/05/copy-fail.png La seguridad de Linux nuevamente enfrenta un desafío tras el descubrimiento de la vulnerabilidad CVE-2026-31431, bautizada como «Copy Fail» por los investigadores de Xint Code. Lejos de ser un fallo teórico, este problema de diseño permite a un usuario local sin privilegios elevar sus permisos y obtener acceso total como superusuario de forma predecible y silenciosa. Los investigadores mencionan que este fallo ha sido explotado con éxito en distribuciones líderes como Ubuntu, Amazon Linux, RHEL y SUSE, confirmando que cualquier sistema que ejecute un kernel posterior a la versión 4.14 y mantenga habilitado el soporte para sockets AF_ALG es potencialmente vulnerable a este ataque. Operaciones In-Place y el desbordamiento del caché de páginas Sobre el fallo, se menciona que este se remonta a una optimización introducida en 2017 dentro de la API criptográfica del kernel (AF_ALG). Esta modificación buscaba eliminar el almacenamiento intermedio innecesario ejecutando operaciones de cifrado autenticado (AEAD) directamente en el mismo espacio de memoria, lo que se conoce como operaciones «in-place». El problema crítico surge al combinar esta optimización con la función splice(), la cual transfiere datos entre descriptores de archivo transfiriendo referencias directas al caché de páginas del kernel en lugar de copiar físicamente los datos. Al solicitar un descifrado, la estructura de memoria se configuraba de tal manera que el búfer de destino, que debería ser un espacio temporal para el usuario, terminaba vinculado directamente a las páginas de la caché que contienen los datos de los archivos del sistema. Authencesn y la escritura fuera de los límites de memoria El detonante final de la vulnerabilidad reside en el comportamiento anómalo del algoritmo authencesn. A diferencia de otras rutinas criptográficas que respetan estrictamente los límites de sus búferes de destino, este algoritmo específico utiliza el espacio de memoria del usuario como un área de trabajo temporal (scratch pad) para reorganizar secuencias de bytes durante el cálculo de etiquetas de autenticación. En este proceso, el algoritmo escribe cuatro bytes más allá del límite establecido para la región de salida. Debido a la optimización in-place y a la cadena de referencias creada por splice(), esta escritura aparentemente inofensiva cruza la frontera de la memoria del usuario y aterriza directamente en la página de la caché del kernel asociada al archivo que se está procesando. Esta cadena de fallos lógicos otorga al atacante la capacidad de sobrescribir arbitrariamente cuatro bytes en posiciones específicas de la caché de páginas para cualquier archivo que pueda leer. Enviando una serie de solicitudes calculadas, un atacante puede inyectar código malicioso en la versión en memoria de archivos ejecutables críticos con el bit suid activo, como la herramienta de cambio de usuario. Dado que todas las operaciones de lectura consultan primero la caché de páginas, la próxima vez que se invoque la utilidad legítima, el sistema ejecutará el código inyectado desde la memoria, otorgando privilegios de root instantáneos sin alterar jamás el archivo físico en el disco duro. Más alarmante aún, debido a que el aislamiento de contenedores comparte la caché de páginas del host subyacente, esta vulnerabilidad sirve como una puerta directa para escapar de entornos virtualizados como los clústeres de Kubernetes y comprometer el nodo principal. Parches de emergencia y soluciones de mitigación Frente a la gravedad de este fallo, los equipos de mantenimiento han desplegado actualizaciones de emergencia, donde la solución definitiva radica en revertir la optimización in-place dentro del archivo algif_aead.c, separando es[...]

photo content

xpresiones son iguales * !=: No igual que. Determina si dos valores no son iguales. * >: Determina si el valor de la izquierda es mayor que el de la derecha. * <: * >=: Determina si el valor de la izquierda es mayor o igual que el de la derecha. * <=: Además de valores núméricos Python puede comparar cadenas de caracteres comparando carácter por carácter  siguiendo un orden que se bassa en la codificación (ASCII o Unicode. Empieza de izquierda y derecha y para cuando encuentre diferencias o una de las dos se termine. La comparación diferencia entre mayúsculas y minúsuclas. Operadores lógicos Se usan para verificar el cumplimiento de varias condiciones * And: Devuelve el valor True si se cumplen todas las condiciones. En caso de que alguna no se cumple devuelve el valor False. * Or: Devuelve True si una de las condiciones se cumple y False si no se cumple ninguna de ellas. * Not: A la inversa de And devuelve True si no se cumple ninguna de las condiciones. Mostrando información Con la instrucción print() podemos mostrar en pantalla los datos de variables o mensajes de texto incluidos en el código.  Los diferentes contenidos a imprimir se separan por comas.  Recuerda que el texto debe estar encerrado entre comillas. Al final del texto se agrega un salto de línea y si se da la instrucción sin argumento se imprime una línea en blanco. nombre = "Diego" print("Hola, mi nombre es: ", nombre) Es posible agregar un salto de línea en una parte determinada del mensaje a mostrar. print("Hola, mi nombre es.\nDiego") El carácter especial .\t añade una cantidad de espacios predefinidos antes del texto print("Nombre:\tDiego\nApellido:\tGonzález") \t es una forma básica pero no siempre efectiva de alinear el texto ya que la cantidad de espacios dependerá del sistema donde se corra el programa. Es posible que en lugar de hacer un salto de línea al finalizar un mensaje se agregue otro carácter. print("Diego,", end='/') print("González") Ingresando datos Cuando se necesita que el usuario introduzca una información mediante el teclado se utiliza la función input() Esta función muestra un mensaje y detiene la ejecución del programa hasta que el usuairo ingresa la información pedida. distribución = input("Introduce el nombre de tu distribución Linux preferida: ") print("Tu distribución Linux preferida es", distribución) Recuerda que la función input() trabaja con cadenas de caracteres por lo que será necesario convertir la entrada a otros formatos encaso de que se necesite realizar operaciones numéricas. Podemos hacerlo con las siguientes líneas de código edad = input("¿Cuál es tu edad?: ") edad = int(edad) Como vimos en artículos anteriores, también es posible ingresar datos por medio de archivos. En el próximo artículo veremos como usar todos estos componentes creando funciones más complejas.

Ubunlog Curso de programación en Python usando Linux. Séptima parte https://ubunlog.com/wp-content/uploads/2026/04/python.jpg En el artículo anterior de nuestro curso de programación en Python usando Linux (Enlace al final del artículo) comenzamos a hablar de los componentes que se usan para construir los programas. Aunque pueda parecer un tema excesivamente básico, son la base con la que pueden construirse cosas más complejas. Habíamos definido a las variables como contenedores en los que pueden almacenarse todo tipo de datos no permanentes, aora continuaremos explorando cuáles son las mejores prácticas para utilizarlas. Curso de programación en Python usando Linux Más sobre las variables Salvo la lista de palabras no permitidas que dimos en el artículo anterior, Python nos ofrece bastante flexibilidad a la hora de elegir nombres de variables. Incluso podemos tener nombres similares utilizando distintas combinaciones de mayúsculas y minúsculas. Sin embargo, es bueno disfrutar de esa libertad con un poco de autoregulación. Teniendo en cuenta que nosotros u otra persona tengamos que revisar ese código para corregir errores y actualizarlo es importante que utilicemos nombres que sean significativos y descriptivos de los datos que vamos a almacenar en ellos. Por ejemplo, si vas a almacenar marcas de auto lo ideal sería marca o marca_auto en lugar de por ejemplo una letra o el nombre de uno de los personajes de los Simpson’s.  Si el nombre de la variable va a ser largo, por ejemplo usando dos o más palabras, se pueden separar con guiones bajos o alternando mayúsculas y minúsculas: marca_auto o MarcaAuto. Si recuerdas el código de ejemplo de los artículos anteriores habrás observado que el nombre de algunas variables empezaban con «-» esto es una convención que indica que esas variables son para uso interno de la clase. Tipos de datos Aunque no es necesario declarar que tipos de datos va a almacenar una variable al principio del programa, si al momento de asignarles un valor se debe escribir la instrucción de manera específica según el tipo. Python trabaja con los siguientes tipos de datos: Número entero (int) Son números positivos y negativos sin parte decimal que pueden usarse para realizar operaciones aritméticas. año = 2026 Número decimal (float) Son números que contienen una parte fraccionaria separada para un punto. Se usan para reflejar valores con una mayor precisión: Precio = 2.99 Cadena de caracteres (str) Almacena conjuntos de letras. Son los datos que se usan para almacenar texto. Nota que el texto a almacenar a entre comillas Nombre = "Diego" Booleano (bool) Este tipo de datos solo admite dos valores: Verdadero (True) o Falso (False) es_mayor_ que = True es_menor_que = False Es posible hacer la conversión entre tipos de datos Entero a decimal entero = 25 decimal = float(entero) Decimal a entero decimal = 5.25 entero = int(decimal) Conversión de números a cadena de caracteres siglo= 21 mensaje = "Estamos en el siglo" + str(edad) Conversión de cadenas numéricas a números cadena_texto = "2025" numero = int(cadena_numerica) Conversión de booleano a formato numérico Dijimos que los datos booleanos solo admiten dos valores:  verdadero (True) y Falso (0) Es_verdadero = True Es_falso = False print(int(E_verdadero)) print(int(Es_falso)) Conversor de dato numérico a booleano valor = 0 print(bool(valor)) valor = 1 print(bool(valor)) Operadores de comparación Los operadores de comparación, como su nombre lo indica, permite comparar valores devolviendo un dato booleano (Verdadero o falso) Son: * ==; Si, son dos signos iguales para no confundir con el de asignación de valores a las variables. Determina si dos e[...]

photo content

MuyLinux Bazzite 44: el nuevo referente del gaming en Linux sigue evolucionando https://www.muylinux.com/wp-content/uploads/2026/04/bazzite.png Bazzite 44 es la nueva versión de una de las distribuciones enfocadas en el gaming más destacadas del panorama, a la que hemos mencionado en unas cuantas ocasiones, a pesar de que nunca le hayamos dedicado un artículo en exclusiva. Pues bien, esto cambia desde ya, porque el proyecto lo vale, y se le está reconociendo así. De hecho, aunque Bazzite apunta a un nicho muy concreto, lo ha trascendido en cierta medida, al punto de convertirse en una de las distribuciones más populares a lo largo del último año. Dos muestras de esta tendencia se observan en Distrowatch, donde ha escalado posiciones hasta casi tocar el top diez; y en nuestra encuesta de fin de año, donde —pese a no haber hablado de ella nunca, cabe repetir— hizo lo propio, logrando una decimosegunda posición y superando a opciones tan asentadas como MX Linux, elementary OS o Deepin. No alcanza el nivel de CachyOS, pero tampoco juega exactamente en la misma liga, ni se dirige del todo al mismo tipo de usuario. Y eso que sí coinciden en muchos aspectos, como el fuerte enfoque en el gaming, o el contar —en ambos casos— con ediciones de escritorio y específicas para dispositivos de mano o, más en concreto, la Steam Deck, entre otras. Sin embargo, mientras que CachyOS se distingue por priorizar las optimizaciones en favor del rendimiento, la principal característica de Bazzite es ofrecer una experiencia más accesible. De la idiosincrasia de Bazzite, o de cómo se crea esta distribución, nos explayamos recientemente con el artículo que le dedicamos a Universal Blue: otra forma de entender Linux que cada día va ganando más adeptos y que va más allá de Bazzite, aunque por el momento este sea su mayor exponente. Hablamos de una distro para jugar, con el aliciente de estar basada en Fedora Atomic Desktops y de aplicar un modelo inmutable, así como un ciclo de lanzamientos convencional. https://www.muylinux.com/wp-content/uploads/2026/04/Bazzite.jpg En cuanto a Bazzite 44, se basa en Fedora 44, lanzada esta misma semana, e incluye entre sus novedades más destacadas las mismas que su distro madre, léase Linux 6.19, systemd 259 y Mesa 26.0.5, junto con la renovación de los entornos de escritorio con GNOME 50 y KDE Plasma 6.6, que marcan el salto generacional en la experiencia de usuario y el conjunto del sistema. A esto se suma que Bazzite emplea el kernel OGC 6.19.x, con la previsión de dar el salto a Linux 7.0 en breve, incluyendo el parche de VRAM de Valve. Otras novedades exclusivas de Bazzite 44 son la reorganización de sus imágenes, que se reducen en tamaño al externalizar componentes como QEMU y ROCm hacia Bazzite-DX; la eliminación de Ptyxis en favor de Konsole con soporte para contenedores en las ediciones con KDE; la introducción de un nuevo instalador para Sunshine mediante ujust, dejando de venir preinstalado; así como la incorporación de mejoras en la cadena de seguridad, con SBOMs, build attestation, escaneo con OpenSSF e imágenes firmadas. A ello se suman detalles más específicos, como el soporte integrado para capturadoras Elgato 4K o el acceso a los últimos parches de ASUS Linux para su uso con ASUSCtl (una herramienta para gestionar funciones específicas de portátiles ASUS en Linux, como perfiles de energía, ventiladores o iluminación). En lo que respecta a los usuarios de Bazzite 43, la actualización a la nueva versión será progresiva, debido a la magnitud de los cambios introducidos, especialmente en dispositivos como Steam Deck, cuyas compilaciones entrarán primero en fase de pruebas para asegurar que la transición se realiza sin sobresaltos. Más datos en el anuncio oficial de Bazzite 44 y la descarga, en el sitio oficial. La entrada Bazzite 44: el nuevo referente del gaming en Linux sigue evolucionando es original de MuyLinux

photo content

as), 3): Genera series de números de tres en tres. Esto es porque se almacenan 3 parámetros por cada instancia del objeto sistemas operativos. Supongamos que tenemos 3 sistemas (9 parámetros) range(0, 9, 3) → 0, 3, 6 i=0 → líneas 0, 1, 2 → primer sistema i=3 → líneas 3, 4, 5 → segundo sistema i=6 → líneas 6, 7, 8 → tercer sistema if i + 2 < len(lineas): Esto es por seguridad. Se verifica que un grupo tenga 3 parámetros antes de hacer la lectura. Si no hay un grupo de 3 no hace la lectura. https://ubunlog.com/wp-content/uploads/2026/04/archivos.png Python dispone varias opciones para leer y escribir archivos. Crea el objeto Sistemas sistema = Sistemas() Incorpora los datos de las líneas que corresponde lineas[i], lineas[i + 1], lineas[i + 2] Por ejemplo i=0: lineas[0] → «Ubuntu» → nombre lineas[1] → «26.04» → version lineas[2] → «Debian» → derivada i=3: lineas[3] → «Manjaro» → nombre lineas[4] → «44» → version lineas[5] → «Arch Linux»→ derivada i=6: lineas[6] → «Linux Mint» → nombre lineas[7] → «22» → version lineas[8] → «Ubuntu»→ derivada sistemas.append(sistema) Agrega el objeto recién creado a la lista Sistemas. El bucle finaliza cuando se incorporen todos los objetos reconstruidos del archivo. for s in sistemas: Recorre el archivo recién creado. s.mostrar_info() Llama al método para mostrar los parámetros de cada objeto. Hasta ahora estuvimos tocando de oído usando instrucciones cuyo uso no tenemos del todo claro. Llegó el momento  de ocuparnos de ellos. Operaciones matemáticas básicas con Python En los programas creados en Python pueden usarse las siguientes operaciones matemáticas * Suma: a = 5 + 3 Asigna a la variable el valor 8 * Resta: b = 10 – 2 Asigna a la variable el valor 8 * Multiplicación: c = 4 * 2 ¿A que no adivinas el valor de la variable? * Division:  d = 5 /  3 Asigna a la variable el valor 1,6666… * División sin decimales: e = 21 // 7 Da como resultado 3. * Cálculo del resto de la división: f  =  5 % 3 Asigna a la variable el valor 2. * Potencia: g  =  2 ** 4 Le asigna a la variable el valor 16. Es posible hacer operaciones más complejas pero será necesario introducir el concepto de módulo del que hablaremos más adelante. Variables Tanto en los programas que usamos como ejemplo como en la lista que dimos recién de operaciones matemáticas, usamos variables. Las variables son contenedores en el que se almacenan datos que pueden ser introducidos por el código o en forma externa, modificarse y mostrarse cuando se necesite.  A diferencia de otros lenguajes de programación, en Python no es necesario declarar previamente a que tipo pertenece cada variable antes de usarlas. Una variable se declara así Nombre = "Diego" Donde nombre es el nombre de la variable y el texto entre comillas a la derecha del igual le asigna el valor Diego. Es posible asignar el valor a distintas variables  en una sola línea de código nombre, apellido, edad  = «Diego», «González», 55 Reglas para el nombre de las variables * Caracteres permitidos: SI bien se pueden usar letras, signos de puntuación y guiones bajos, el nombre debe empezar siempre con una letra o un guión bajo. No importan si las letras son mayúsculas o minúsculas. * Sensibilidad a mayúsculas y minúsculas: El sistema diferencia palabras escritas con mayúsculas o minúsculas por lo que deben escribirse exactamente igual a como fueron declaradas. * Palabras reservadas: Existen una serie de palabras que no pueden usarse porque se las reserva el intérprete Las palabra reservadas son: False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield match case En el próximo artículo continuaremos con los componentes del lenguaje de programación Python