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

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

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

Сообщение Xakep »

Привык я на винде на сон грядущий включать 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 КБ) 311 скачиваний

- Для настройки пункта меню которое запускает Rosa Media Player
install_poweroffendplay_VLC.sh.zip
(1.2 КБ) 316 скачиваний
- Для настройки пункта меню которое запускает 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 »

Лицензируйте надлежащим образом.
Аватара пользователя
Xakep
Сообщения: 232
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

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

Сообщение Xakep »

В смысле? o_O
О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг...
Аватара пользователя
VictorR2007
Сообщения: 7824
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

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

Сообщение VictorR2007 »

Ещё можно это делать через проигрыватель.
Приложу фотки с этими функциями в проигрывателях bomi, xt7-player и smplayer.
З.Ы.
Ещё с этим хорошо справляется kshutdown.
Вложения
Bomi.png
xt7-player.png
smplayer.png
vlad
Сообщения: 370
Зарегистрирован: 27 дек 2012, 04:44
Operating system: ОС

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

Сообщение vlad »

Xakep писал(а):В смысле? o_O
Напишите под какой лицензией разработка, приложите ее текст.
Аватара пользователя
Xakep
Сообщения: 232
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

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

Сообщение Xakep »

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

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

Сообщение notauser »

Exec=/home/andrey/.local/poweroffendplay %F :)
/home/andrey/ - это потому, что ~ не работает и надо костылить?
Да и перед cat <<EOF > "$HOME/$SCRIPTPATH$SCRIPTFILENAME" неплохо бы проверить наличие $HOME/$SCRIPTPATH$SCRIPTFILENAME
Аватара пользователя
Xakep
Сообщения: 232
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

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

Сообщение Xakep »

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

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

Сообщение notauser »

Да, но это мой poweroffendplay перепишется на ваш poweroffendplay. :)
Аватара пользователя
Xakep
Сообщения: 232
Зарегистрирован: 23 окт 2015, 17:45
Operating system: Linux ROSA Fresh R6
ArchLinux
Win 10

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

Сообщение Xakep »

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

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