![Хук приостановки не работает в Xubuntu 15.04](https://rvso.com/image/1127605/%D0%A5%D1%83%D0%BA%20%D0%BF%D1%80%D0%B8%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%20%D0%B2%20Xubuntu%2015.04.png)
Я использовалэтот крючок для подвешиванияс Ubuntu и Kubuntu со времен 12.10, однако, когда я вчера сделал чистую установку Xubuntu 15.04, я заметил, что она внезапно не работает. Я создал файл, /usr/lib/pm-utils/sleep.d/45fixusbwakeup
скопировал в него скрипт и сделал его исполняемым, sudo chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeup
как я всегда делал раньше. Я не эксперт, и этот хук всегда работал у меня, так что я понятия не имею, что может быть не так сейчас.
По сути, мне нужно, чтобы эти 3 команды выполнялись каждый раз перед переходом компьютера в спящий режим или при каждом запуске:
sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
Я также хотел бы отметить, что когда я приостанавливаю через команду терминала, sudo pm-suspend
скрипт работает безупречно, он не работает только через традиционную кнопку выхода--->приостановить в Xubuntu, так что я думаю, что это что-то связанное с Xubuntu. Я думаю, что он на самом деле приостанавливает через , xfce4-session-logout --suspend
и это создает проблему.
решение1
xfce4-session будет использовать systemd-sleep в системе systemd (не pm-suspend). Хуки systemd-sleep следует поместить в /lib/systemd/system-sleep, используя следующий шаблон:
#!/bin/sh
case $1/$2 in
pre/*)
echo "Going to $2..."
;;
post/*)
echo "Waking up from $2..."
;;
esac
...и сделать исполняемым. Еще одно предостережение относительно systemd заключается в том, что скрипты в этом каталоге запускаются одновременно, а не последовательно на основе имени (как в случае с pm-utils).
решение2
Для запуска команд при запуске
Поместите команды (удалить sudo -s
) в.шфайл и сделать его исполняемым с расширением chmod +x <filename>
.
Создатьновыйbash-скрипт, содержащий gksudo -s root <path_to_other_bash_script>
и делающий его исполняемым.
Создайте файл с.рабочий столсуффикс в ~/.config/autostart
каталоге - создайте папку, если у вас ее нет.
Поместите следующее в.рабочий столфайл:
[Вход на рабочий стол] Имя=имя_второго_bash_скрипта Exec=путь/к/второму/скрипту Тип=Приложение
Команды, присутствующие в скрипте bash, будут выполнены при запуске.