Я использую 11.04 на Asus UL30. Я пытаюсь запустить скрипт, чтобы исправить мои настройки синхронизатора (которые теряются при возобновлении работы). Я написал следующий скрипт в /etc/pm/sleep.d/10_touchpad:
#!/bin/sh
#change synclient settings on resume
case "$1" in
resume|thaw)
sleep 15 && synclient TapButton2=2 TapButton3=3 ;;
esac
/ var / log / pm-suspend и показывает следующее:
/ etc /pm/sleep.d/10_grub-common suspend suspend: success. Запуск хука /etc/pm/sleep.d/10_touchpad suspend suspend: /etc/pm/sleep.d/10_unattended-upgrades-hibernate возобновить suspend: успешно. Запуск ловушки /etc/pm/sleep.d/10_touchpad возобновить приостановку: не удалось подключиться к X-серверу.
/etc/pm/sleep.d/10_touchpad возобновить приостановить: успех. Запуск хука /etc/pm/sleep.d/10_grub-common
blockquote>Не совсем уверен, почему изменения сценария не изменяются этим сценарием при возобновлении. Был бы признателен за любую проницательность ....
Чтобы достичь своей цели (запустить зависимый от X-сеанса сценарий пространства пользователя при возобновлении работы компьютера), вы должны:
Я бы переместил строку sleep 15 && synclient TapButton2=2 TapButton3=3
в отдельный файл скажем /usr/local/sbin/setupTouchpad.sh
и заменил строку на:
export DISPLAY=:0
su -c - <yourusername> /usr/local/sbin/setupTouchpad.sh
Где следует заменить <yourusername>
. Обратите внимание, что все еще неплохо бы иметь некоторое время сна, чтобы убедиться, что система активна перед запуском кода. Кроме того, обязательно chmod +x
, что setupTouchpad.sh
сценарий.
Проблема с вышесказанным заключается в том, что вам приходится жестко кодировать свое имя пользователя (или использовать какой-нибудь хакерский способ, чтобы узнать, какой пользователь вошел в систему и имеет активный сеанс X) , Лучше установить общесистемные настройки сенсорной панели для X.
Эти параметры могут быть установлены в /usr/share/X11/xorg.conf.d/
Для меня правильный файл для редактирования - 50-synaptics.conf
здесь я установил параметры, вот часть этого файла:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton2" "2"
Option "TapButton3" "3"
# Etc...
EndSection
Как вы, возможно, уже знаете, чтобы увидеть действительные опции, просто запустите synclient
.
Примечание необходимо перезагрузить X, чтобы эти изменения вступили в силу. Например, для этого в Ubuntu вы можете запустить sudo /etc/init.d/lightdm restart
. Для предварительного просмотра изменений вы можете попробовать запустить следующую строку (или какой-либо вариант). Снимите | bash
с конца, чтобы увидеть команды, которые он выдает.
cat /usr/share/X11/xorg.conf.d/50-synaptics.conf | grep Option | grep -v "^\#" | awk '{print "synclient " $2 "=" $3}' | sed 's/\"//g' | bash
Если вы поищите в Google touchpad settings synaptics xorg.conf.d
, вы также найдете несколько хороших обзоров вариантов.
Ссылки