[решено] Просмотр видео и kscreensaver
Здравствуйте товарищи!
У меня такая проблема, при просмотре видео включается скринсейвер, задолбал конкретно.
Использую Smplayer и Kaffeine, причем в первом есть галочка с дырочкой что-бы скринсейвер останавливать - не помогает, хотя курсор мышиный появляется при включенной данной опции, но бесполезно.
Кафеин до какой-то версии умел глушить скринсейвер, а теперь не умеет.
Отключать хранитель я не хочу, в большинстве случаев он нужен.
Раскопал в результате команду управления через DCOP:
dcop kdesktop KScreensaverIface enable false выключает
а
dcop kdesktop KScreensaverIface enable true включает
Мысли две:
1.Переименовать оригинальные бинарники кафеина и мплеера, а их именами назвать самописные скрипты, которые соответсвенно будут гасить перед запуском и включать обратно после просмотра.
но сей способ не тру, к тому же возникнут проблемы при обновлении данных программ.
2.Написать скрипт с циклом, который будет проверять процессы через определенный интервал времени, на предмет запущенных кафеина и мплеера и соответственно гасить хранитель, а в случае отсутствия данных процессов включать. Но есть у меня подозрение, что такой скрипт задолбает систему и будет жрать много ресурсов.
Может кто наведет на мысль как решить данную проблему, немогу больше :-)
- Для комментирования войдите или зарегистрируйтесь

Не надо переименовывать
Не надо переименовывать оригинальные бинарники. Просто сделайте себе ярлычок или скриптик в $HOME/bin которые будут делать то что надо.
Я не использую KDE, но нутром чую что должен быть более гуманный и простой способ отрубить скринсейвер.
гуманизм наше фсё
У меня тоже такая хрень случалась после обновления; разрешилась сама собой - даже не успел костыль прилепить :)
Видимо дело в каких-то конфигах kde было, или что-то подобное.
П.С. а нету ли в системе пакетов kde разных версий? У меня в тогда вроде переход был с 3.5.9 на 3.5.10 и несколько пакетов я "отлавливал" вручную.
____________
Экономь электроэнергию! Выключи NumLock!
Помню, столкнулся с чем-то
Помню, столкнулся с чем-то похожим.
Помогла пересборка системы (а в том числе и kscreensaver) с USE=xscreensaver
У меня kscreensaver всегда
У меня kscreensaver всегда собирался с USE=xscreensaver (прописано в /etc/portage/package.use). Но тоже после одного из обновлений были заморочки с видеоплеер+заставка. И тоже не помню каким образом разрешились, каким-то естественным ходом - возможно etc-update помогло. Не пересборкой.
Не было ещё ни одного великого ума без примеси безумия © Аристотель
Сейчас для kscreensaver флага
Сейчас для kscreensaver флага xscreensaver нет, а сам xscreensaver в системе оказывается не установлен вообще.
В общем пришлось сделать костыль, может быть даже грубый - не знаю, не специалист. Но работает нормально, ресурсов не ест.
И так, суть метода:
Вначале создаем файл в своей хоум-дире, называем его например
scrsaver_stopper. Изменяем его права на 755.Теперь о содержимом файла:
#!/bin/bash PROG="kaffeine" # Любимая программа PROG_1="smplayer" # Вторая любимая программа ;-) # Определяем, запущены ли наши программы или нет. CHECK=`ps -aef | grep "$PROG" | grep -v grep | awk '{print $2}' | head -1` CHECK_1=`ps -aef | grep $PROG_1 | grep -v grep | awk '{print $2}' | head -1` if [ ! -z $CHECK ] # Если запущена первая любимая программа, то выполняется отключение заставки и функции энергосбережения монитора. # Выхлоп гасится в /dev/null. then dcop kdesktop KScreensaverIface enable false > /dev/null 2>&1 && xset -dpms elif [ ! -z $CHECK_1 ] # Аналогично для второй программы. then dcop kdesktop KScreensaverIface enable false > /dev/null 2>&1 && xset -dpms # Если ни одна программа не выполняется, то разрешается появление заставки, а так же функций энергосбережения монитора. else dcop kdesktop KScreensaverIface enable true > /dev/null 2>&1 && xset +dpms fiДалее, чтобы происходила переодическая проверка на предмет запуска любимых программ, нужно добавить в ~/.bashrc строчку такого вида:
while sleep 180; do ~/scrsaver_stopper; done &Данная строчка позволяет циклически проверять через 3 минуты (время можно изменять) наличие в процессах данных программ и соответственно гасить заставку и наоборот.
Вот такой вот костыль, работает как часы :-) Добавлю в тему [решено], т.к. инет я рыл долго и упорно и более изящного метода не обнаружил.
Более продвинутый вариант
Более продвинутый вариант костыля.
Позволяет гарантированно отключить заставку при превышении некоторого порога процессорного времени затрачиваемого плеером (просмотр фильма).
Плеера теперь можно использовать в любых комбинациях, например если не выгружен каффеин или смплеер, заставка отключится как только будет просмотр фильма в одном из них.
Т.е. поставив на паузу или остановив - заставка включится через заданный интервал.
#!/bin/bash while [ 1 ] do #Определение запущенных процессов и округление дробного числа расхода ресурсов в случае наличия процесса. play1=`top -b -n 1 | grep "kaffeine" | head -n1 | awk '{ printf "%.0f\n", $9 }'` #То же самое, только для всех фронэндов mplayer, нужно проверять именно процесс mplayer! play2=`top -b -n 1 | grep "mplayer" | head -n1 | awk '{ printf "%.0f\n", $9 }'` #Статус наличия процесса каффеина stat1=`if [ ! -z $play1 ] then #значение 5 (для моей машины), подбирается экспериментально if [ $play1 -gt 5 ] then echo 0 fi fi` #Проверка наличия процесса мплеера stat2=`if [ ! -z $play2 ] then #для мплеера на моей машине это 4 if [ $play2 -gt 4 ] then echo 0 fi fi` if [ ! -z $stat1 ] then dcop kdesktop KScreensaverIface enable false > /dev/null 2>&1 && xset -dpms elif [ ! -z $stat2 ] then dcop kdesktop KScreensaverIface enable false > /dev/null 2>&1 && xset -dpms else dcop kdesktop KScreensaverIface enable true > /dev/null 2>&1 && xset +dpms fi #Интервал проверки (в секундах) sleep 180 doneЗаводить так:
в ~/.bashrc прописать в конец название данного файла, путь до него и поставить &
аццки конечно :-) неужели всё
аццки конечно :-)
неужели всё таки официальных прямых решений нет?
Началось оно у меня давно,
Началось оно у меня давно, юзал я тогда еще систему x86 и только коффеин 0.8.х какой-то.
Потом одно время после обновления системы все было в порядке и вот после этого раза все по новой.
Т.е. уже как год наверно. Потом переполз на ~x86 - одна фигня, а времени нет разбираться.
Так, искал переодически - ничего интересного не обнаружил, в смысле _нормальных_ решений.
Статистику не собирал по этому делу, а даже интересно!