Sistema
- Actualizar wireguard-tools desde el repositorio oficial
- Cambiar el plan de CPU según enchufe o batería
- Cambiar el plan de CPU según enchufe o batería (v2)
Actualizar wireguard-tools desde el repositorio oficial
Las versiones de wireguard-tools incluidas en Ubuntu permanecen sin actualizar desde hace años (v1.0.20210914 a fecha de esta nota). Este script permite actualizar directamente las utilidades de espacio de usuario desde el repositorio oficial de Jason Donenfeld (git.zx2c4.com), compilando los binarios desde la fuente y reemplazando los del sistema.
Por qué usar una versión actualizada
Las versiones distribuidas por Ubuntu se detuvieron en v1.0.20210914, mientras que la versión oficial más reciente (v1.0.20250521) incluye numerosas mejoras:
- Correcciones en la gestión de
resolvconfy DNS. - Ajustes de MTU automático más precisos.
- Compatibilidad ampliada con FreeBSD, Android y Windows.
- Eliminación de fugas momentáneas de tráfico al levantar el túnel.
- Limpieza y refactorización del código (
setconf→addconf, mejor manejo de memoria, etc.).
En resumen: mantener wireguard-tools actualizado mejora la compatibilidad, estabilidad y seguridad del sistema.
Los cambios completos pueden consultarse aquí: Registro oficial de cambios
Script utilizado
Repositorio en Gitea:
UpdateWireguard.sh
El script:
- Comprueba si existen las herramientas y dependencias necesarias (
git,make,gcc, etc.). - Instala los paquetes faltantes mediante
apt. - Clona el repositorio oficial de
wireguard-tools. - Compila e instala los binarios (
wg,wg-quick, etc.) sobre el sistema. - Muestra la versión instalada al finalizar.
Ejemplo de uso
Instalar primero wireguard desde los repositorios del sistema para disponer de la base necesaria:
sudo apt install wireguard -y
Luego ejecutar el script para actualizar las herramientas:
chmod +x UpdateWireguard.sh
sudo ./UpdateWireguard.sh
Salida esperada:
Installing missing build dependencies: ...
Cloning into 'wireguard-tools'...
Installed version:
wireguard-tools v1.0.2025xxxx - https://git.zx2c4.com/wireguard-tools
Detalles técnicos
Este script solo afecta a las utilidades de espacio de usuario (wg, wg-quick, etc.), no al módulo del kernel.
El kernel mantiene su versión estable; los binarios pueden actualizarse sin riesgo.
Referencias
Cambiar el plan de CPU según enchufe o batería
Introducción
Apunte para automatizar el cambio de plan de energía (governor) en un portátil según si está enchufado o funcionando con batería. La idea es olvidarse de cambiarlo manualmente y que se ajuste solo.
Características
- Detecta si el portátil está en corriente o en batería.
- Cambia el governor de CPU automáticamente.
- Funciona como servicio systemd para que siempre esté activo.
Requisitos previos
- Linux (probado en distros con
/sys/class/power_supply, funciona bien en Fedora 42). - Tener sudo configurado para poder escribir en
scaling_governorsin pedir contraseña (o configurarsudoers). - Acceso root para instalar y habilitar servicios.
Script principal
- Se revisa cada 3 minutos (
sleep 180). - Modificar los governors según preferencias.
Servicio systemd
Archivo en /etc/systemd/system/power_manager.service:
[Unit]
Description=Power Manager Script
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash -c "sudo /home/usuario/Documentos/Scripts/power_manager.sh"
Restart=always
User=usuario
Environment=DISPLAY=:0
Environment=HOME=/home/usuario
[Install]
WantedBy=multi-user.target
- Cambiar
usuariopor el nombre real si se copia literal. - Importante revisar permisos y rutas.
Configuración en sudoers
Añadir al archivo sudoers (con visudo) para permitir ejecutar el script sin contraseña:
# Custom
usuario ALL=(ALL) NOPASSWD: /home/usuario/Documentos/Scripts/power_manager.sh
Errores comunes o decisiones importantes
- Permisos sudo: hay que permitir
sudo teesin contraseña para que funcione sin bloqueo. - Ruta AC0: depende del hardware, a veces es
AC,ACAD, etc. Verificar en/sys/class/power_supply/. - Intervalo: se podría reducir el tiempo de espera (sleep), pero puede consumir más recursos.
Resumen breve
- Script en bash que revisa si está enchufado.
- Cambia automáticamente el governor de CPU.
- Servicio systemd para que se inicie solo.
- Configurar sudoers para no pedir contraseña.
- Revisar nombre del adaptador AC.
Notas personales
Quizá se podría mejorar para no usar un bucle infinito y en su lugar usar udev o eventos ACPI, pero el loop es más sencillo y robusto para no complicarse.
Cambiar el plan de CPU según enchufe o batería (v2)
Introducción
Sistema para aplicar perfiles de energía dinámicos en Linux según el estado de alimentación (AC o batería). La idea es automatizar el cambio de governor, EPP y boost de CPU sin depender de herramientas externas.
Requisitos previos
- Kernel con soporte para
cpufreqy governors (performance,schedutil,powersave, etc.). - Opcional: soporte
amd-pstate-epppara Energy Performance Preference. systemdyudevdisponibles (entornos modernos ya lo traen).- Script personalizado Change_Power_v2.sh.
Flujo general
- Regla udev detecta conexión/desconexión de corriente.
- udev dispara units systemd específicas para cada estado.
- systemd ejecuta script Bash, que aplica el perfil de energía correspondiente.
Configuración
1. Regla udev
Archivo /etc/udev/rules.d/99-power-profile.rules:
# Detectar cambio en el estado de AC
SUBSYSTEM=="power_supply", KERNEL=="AC0", ATTR{type}=="Mains", ACTION=="change", ATTR{online}=="1", TAG+="systemd", ENV{SYSTEMD_WANTS}+="power-profile-ac.service"
SUBSYSTEM=="power_supply", KERNEL=="AC0", ATTR{type}=="Mains", ACTION=="change", ATTR{online}=="0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="power-profile-bat.service"
Con esto, cualquier cambio de estado en el adaptador de corriente dispara la unit correspondiente.
2. Units systemd
AC → /etc/systemd/system/power-profile-ac.service
[Unit]
Description=Perfil de energía: AC (enchufado)
[Service]
Type=oneshot
ExecStart=/usr/local/bin/Change_Power_v2.sh ac
Batería → /etc/systemd/system/power-profile-bat.service
[Unit]
Description=Perfil de energía: Batería
[Service]
Type=oneshot
ExecStart=/usr/local/bin/Change_Power_v2.sh bat
3. Script Bash
El script principal se mantiene versionado en Gitea:
Testeado en un portátil con Fedora 41, donde funciona correctamente el cambio de perfiles al enchufar o desenchufar el cargador.
Errores comunes o decisiones importantes
- Script genérico: no contiene información personal ni rutas específicas. Solo depende del nombre del dispositivo de alimentación (
AC0por defecto), que puede variar según el hardware. - Detección de AC: en algunos equipos el dispositivo no se llama
AC0sinoAC,ACADo similar. Conviene verificar en/sys/class/power_supply/. - Permisos: escribir en
/sys/devices/system/cpu/*/cpufreq/*puede requerir root. Se ejecuta vía systemd, así que no suele ser problema. - Drivers: si
amd-pstate-eppno está disponible, las opciones EPP se ignoran de forma silenciosa.
Resumen breve
- udev escucha cambios en el estado de corriente.
- systemd ejecuta units
power-profile-acopower-profile-bat. - El script aplica governors, EPP y boost con fallbacks robustos.