LINUX.ORG.RU

Скрипт для перевода в ждущий режим после просмотра фильма

 , , ,


0

1

Всем привет! Помогите доработать скрипт:

#!/bin/bash
notify-send 'Выключение компьютера' 'После проигрывания'
while true
do
    if [ "`pidof /usr/bin/mpv`" ] || [ "`pidof /usr/bin/smplayer`" ]
    then
        sleep 60
    else
        xfce4-session-logout --suspend
    fi
done
exit 0

Суть скрипта: проверяет запущен ли сейчас какой-либо из двух медиаплееров (оба плеера настроены на автоматическое закрытие после произведения). Если да - ждет минуту, если нет - переводит в ждущий режим.

Проблема: При выходе из ждущего режима скрипт остается запущенным, видит что плеер не запущен и снова переводит компьютер в ждущий режим.

Помогите разобраться, где я допускаю ошибку?

xfce4-session-logout –suspend && exit

anonymous
()

У тебя в скрипте exit не сработает. Посмотри внимательно на цикл. А после пробуждения ОС твой скрипт делает всё правильно: процессов не нашёл - ушёл спать. Пример выше вроде норм. Как быть, надо вспоминать, а лень. Но либо второй скрипт делай, который мониторит наличие процесса mpv/smplayer и запускает твой. Либо можно как-то через системд отследить, например.

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

#!/bin/sh

Большое спасибо, теперь все срабатывает так как я и хотел.

hadouken
() автор топика

у меня скрипт попроще

#!/bin/bash
smplayer -close-at-end
qdbus org.kde.ksmserver /KSMServer logout 1 2 2
Вторая строчка для KDE, сам скрипт подцеплен к *desktop ярлыку

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