Dans mon ~/.zshrc
j'ai quelque chose comme ceci:Où est le bon emplacement pour le script, de sorte qu'il s'exécute une fois après la mise sous tension du système?
# map capslock to escape
ps cax | grep xcape > /dev/null
if [ $? -eq 0 ]; then
# do nothing
else
xmodmap ~/.xmodmap & xcape &
fi
Cela semble travailler sur la mise sous tension du système, mais après mon ordinateur se met en veille et se réveille, je perds que la liaison, donc mes CAPS LOCK
arrêts se comporter comme CTRL
ou . J'ai essayé de mettre ce script dans de nombreux endroits, y compris ~/.zprofile
et similaires en vain. Mon système est arch linux (Antergos distro), avec GNOME 3 comme environnement de bureau.
RÉVISÉE:
On dirait que la bonne façon de le faire dans Arch Linux, est en faisant un service qui fera la tâche lors de la reprise. Comme ce guide dit: https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks
Cependant, je ne suis pas sûr, comment pourrais-je commencer ce [email protected]
, car il n'a pas le nom habituel? systemctl start [email protected]
ne fonctionnera pas ici, j'ai peur. EDIT:
Nous venons de découvrir, que c'est ce qu'on appelle le fichier d'unité de modèle, donc je suppose que je dois juste passer le nom d'utilisateur comme argument, qui sera mis à la place de User=%I
ligne ...?
J'ai ajusté le script de cette page, à mes propres besoins et il ressemble à ci-dessous maintenant. Mais ça ne marche pas. Des pensées sur celui-ci?
/etc/systemd/system/[email protected]
[Unit]
Description=User resume actions
After=suspend.target
[Service]
User=%I
Type=oneshot
Environment=DISPLAY=:0
; ExecStartPre=
ExecStart=/usr/bin/sh -c "/usr/bin/xmodmap ~/.xmodmap & /usr/bin/xcape &"
[Install]
WantedBy=suspend.target
journalctl -xe
donne cela, donc je suppose que le service a commencé, mais pas d'effets de xmodmap
et xcape
sont vus.
Sep 10 19:23:44 antergos systemd[1]: Starting User resume actions...
-- Subject: Unit [email protected] has begun start-up
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit [email protected] has begun starting up.
Sep 10 19:23:44 antergos systemd[1]: Started User resume actions.
-- Subject: Unit [email protected] has finished start-up
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit [email protected] has finished starting up.