Доброго времени суток.
ОС - Lubuntu 13.10.
Есть скрипт на баше, который надо запускать при входе в систему.
Хочу подчеркнуть, что добавиь его в автозагрузку недостаточно. Мне важно, чтобы он запускался каждый раз при вводе пароля (не с xscreensaver а именно с экрана входа в систему).
Сейчас я немного поясню проблему.
Нужно отключать тачпад, когда подключена USB мышь. Мною были написаны соответствующие скрипты и правила для udev, чтобы это работало. Проблема в том, что udev реагирует на события подключения/отключения, а при входе в систему подключенность мыши не перепроверяет. Таким образом, если я воткну мышь, усыплю ноут, выткну и разбужу ноут, тачпад работать не будет, и мне придется подключать-отключать мышь, чтобы он заработал.
Добавление чего угодно в скрипты, связанные с пробуждением ноута, хранящиеся в
Код:
/etc/pm/sleep.d
и
Код:
/usr/lib/pm-utils/sleep.d
не помогает.
Вопрос: Как отловить событие логина и среагировать на него запуском определенного скрипта? _________________
chip, после авторизации, однако у меня нет ~/.bashrc
В общем, суть немного изменилась. Я таки прочитал, что это самое после авторизации это начало сессии lightdm и добавил в его конфиг строчку
Код:
session-setup-script=/home/n76/tptoggle.sh
Теперь я не могу понять, почему именно это не работает:
1. Я все таки чтото перепутал и после логина это не session setup (хотя похоже на то)
2. LightDM действует на другом уровне доступа к Х серверу, чем udev, и чтобы действия, выполняемые LightDM, идущие наперекор действям udev, работали, необходимо дать LightDM соответствующие привилегии (мне совершенно не понятно как ) То ли где-то прописать .Xauthority из моей домашней папки, как с udev, то ли еще чего.
Проясните, пожалуйста _________________
Любой самописный скрипт имеет право забыться в мозге через некоторое время.
Лучше через рутовый crontab прописать делать каждую минуту
* * * * * /sbin/udevadm control --reload-rules >> /dev/null 2>&1
так всегда можно создать, touch ~/.bashrc
я никогда не пользовался LightDM а вот строчкой выше всегда, в методе выше нет зависимости от ДМ, оно будет работать даже при входе по ssh
теперь о скрипте он должен быть:
1) исполняемым (chmod a+x ./shript.sh)
2) Пользователь запустивший скрипт должен иметь как минимум права на чтение данного скрипта
3) В первой строке должен быть указан путь к интерпритатору (#!/bin/bash например)
если с правами туго то советую обратить внимание на метод от Konstantin, или сделать цыкл в котором будут выполнятся необходимые действия, спим некоторое время, а потом опять выполняем. В общем вариантов много, выбирайте.
Konstantin, спасибо за метод, но дешево и сердито я могу и цикл написать, и прибегну к сердитым решениям только если ничего больше не останется.
chip, я сколько ни читал содержимое этого файла, так и не понял, в каком месте указывать путь к скрипту. Или надо именно содержимое скрипта в каком-то месте вставить?
Вот сам скрипт _________________
mekkanizer, делаем скрипт исполняемым и указываем путь к нему, или /bin/bash /usr/skript.sh, вобще без разницы, так и так отработает. Данный файлик отрабатывается сразу после логина.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах