[решено] Просмотр видео и 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 - одна фигня, а времени нет разбираться.
Так, искал переодически - ничего интересного не обнаружил, в смысле _нормальных_ решений.

Статистику не собирал по этому делу, а даже интересно!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".