Cuando mi caja de escritorio Debian Jessica se despierta de la suspensión (a través del nuevo y brillante systemd), la configuración de mi mouse vuelve a sus valores predeterminados, después de restablecer mi personalización
xinput set-prop 12 'Device Accel Constant Deceleration' 2.5
que se ejecuta cuando inicio sesión.
¿Cómo puedo ejecutar un script de usuario arbitrario al despertar? (suponga que el usuario es el propietario de la sesión X)
Hasta donde puedo recordar, la siguiente es la única personalización que hice de la systemd
configuración (sí, sé que está completamente mal porque no funciona para usuarios arbitrarios, pero aún no he descubierto cómo hacerlo) ... esto está algo relacionado)
además, ¿cómo puedo ejecutar una secuencia de comandos de usuario arbitraria antes de despertar, como el usuario que actualmente usa la pantalla X?
cat /etc/systemd/system/i3lock.service
#systemctl enable i3lock.service
[Unit]
Description=i3lock
Before=sleep.target
[Service]
User=fommil
Type=forking
Environment=DISPLAY=:0
ExecStart=/usr/bin/i3lock -c 000000
[Install]
WantedBy=sleep.target
Respuestas:
Esta respuesta se basa en askubuntu.com/a/661747/394818 (como también se hace referencia en el comentario por @ sol-oso), askubuntu.com/q/616272/394818 y superuser.com/a/1269158/585953 .
Usando un servicio del sistema:
Crea el archivo
/etc/systemd/system/my_user_script.service
:Elimine suspender / hibernar / híbrido en caso de que el servicio solo se ejecute después de despertarse de un tipo específico de suspensión. En caso de que el servicio necesita ser ejecutado por un usuario específico, quite el comentario
User=
yEnvironment=
líneas y reemplazar el nombre de usuario correspondiente.Instale el archivo de servicio con:
Usar un servicio de usuario no funcionará:
Para evitar establecer un nombre de usuario codificado con
User=
, se podría crear exactamente el mismo archivo de servicio en.local/share/systemd/user/my_user_script.service
y activar conSin embargo, eso no funcionará. @grawity explica con más detalle en unix.stackexchange.com/a/174837/163108 por qué eso es:
fuente
Creé un archivo en / lib / systemd / system-sleep .
La publicación se llama al despertar.
EDITAR:
https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html
fuente
Abre este archivo:
Contenido:
Su comando se ejecutará con privilegios de administrador .
fuente