Запустите скрипт конфигурации в X резюме сессии

На Ubuntu 13.04 я должен вручную настроить сенсорную панель, так как ошибка предотвращает меня использующий стандартный инструмент конфигурирования (изменения не сохраняют). Однако я создал сценарий, который настраивает скорость, ускорение и прокрутку, настроил его для выполнения в sartup, и это работает. Проблема повышается, когда я возобновляюсь после приостановки: особенно настройки прокрутки (самое легкое для проверки) исчезают. После других вопросов и ответов я записал этот сценарий (который содержит те же команды, которые я использовал в сверхупомянутом), расположенный в /etc/pm/sleep.d/ZZtouchpad:

#!/bin/sh 
case "$1" in
    resume|thaw)
        xinput  --set-prop "CyPS/2 Cypress Trackpad" "Device Accel Constant Deceleration" 2
        xinput  --set-prop "CyPS/2 Cypress Trackpad" "Device Accel Velocity Scaling" 35
        xinput  --set-prop "CyPS/2 Cypress Trackpad" "Synaptics Scrolling Distance" -20, -20
esac

Но это не работает вообще.

Thnks для справки!

Править

Я узнал, что сценарий работает при приостановке с pm-suspend или pm-suspend-hybrid, но при приостановке из системного меню или закрытии крышки ноутбука это не делает. Кажется, что ошибка 'не может соединиться с X-сервером'.

Так, вопрос лучше быть перефразированным: куда я должен поместить те команды для них, чтобы быть выполненным, когда X сессий возобновляются? Я попробовал ~/.xinitrc, файл под ~/.xinitrc.d и ~/.xsessionrc. Какие-либо предложения?

3
задан 25 December 2014 в 16:15

1 ответ

У меня была похожая проблема. Проблема заключается в подключении к X-серверу. Я решил это путем кражи из /etc/acpi/sleep.sh. Поместите следующее в /etc/pm/sleep.d/99_setup_touchpad.

#! /bin/sh

. /usr/share/acpi-support/power-funcs

case "$1" in
    resume|thaw)
        if pidof xscreensaver > /dev/null; then
            for x in /tmp/.X11-unix/*; do
                displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
                getXuser;
                if [ x"$XAUTHORITY" != x"" ]; then
                    export DISPLAY=":$displaynum"
                    su $user -c "xinput set-prop 'CyPS/2 Cypress Trackpad' 'Device Accel Constant Deceleration' 2"
                    su $user -c "xinput set-prop 'CyPS/2 Cypress Trackpad' 'Device Accel Velocity Scaling' 35"
                    su $user -c "xinput set-prop 'CyPS/2 Cypress Trackpad' 'Synaptics Scrolling Distance' -20, -20"
                fi
            done
        fi
        ;;    
    *)
        # Nothing.
        ;;
esac

Наконец, сделайте файл исполняемым: chmod 755 /etc/pm/sleep.d/99_setup_touchpad.

Примечание: Я, как правило, единственный, кто вошел в систему через X на моем ноутбуке. Таким образом, цикл - это всего лишь одна итерация. Я не знаю, что произойдет, если одновременно будет жить более одной сессии. Вышесказанное достаточно хорошо для меня.

0
ответ дан 25 December 2014 в 16:15

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

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