Lorsque ma boîte de bureau Debian Jessie se réveille du sommeil (via le nouveau système brillant), les paramètres de ma souris reviennent à leurs valeurs par défaut, après avoir réinitialisé ma personnalisation
xinput set-prop 12 'Device Accel Constant Deceleration' 2.5
qui s'exécute lorsque je me connecte.
comment exécuter un script utilisateur arbitraire au réveil? (supposez que l'utilisateur est le propriétaire de la session X)
Pour autant que je me souvienne, ce qui suit est la seule personnalisation que j'ai faite de la systemd
configuration (oui, je sais que c'est complètement faux car cela ne fonctionne pas pour les utilisateurs arbitraires, mais je n'ai pas encore trouvé comment le faire ... c'est quelque peu lié)
en outre, comment puis-je exécuter un script utilisateur arbitraire avant le réveil, en tant qu'utilisateur qui utilise actuellement l'écran 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
Réponses:
Cette réponse est basée sur askubuntu.com/a/661747/394818 (comme également mentionné dans le commentaire de @ sun-bear), askubuntu.com/q/616272/394818 et superuser.com/a/1269158/585953 .
Utilisation d'un service système:
Créez le fichier
/etc/systemd/system/my_user_script.service
:Supprimez la suspension / l'hibernation / l'hybride au cas où le service ne devrait être exécuté qu'après s'être réveillé d'un type spécifique de sommeil. Dans le cas où le service doit être exécuté par un utilisateur spécifique, retirez les commentaires
User=
et lesEnvironment=
lignes et remplacer le nom d'utilisateur concerné.Installez le fichier de service avec:
L'utilisation d'un service utilisateur ne fonctionnera pas:
Afin d'éviter de définir un nom d'utilisateur codé en dur avec
User=
, on pourrait créer exactement le même fichier de service sur.local/share/systemd/user/my_user_script.service
et activer avecCependant, cela ne fonctionnera pas. @grawity explique plus en détail sur unix.stackexchange.com/a/174837/163108 pourquoi:
la source
J'ai créé un fichier dans / lib / systemd / system-sleep .
Le message est appelé au réveil.
ÉDITER:
https://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html
la source
Ouvrez ce fichier:
Contenu:
Votre commande s'exécutera avec les privilèges d'administrateur .
la source