Método 1 - usando um script dentro do diretório /lib/systemd/system-sleep
Crie um script em /lib/systemd/system-sleep
com esta aparência:
#!/bin/sh
case / in
pre/*)
echo "Going to ..."
killall libinput-debug-events
;;
post/*)
echo "Waking up from ..."
# Place your post suspend (resume) commands here, or 'exit 0' if no post suspend action required
sleep 2
libinput-gestures-setup start
;;
esac
Para garantir que o script seja criado com as permissões corretas, copie e exista um script existente e edite-o:
cd /lib/systemd/system-sleep
sudo cp wpasupplicant tv_refresh
gksu gedit tv_refresh
A pausa sleep 2
pode ser desnecessária, mas para minha configuração foi necessário restaurar o som do laptop de volta para a TV HDMI.
As linhas echo
são opcionais, mas são úteis porque aparecem em /var/log/syslog
.
Método 2 - usando systemd
services para root
ou user
De: ( archlinux - Gerenciamento de energia ), obtemos instruções detalhadas para suspender e retomar o root
poderes ou user
de poderes.
Suspender / retomar arquivos de serviço
Arquivos de serviço podem ser ligados a suspend.target, hibernate.target e sleep.target para executar ações antes ou depois de suspender / hibernar. Arquivos separados devem ser criados para ações do usuário e ações raiz / sistema. Ative o suspend @ user e retome o @ user services para que eles sejam iniciados na inicialização. Exemplos:
Suspender
/etc/systemd/system/[email protected]
[Unit]
Description=User suspend actions
Before=sleep.target
[Service]
User=%I
Type=simple
Environment=DISPLAY=:0
ExecStartPre= -/usr/bin/pkill -u %u unison ; /usr/local/bin/music.sh stop ; /usr/bin/mysql -e 'slave stop'
ExecStart=/usr/bin/sflock
ExecStartPost=/usr/bin/sleep 1
[Install]
WantedBy=sleep.target
Retomar
/etc/systemd/system/[email protected]
[Unit]
Description=User resume actions
After=suspend.target
[Service]
User=%I
Type=simple
ExecStartPre=/usr/local/bin/ssh-connect.sh
ExecStart=/usr/bin/mysql -e 'slave start'
[Install]
WantedBy=suspend.target