LINUX.ORG.RU

Запуск скрипта при смене виртуальной консоли/x-сервера

 , ,


0

1

Система Arch-3.5.3 + xfce4.10 + slim.
Ноут thinkpad, тачпад нафиг не нужен - юзаю трекпоинт, очень доволен =).

Столкнулся с такой проблеммой:
На ноуте нет отдельной кнопки отключения тачпада, в биосе тоже никакого упоминания. Touchpad Indicator не катит.
Немного погуглил и нашел решение в виде скрипта.

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`

xinput set-prop $ID "Device Enabled" 0


Положил в хом директорию, сделал симлинк /etc/rc.d/disable-touch.
Вдобавок создал в /etc/pm/sleep.d/ файл «91touch» следующего содержания:

#!/bin/sh
#
# 91touch: disable touchpad on wakeup

case "$1" in
thaw|resume)
export DISPLAY=:0
su -c - nblxtap /home/nblxtap/Autorun/disable_touchpad.sh
;;
*) exit $NA
;;
esac


Это нужно чтобы тачпад отключался по пробуждении.

Поставил vbox и теперь приходится переключаться между седьмой и восьмой консолью(на седьмой арч на восьмой семерка). Но после переключения обратно в седьмую консоль тоесть на «первый» x-сервер тачпад снова благополучно работает.

Как можно отловить это событие переключения Х сервера и назначить выполнение скрипта?

Конкретно на вопрос ответа не знаю, но самому стало интересно:
Неужели так часто нужно свичать системы, что необходима автоматизация?
Повесить скрипт на хоткей или софтовую кнопку да и делов то.

Spirit_of_Stallman ★★★ ()

в биосе тачпад отключается, ищи лучше.

greyl ()
Ответ на: комментарий от nblxtap

Наверняка можно проще, но если у тебя ConsoleKit работает, то при каждом переключении он меняет /var/run/ConsoleKit/database, который легко разбирается.

ABW ★★★★★ ()

Это какой у тебя финкпад, что нету кнопки выключения тачпада? У меня на x220 она висит на Fn-F8.

unanimous ★★★★★ ()

2 fargred:
на счет удаления драйверов если можно поподробней

2 unanimous:
thinkpad e520 edge. даже индикатора капслока нет

2ABW:
то что consolekit меняет database конечно хорошо, но как мне словить его когда он будет переключать сессию?

nblxtap ()
Ответ на: комментарий от nblxtap

См., например, inotifywait из inotify-tools или dnotify.

ABW ★★★★★ ()

Интересное дело, вроде в настройках ничего больше не менял, но после очередной перезагрузки проблема исчезла :P

nblxtap ()
Ответ на: комментарий от Deleted

Хм, у меня в системе это /dev/input/mice. Значит действительно можно попробовать выпилить psaux

Deleted ()

и чем же вышеописанный костыль лучше synclient TouchpadOff=1 ?

dhampire ★★★ ()

все четко работает =) даже удалил симлинк из /etc/rc.d/
незнаю зачем его туда вообще ложил. оставил только запись в /etc/pm/sleep.d/. всем спасибо!

nblxtap ()

заблокируй модуль тачпада, снеси иксовый драйвер, поиграйся с evdev, udev, xorg.conf.d

ubuntuawp ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.