Есть довольно много команд, которые вы можете использовать с banshee, сейчас это время, но вот сценарий, который я написал, потому что я не мог найти способ играть в интеллектуальный плейлист при входе в систему. Это было несколько месяцев назад, это был один из моих первых сценариев, и я сделал это для удовольствия, так что это очень плохо, я его не пробовал, но это должно по крайней мере дать вам пример того, как использовать банши на терминале:
#!/bin/bash
banshee --hide &
sleep 3;
banshee --play;
while true; do
pos=`banshee --query-position| sed s/position:\ //| sed s/,.*//`;
dur=`banshee --query-duration| sed s/duration:\ //| sed s/,.*//`;
left="$(expr $dur - $pos)";
rating=`banshee --query-rating|sed s/rating:\ //`;
isHumour="$(banshee --query-uri|sed s/.*Music//|grep /Humour)";
if [[ $pos -lt "3" ]] && ([[ $rating -lt "2" ]] || [[ -n "$isHumour" ]]);
then
echo "next";
exec banshee --next &
else
echo "sleep for" $left;
sleep "$left";
pos=`banshee --query-position| sed s/position:\ //| sed s/,.*//`;
dur=`banshee --query-duration| sed s/duration:\ //| sed s/,.*//`;
left= expr $dur - $pos;
echo $left;
fi;
sleep 0.0001;
done;
exit 0;
Надеюсь, это поможет, извините, если это смущает вас ...
В 15.04, Vivid, вам нужно разместить свои скрипты в:
/lib/systemd/system-sleep/
Пример сценария, основанного на одном из вики Arch (systemd sleep Hooks):
#!/bin/sh
case $1/$2 in
pre/*)
echo "Going to $2..."
# Place your pre suspend commands here, or `exit 0` if no pre suspend action required
;;
post/*)
echo "Waking up from $2..."
# Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
;;
esac
Не забудьте сделать свой скрипт выполнимым!
sudo chmod a+x /lib/systemd/system-sleep/your-script
Подробнее см. man systemd-sleep.
Нет необходимости в sudo, так как ваш скрипт будет запущен как root
note: ссылка на вики Arch по объекту ( systemd sleep Hooks ) указывает (неправильно для 15.04), что вы должны поместить свои скрипты в /usr/lib/systemd/system-sleep/, но это не будет работать в Ubuntu 15.04. Поместите свои скрипты в /lib/systemd/system-sleep/, если вы используете 15.04.
Это не отдельный отдельный ответ, но поскольку я не могу комментировать (из-за ограничения репутации), я просто хотел бы добавить важное дополнение к ответу mfisch, который также работал для меня.
[d1 ] Обратите внимание, что HOME и PATH (и, возможно, другие переменные среды), вероятно, не будут совпадать с вашей обычной средой оболочки. У меня были проблемы с решением mfisch, которое, похоже, не работало для скриптов, которые мне нужно было выполнить в резюме, но оказалось, что это были мои скрипты, виноватые, так как они ожидали, что HOME будет настроен на мой каталог пользователя (я один пользователь в моей системе), а для PATH включить /usr/local/bin и в момент возобновления, ни одно из них не гарантируется (и в случае HOME, возможно, нецелесообразно). Поэтому вам, возможно, придется адаптировать свои сценарии / программы, чтобы не зависеть от этих env-vars ...Поскольку у меня нет достаточной репутации для написания комментариев, я перепишу решение из mfisch в добавлении ответа для Lindh-E:
РЕШЕНИЕ:
РЕШЕНИЕ: предоставляет кучу скриптов, которые запускаются во время сна / возобновления.
Что вам нужно:
Создать сценарий под названием 99MyScript.sh (99 позволяет запустить его после другие скрипты) Добавьте свой скрипт в /usr/lib/pm-utils/sleep.d. Назначьте право исполнения: sudo chmod + x /usr/lib/pm-utils/sleep.d/99MyScript.sh Проверьте это :) [!d6 ]ВНИМАНИЕ:
вам нужно быть осторожным, так как привинчивание, скорее всего, сломается. Если система выйдет из строя или замерзает, вы можете удалить скрипт или исправить его, но вам придется выполнить жесткий цикл питания, чтобы восстановить вашу систему.
ВНИМАНИЕ: [!d15 ]
Посмотрите существующие скрипты в /usr/lib/pm-utils/sleep.d. Сценарий под названием 95led довольно прост и будет хорошей моделью для начала. 95led предоставляет случаи для спящего режима / приостановки и оттаивания / возобновления, если вы хотите только возобновить, вы должны написать свой скрипт следующим образом:
#!/bin/sh
case "$1" in
resume)
echo "hey I just got resumed!"
run_some_command
esac