Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Ответить
Аватара пользователя
Xakep
Сообщения: 238
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение Xakep » 20 ноя 2015, 13:50

Привык я на винде на сон грядущий включать MPC с функцией - Завершение работы компьютера после воспроизведения, и засыпать под любимый сериал. :)
И с переходом на linux мне очень не хватало такой возможности.
В сети я нашел информацию по этому поводу и начал адаптировать ее для себя, а точнее для ROSA Fresh R6 2014.1.

В общем будем создавать в контекстном меню Dolphin новый пункт "Вык. по окончанию проигрывания", который будет запускать Rosa Media Player или VLC, а по окончанию проигрывания выключать компьютер.
картинка1.jpeg
Для начала нам понадобится установить пакет zenity для возможности отображения диалоговых окон из sh скриптов. У меня он оказался предустановлен, но, на всякий случай даем в терминале команду.

Код: Выделить всё

sudo urpmi zenity
Дальше можно просто скачать, распаковать и запустить один из скриптов, которые автоматически установят и настроят новый пункт меню в Dolphin.
install_poweroffendplay_ROMP.sh.zip
(1.21 КБ) 245 скачиваний

- Для настройки пункта меню которое запускает Rosa Media Player
install_poweroffendplay_VLC.sh.zip
(1.2 КБ) 260 скачиваний
- Для настройки пункта меню которое запускает VLC

А теперь чуть поподробнее что делает установочный скрипт.
В процессе установки создается два файла /home/user/.kde4/share/kde4/services/ServiceMenus/poweroffendplay.desktop и /home/user/.local/poweroffendplay

poweroffendplay.desktop

Код: Выделить всё

[Desktop Action poweroffend]
Exec=/home/user/.local/poweroffendplay %F
Icon=video
Name=Вык. по окончанию проигрывания

[Desktop Entry]
Type=Service
Actions=poweroffend;
Encoding=UTF-8
Icon=video
Name=Вык. по окончанию проигрывания
Name[en_US]=Power off end play
ServiceTypes=KonqPopupMenu/Plugin,audio/*,video/*
Собственно этот файл и добавляет новый пункт меню в Dolphin который запускает скрипт poweroffendplay

poweroffendplay

Код: Выделить всё

#!/bin/bash

COUNT=10

rosa-media-player -close-at-end "$1"
(
while [ "$COUNT?" != 110 ]
 do
   echo $COUNT
   COUNT=`expr $COUNT + 10`
   sleep 1
 done
) |
zenity --auto-close --progress --title "Завершение работы после просмотра" --text "Воспроизведение окончено.Питание будет отключено..."
 if [ $? = 0 ] ;
  then
  systemctl poweroff
 fi
Этот скрипт запускает соответствующий медиа плеер, ждет его завершения и выключает компьютер.
Ключевыми здесь являются две команды

Код: Выделить всё

rosa-media-player -close-at-end "$1"
#vlc --play-and-exit "$1" - Если используется VLC
systemctl poweroff
Все остальное является мишурой выводящей диалоговое окно на 10сек. перед выключением компьютера.

В общем, пользуемся, а при необходимости дорабатываем скрипт сами...
Последний раз редактировалось Xakep 21 ноя 2015, 16:49, всего редактировалось 2 раза.
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...

vlad
Сообщения: 370
Зарегистрирован: 27 дек 2012, 04:44
Operating system: ОС

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение vlad » 20 ноя 2015, 14:09

Лицензируйте надлежащим образом.

Аватара пользователя
Xakep
Сообщения: 238
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение Xakep » 20 ноя 2015, 14:13

В смысле? o_O
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...

Аватара пользователя
VictorR2007
Сообщения: 7274
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение VictorR2007 » 20 ноя 2015, 21:28

Ещё можно это делать через проигрыватель.
Приложу фотки с этими функциями в проигрывателях bomi, xt7-player и smplayer.
З.Ы.
Ещё с этим хорошо справляется kshutdown.
Вложения
Bomi.png
xt7-player.png
smplayer.png

vlad
Сообщения: 370
Зарегистрирован: 27 дек 2012, 04:44
Operating system: ОС

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение vlad » 20 ноя 2015, 22:12

Xakep писал(а):В смысле? o_O
Напишите под какой лицензией разработка, приложите ее текст.

Аватара пользователя
Xakep
Сообщения: 238
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение Xakep » 20 ноя 2015, 22:54

vlad писал(а):Напишите под какой лицензией разработка, приложите ее текст.
Лицензия WOTM - Who's On That Much.
А текст лицензии в дословном переводе довольна короткий - "Вспомни как сам учился"...
VictorR2007 писал(а):Ещё можно это делать через проигрыватель.
Спасибо. Будим знать. :)
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...

notauser
Сообщения: 1254
Зарегистрирован: 06 май 2012, 21:00

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение notauser » 20 ноя 2015, 23:33

Exec=/home/andrey/.local/poweroffendplay %F :)
/home/andrey/ - это потому, что ~ не работает и надо костылить?
Да и перед cat <<EOF > "$HOME/$SCRIPTPATH$SCRIPTFILENAME" неплохо бы проверить наличие $HOME/$SCRIPTPATH$SCRIPTFILENAME

Аватара пользователя
Xakep
Сообщения: 238
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение Xakep » 20 ноя 2015, 23:52

C Exec это да, упустил момент. Исправим. :)
По второму замечанию. В принципе необходимости нет, если даже по какой то случайности и окажется по указанному пути файл poweroffendplay, то он просто перепишется по новой.
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...

notauser
Сообщения: 1254
Зарегистрирован: 06 май 2012, 21:00

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение notauser » 20 ноя 2015, 23:58

Да, но это мой poweroffendplay перепишется на ваш poweroffendplay. :)

Аватара пользователя
Xakep
Сообщения: 238
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

Re: Завершение работы компьютера поcле воспроизведения. - Готовое решение.

Сообщение Xakep » 21 ноя 2015, 17:01

Касяк с Exec исправил, скрипты перезалил.
Замечания notauser по поводу проверки в скрипте, считаю правильными, но, нагружать скрипт ненужными проверками считаю ненужным. Чем проще скрипт, тем легче его понять, особенно начинающим.
Кто посчитает нужным внести в скрипт - проверку от дурака, динамические имена, бекап существующих одноименных файлов и т.п. Будет только приветствоваться, и его тВаренья будут сразу по возможности поднимется в шапку темы. :)
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...

Ответить

Вернуться в «Общие вопросы по РОСЕ»