LINUX.ORG.RU

Выполнение скрипта после спящего\ждущего режимов.


1

1

Здравствуйте уважаемые форумчане. Помогите пожалуйста правильно закинуть скрипт, что бы он выполнялся через 10 секунд (запускается NetworkManager) после того, как система выходит из спящего и ждущего режима.

Сам скриптик такой

#!/bin/bash
ifconfig wlan0 down
ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
ifconfig wlan0 up
service dnsmasq restart
service hostapd restart
service bluetoothd restart
xmodmap -e 'keycode 133=F13'

P.S. После выхода из сна или ожидания отваливается точка доступа, блютуз и меню по вин клавише. Приходится в консоли от рута запускать скрипт, хотел бы автоматизировать процесс. P.P.S. Тапки не кидать, в Linux 6 месяцев :) Дистрибутив ALT Linux Kdesktop 6.0.2.

Спасибо.

man pm-hibernate:

       /etc/pm/sleep.d, /usr/lib/pm-utils/sleep.d
Programs in these directories (called hooks) are combined and executed in C sort order before suspend and hibernate with as argument 'suspend' or 'hibernate'.
Afterwards they are called in reverse order with argument 'resume' and 'thaw' respectively. If both directories contain a similar named file, the one in
/etc/pm/sleep.d will get preference. It is possible to disable a hook in the distribution directory by putting a non-executable file in /etc/pm/sleep.d, or by
adding it to the HOOK_BLACKLIST configuration variable.


xmodmap не сработает (не будет иметь доступа к X-серверу), пока не укажете правильные переменные DISPLAY и XAUTHORITY.

AITap ★★★★★
()

если есть systemd то в

/usr/lib/systemd/system-sleep/
засунь свой скрипт и дай ему права на исполнение
или добавь модули wifi и всего, что отваливается в
/etc/suspend-modules.conf

smilessss ★★★★★
()
Ответ на: комментарий от AITap

Спасибо, только пришлось закинуть в /etc/pm/power.d Осталось только решить как запустить вот эту секцию

modmap -e 'keycode 133=F13'

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

В запущенной иксовой сессии посмотрите значение переменной XAUTHORITY, а в свой скрипт допишите (до вызова xmodmap):

export DISPLAY=:0
export XAUTHORITY=/путь/к/файлу


Возможно, придётся написать некую логику, которая будет искать файл с именем определённого вида. Подход этот не совсем верный (правильнее было бы находить процесс иксовой сессии и читать его /proc/$pid/environment), но достаточно простой.

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