LINUX.ORG.RU

Помощь со скриптом

 


0

1

Доброго времени суток форумчане!

Имеется следующий вопрос:

На компьютере запущен в VLC или в любом другом плеере фильм. Как сделать так, чтобы когда фильм закончится, компьютер выключится автоматически.

Вот такая вот задачка.

Думаю можно сделать специальный скрипт или обойтись чем то другим?

Спасибо :)

while true; do pgrep vlc||halt; sleep 1; done

Как-то так если он уже запущен и его процесс завершится после фильма (зависит от настроек). vlc://quit в плейлисте заставит его выйти, кстати.

x3al ★★★★★ ()
Ответ на: комментарий от spyro
diff -u a b 
--- a	2012-11-05 11:25:44.755343404 +0200
+++ b	2012-11-05 11:27:55.743835882 +0200
@@ -1,4 +1,3 @@
 #!/bin/sh
-mplayer filename.mkv
+mplayer "$1"
 halt
init_6 ★★★★★ ()

для выключения использую команду:

sudo shutdown -h +1:00

Выключает через один час с момента выполнения... но проблема, как заставить его автоматом вводить пароль от sudo :) Скрипт останавливается и ждет ввода пароля...

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

Выключает через один час с момента выполнения... но проблема, как заставить его автоматом вводить пароль от sudo :) Скрипт останавливается и ждет ввода пароля...

задай NOPASSWD в sudoers для пользователя, запускающего скрипт и команды

BaBL ★★★★★ ()
Ответ на: комментарий от UFO-man

речь идет не только о VLC... нужно что то универсальное для всех плееров

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

А как вы автоматом ПК выключаете? Поставьте это вместо sudo poweroff.

alozovskoy ★★★★★ ()

Запускать плеер из консоли.
Пример с mplayer:
mplayer /home/user/film.mkv && halt
Главное что бы у пользователя были права на halt, и не нужно было бы вводить пароль.
Если прав нет - использовать вызов DE, на выключение.
Если и этого нет\нет желания копать - включаешь фильм как всегда, а в консольке sudo su, и от рута , после пересчёча продолжительности фильма в секундах, sleep 7200 && halt :)

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

Я просто показываю общий смысл, «всё и сразу» ведь никто для тебя не напишет. Смысл в том, чтобы заставить плеер выйти после проигрывания (чтобы скрипт понял, что воспроизведение закончено - лучше способа не придумать) и затем выключить компьютер.
На счёт ввода пароля - ну найди же команду, которая не требует sudo. Такая есть, гарантия 100%, но я ее не помню.

UFO-man ()
Ответ на: комментарий от makaveli

для sudo запросит пароль, который нужно ручками ввести... нужно все автоматом

твоя проблема в том, что нужен пароль? Тебе уже сказали - правь /etc/sudoers, можешь сделать спец-юзера для этого (разрешить ему ТОЛЬКО смотреть кино и выключать комп). Это кошерно и безопасно.

хочешь именно костыль? посмотри суда: http://ru.wikipedia.org/wiki/Expect

drBatty ★★ ()
Ответ на: комментарий от UFO-man

На счёт ввода пароля - ну найди же команду, которая не требует sudo. Такая есть, гарантия 100%, но я ее не помню.

нет и не может быть такой команды. простой юзер выключать комп НЕ ИМЕЕТ ПРАВА. впрочем, админ всегда может такие права кому-то дать. в твоей говноубунте - первый юзер, но через sudo с паролем. Могу дать вредный совет - chmod +s halt, тогда все смогут в этом РЕШЕТЕ.

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

всем спасибо, вопрос решен :) тут еще один вопросик назревает, сделаю позже новый вопрос на форуме :)

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