Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Событие входа в систему

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Ubuntu
 
Автор Сообщение
mekkanizer

Участник тусовки


Зарегистрирован: 04.09.2008
Сообщения: 230

СообщениеДобавлено: Пн Мар 24, 2014 11:16 am    Заголовок сообщения: Событие входа в систему
Ответить с цитатой

Доброго времени суток.
ОС - Lubuntu 13.10.
Есть скрипт на баше, который надо запускать при входе в систему.
Хочу подчеркнуть, что добавиь его в автозагрузку недостаточно. Мне важно, чтобы он запускался каждый раз при вводе пароля (не с xscreensaver а именно с экрана входа в систему).
Сейчас я немного поясню проблему.
Нужно отключать тачпад, когда подключена USB мышь. Мною были написаны соответствующие скрипты и правила для udev, чтобы это работало. Проблема в том, что udev реагирует на события подключения/отключения, а при входе в систему подключенность мыши не перепроверяет. Таким образом, если я воткну мышь, усыплю ноут, выткну и разбужу ноут, тачпад работать не будет, и мне придется подключать-отключать мышь, чтобы он заработал.
Добавление чего угодно в скрипты, связанные с пробуждением ноута, хранящиеся в
Код:
/etc/pm/sleep.d
и
Код:
/usr/lib/pm-utils/sleep.d
не помогает.
Вопрос: Как отловить событие логина и среагировать на него запуском определенного скрипта?
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
chip

Тысячник


Зарегистрирован: 22.04.2010
Сообщения: 2479
Откуда: Zhytomyr st., Baranivka, 12702

СообщениеДобавлено: Пн Мар 24, 2014 2:52 pm    Заголовок сообщения:
Ответить с цитатой

mekkanizer, то есть после авторизации пользователя или до? Если после авторизации то можете указать путь к скрипту в ~/.bashrc
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mekkanizer

Участник тусовки


Зарегистрирован: 04.09.2008
Сообщения: 230

СообщениеДобавлено: Вт Мар 25, 2014 7:42 am    Заголовок сообщения:
Ответить с цитатой

chip, после авторизации, однако у меня нет ~/.bashrc
В общем, суть немного изменилась. Я таки прочитал, что это самое после авторизации это начало сессии lightdm и добавил в его конфиг строчку
Код:
session-setup-script=/home/n76/tptoggle.sh

Теперь я не могу понять, почему именно это не работает:
1. Я все таки чтото перепутал и после логина это не session setup (хотя похоже на то)
2. LightDM действует на другом уровне доступа к Х серверу, чем udev, и чтобы действия, выполняемые LightDM, идущие наперекор действям udev, работали, необходимо дать LightDM соответствующие привилегии (мне совершенно не понятно как Sad ) То ли где-то прописать .Xauthority из моей домашней папки, как с udev, то ли еще чего.
Проясните, пожалуйста
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Konstantin

Завсегдатай


Зарегистрирован: 01.05.2006
Сообщения: 615

СообщениеДобавлено: Вт Мар 25, 2014 8:56 am    Заголовок сообщения:
Ответить с цитатой

Любой самописный скрипт имеет право забыться в мозге через некоторое время.
Лучше через рутовый crontab прописать делать каждую минуту
* * * * * /sbin/udevadm control --reload-rules >> /dev/null 2>&1

дешево и сердито
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
chip

Тысячник


Зарегистрирован: 22.04.2010
Сообщения: 2479
Откуда: Zhytomyr st., Baranivka, 12702

СообщениеДобавлено: Вт Мар 25, 2014 9:29 am    Заголовок сообщения:
Ответить с цитатой

так всегда можно создать, touch ~/.bashrc
я никогда не пользовался LightDM а вот строчкой выше всегда, в методе выше нет зависимости от ДМ, оно будет работать даже при входе по ssh
теперь о скрипте он должен быть:
1) исполняемым (chmod a+x ./shript.sh)
2) Пользователь запустивший скрипт должен иметь как минимум права на чтение данного скрипта
3) В первой строке должен быть указан путь к интерпритатору (#!/bin/bash например)

если с правами туго то советую обратить внимание на метод от Konstantin, или сделать цыкл в котором будут выполнятся необходимые действия, спим некоторое время, а потом опять выполняем. В общем вариантов много, выбирайте.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mekkanizer

Участник тусовки


Зарегистрирован: 04.09.2008
Сообщения: 230

СообщениеДобавлено: Ср Мар 26, 2014 4:50 pm    Заголовок сообщения:
Ответить с цитатой

Konstantin, спасибо за метод, но дешево и сердито я могу и цикл написать, и прибегну к сердитым решениям только если ничего больше не останется.
chip, я сколько ни читал содержимое этого файла, так и не понял, в каком месте указывать путь к скрипту. Или надо именно содержимое скрипта в каком-то месте вставить?
Вот сам скрипт
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
chip

Тысячник


Зарегистрирован: 22.04.2010
Сообщения: 2479
Откуда: Zhytomyr st., Baranivka, 12702

СообщениеДобавлено: Ср Мар 26, 2014 5:00 pm    Заголовок сообщения:
Ответить с цитатой

mekkanizer, делаем скрипт исполняемым и указываем путь к нему, или /bin/bash /usr/skript.sh, вобще без разницы, так и так отработает. Данный файлик отрабатывается сразу после логина.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Ubuntu Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис