выполнение xinput из сценария в sleep.d

Моя мышь была слишком быстра для моего вкуса, таким образом, я уменьшил его скорость с помощью команды xinput:

xinput set-prop $id "Device Accel Constant Deceleration" 2.5

Я вставил команду ~/.profile так, чтобы это выполнилось на запуске. При запуске это всегда работает.

Моя проблема состоит в том, что установка, кажется, сбрасывается когда мои компьютерные резюме после резервного устройства. Не всегда, возможно, половина времени.

Я пытался поместить команду в сценарий в /etc/pm/sleep.d/, и это выполнялось, но по некоторым причинам не работало.

Какие-либо идеи? Ответы на этот вопрос предлагают, чтобы команды xinput вошли в a .desktop файл: это изменило бы что-нибудь?

1
задан 13 April 2017 в 15:24

1 ответ

Наконец заставил это работать! Это кажется рабочим xinput от a sleep.d сценарий требует некоторых тонких настроек. Вот то, что я сделал. Надежда это будет несколько полезно кому-то.

Таким образом, мне назвали один сценарий 40mouse_slow Я вставил /etc/pm/sleep.d. 40 используется для упорядочивания. На резюме небольшие числа запускаются в последний раз. Пользовательские сценарии должны использовать 00 кому: 49. Удостоверьтесь, что сценарий имеет права выполнения. Вот сценарий:

#!/bin/sh
case "$1" in
    resume|thaw)
        /home/yannick/scripts/mouse_slow.sh &
    ;;
    *)
        # Nothing.
    ;;
esac

Это только говорит сценарий /home/yannick/scripts/mouse_slow.sh должен быть запущен в фоновом режиме, когда компьютер возобновляется. Я пытался запустить его не в фоне, но это повредило возобновление (сеть не работала, например).

Вот /home/yannick/scripts/mouse_slow.sh. Также удостоверьтесь, что это имеет права выполнения:

#!/bin/sh
export DISPLAY=:0.0
id=`su yannick -c "xinput" | grep 'PID:400a' | cut -c58-60`
su yannick -c "xinput set-prop $id 'Device Accel Constant Deceleration' 2.5"

Вторая строка должна только найти идентификатор моей мыши. Что касается двух других строк, они иллюстрируют эти две вещи, которые я нашел, должен был быть сделан для создания xinput работайте, когда это назовут из сценария в sleep.d :

  • DISPLAY должен быть установлен и экспортирован
  • пользователь, выполняющийся xinput должен быть пользователь, работающий X, не корень.
2
ответ дан 7 December 2019 в 13:52

Другие вопросы по тегам:

Похожие вопросы: