Quando minha caixa de área de trabalho debian jessie acorda do modo de suspensão (por meio do novo sistema brilhante) minhas configurações de mouse são retornadas aos seus padrões, tendo redefinido minha personalização
xinput set-prop 12 'Device Accel Constant Deceleration' 2.5
que é executado quando eu entro.
como posso executar um script de usuário arbitrário ao ativar? (suponha que o usuário seja o proprietário da sessão X)
Tanto quanto me lembro, o seguinte é a única personalização que fiz da systemd
instalação (sim, eu sei que é completamente errado, porque não funciona para usuários arbitrários, mas ainda não descobri como fazer isso. ... isso está um pouco relacionado)
Além disso, como posso executar um script de usuário arbitrário antes da ativação, como o usuário que está atualmente usando a tela 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
Respostas:
Esta resposta é baseada em askubuntu.com/a/661747/394818 (como também referido no comentário por @ sun-bear), askubuntu.com/q/616272/394818 e superuser.com/a/1269158/585953 .
Usando um serviço do sistema:
Crie o arquivo
/etc/systemd/system/my_user_script.service
:Remova suspender / hibernar / híbrido, caso o serviço só deva ser executado depois de acordar de um tipo específico de suspensão. No caso do serviço precisa ser executado por um usuário específico, descomente a
User=
eEnvironment=
linhas e substituir o nome de usuário relevante.Instale o arquivo de serviço com:
O uso de um serviço de usuário não funcionará:
Para evitar definir um nome de usuário codificado com
User=
, pode-se criar exatamente o mesmo arquivo de serviço.local/share/systemd/user/my_user_script.service
e ativar comNo entanto, isso não vai funcionar. O @grawity explica com mais detalhes em unix.stackexchange.com/a/174837/163108 por que isso é:
fonte
Criei um arquivo em / lib / systemd / system-sleep .
A postagem é chamada na ativação.
EDITAR:
https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html
fonte
Abra este arquivo:
Conteúdo:
Seu comando será executado com privilégios de administrador .
fonte