Следующие шоу ответа, как запустить скрипт после пробуждения от, приостанавливают на основе systemd. Я судил их, но не мог заставить терминал гнома, казаться, выполнять команду.
#!/bin/sh
if [ "$1" == "post" ]; then
gnome-terminal --command 'compiz --replace &'
Почему они не работали? Я использую 4.8.0-45-универсальное ядро Ubuntu 16.04.2. Мне любопытно, почему мой systemd базировался, сценарий не работал. Мои работы команды над открытым терминалом гнома, но так или иначе не будут работать с systemd-suspend.service методом.???
Поскольку Вы знаете, что любые эмуляторы терминала были закрыты после того, чтобы делать их работы.
Но если Вы хотите к терминалу гнома не быть закрытыми с помощью этого сценария в /etc/pm/sleep.d
путь (эта причина сценария сохранить терминальным открытый, пока Вы не совершаете нападки, входят):
sudo nano /etc/pm/sleep.d/myscript
Затем вставьте их содержание Вам сценарий:
#!/bin/bash
case $1 in
thaw|resume) gnome-terminal --command 'bash -c "compiz --replace &; read line"'
;;
esac
Затем сделайте это executble этой командой:
sudo chmod a+x /etc/pm/sleep.d/myscript
Я надеюсь, что это - работа для Вас.
ОБНОВЛЕНИЕ:
Спасибо за совместное использование. Мне было любопытно, почему мой systemd базировался, сценарий не работал. Мои работы команды над открытым терминалом гнома, но так или иначе не будут работать с systemd-suspend.service решением. Вы могли примерить свою систему, чтобы видеть, что она имеет какой-либо эффект? Можно заменить команду compriz командой "сон 20" для попытки. Цените свою обратную связь, приостановить путь отличается на многих машинах, которые используют некоторые из них
sudo pm-suspend
и некоторые из них используютsystemctl suspend
команда.
Мы можем использовать базирующийся сценарий systemd, если мы используем systemctl suspend
для сна ОС (для не использования sudo pm-suspend
. но в некоторых системах, когда Вы нажимаете, приостанавливают boton, использование операционной системы pm-suspend
команда). Но systemd основывал сценарии, и powermanagement базировался, сценарии имеют немного различия друг с другом:
В базирующемся сценарии systemd мы не можем запустить приложения GUI потому что в том условии нет никакого X-сервера для него для соединения с.
Таким образом, Вы не можете использовать gnome-terminal
в таких командах как gnome-terminal --command 'compiz --replace &'
. если Вы хотите показать терминал гнома, необходимо использовать базирующиеся сценарии powermanagement.
Но в Вашем случае достаточно использовать этот сценарий (без терминала гнома):
#!/bin/sh
if [ $1 = post ] ; then
compiz --replace &
fi
И можно протестировать сценарий путем замены чего-то как touch /home/YOURUSERNAME/Desktop/test.txt
вместо compiz --replace &
:
#!/bin/sh
if [ $1 = post ] ; then
touch /home/YOURUSERNAME/Desktop/test.txt
fi
(Знайте что, потому что в systemd основывал сценарии, которые так не используют команды выполнения пользователя root ~/Desktop
вместо /home/YOURUSERNAME/Desktop
потому что ~ пользователя root не является Вашим корневым каталогом!)