Automontaje de USB, suspender con batería agotada, bloqueo por inactividad y TLP
- automontaje (servicio de runit, root): monta memorias USB y tarjetas SD en /mnt/ETIQUETA o /mnt/sdXY y las desmonta al sacarlas, con notificación. FAT/exFAT/NTFS (ntfs3 del kernel) a nombre del usuario; los discos internos (ID_BUS distinto de usb) no se tocan. - bateria: al 3 % sin cargador avisa y, si en 10 s sigue descargando, suspende con sudo -n zzz (sudoers.d/zzz: solo zzz sin argumentos, sin contraseña, para wheel). - .xinitrc: xss-lock bloquea con slock tras 30 min de inactividad y la pantalla se apaga un minuto después. - install.sh: xss-lock, tlp y tlp-rdw; servicios tlp y automontaje; los sudoers se validan con visudo y se instalan con modo 440. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
This commit is contained in:
parent
2c2adaaa79
commit
2850a4fc73
7 changed files with 148 additions and 10 deletions
|
|
@ -1,10 +1,13 @@
|
|||
#!/bin/sh
|
||||
# Avisa con una notificación cuando la batería baja del 15 % y del 5 %
|
||||
# mientras se descarga (una vez por umbral; al enchufar el cargador se
|
||||
# reinicia). Se lanza desde .xinitrc y se queda comprobando cada minuto.
|
||||
# mientras se descarga, y al 3 % suspende (con slock, como al cerrar la
|
||||
# tapa) en vez de dejar que se apague de golpe. Cada umbral actúa una vez;
|
||||
# al enchufar el cargador se reinicia. Se lanza desde .xinitrc y comprueba
|
||||
# cada minuto. Suspender usa "sudo -n zzz" (regla en sistema/etc/sudoers.d).
|
||||
|
||||
BAJA=15
|
||||
CRITICA=5
|
||||
SUSPENDER=3
|
||||
|
||||
bat=
|
||||
for b in /sys/class/power_supply/BAT*; do
|
||||
|
|
@ -18,6 +21,12 @@ while :; do
|
|||
estado=$(cat "$bat/status")
|
||||
if [ "$estado" != Discharging ]; then
|
||||
avisado=100
|
||||
elif [ "$nivel" -le "$SUSPENDER" ] && [ "$avisado" -gt "$SUSPENDER" ]; then
|
||||
notify-send -u critical -h string:x-dunst-stack-tag:bateria \
|
||||
-i battery-empty "Batería agotada" "Queda un $nivel %: suspendiendo en 10 s"
|
||||
avisado=$SUSPENDER
|
||||
sleep 10
|
||||
[ "$(cat "$bat/status")" = Discharging ] && sudo -n zzz
|
||||
elif [ "$nivel" -le "$CRITICA" ] && [ "$avisado" -gt "$CRITICA" ]; then
|
||||
notify-send -u critical -h string:x-dunst-stack-tag:bateria \
|
||||
-i battery-empty "Batería crítica" "Queda un $nivel %: enchufa el cargador ya"
|
||||
|
|
|
|||
|
|
@ -34,4 +34,10 @@ clipmenud &
|
|||
gammastep &
|
||||
bateria &
|
||||
|
||||
# Bloquear con slock tras 30 minutos sin tocar nada, y apagar la pantalla un
|
||||
# minuto después. Al suspender ya bloquea el hook de zzz (--ignore-sleep).
|
||||
xset s 1800 1800
|
||||
xset dpms 0 0 1860
|
||||
xss-lock --ignore-sleep -- slock &
|
||||
|
||||
exec dwm
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue