пятница, 25 ноября 2011 г.

Заставка Side 9 Screensaver (девушки моют монитор) под Ubuntu

Года 3 назад (когда первый раз ездил работать в Арабские Эмираты) увидал данный скринсейвер на одном из торрент трекеров. Поскольку, тогда, на домашнем ноутбуке кроме линукса была еще и предустановленная винда, то он был на нее успешно установлен. Вот сейчас я снова в эмиратах, и ассоциативная память вытащила его из потаенных хранилищ :), Так что захотелось его снова установить.


Этот скнинсейвер называется Side 9 Screensaver (девушки моют монитор). Скачать можно из множества мест (хотя он и платный вроде). Я брал ТУТ.

Однако, теперь, мне необходимо было его установить уже на Linux. В частности на Ubuntu 10.04. Сам хранитель экрана представляет из себя просто обычный видео ролик в формате swf, который и проигрывается во весь экран, когда необходимо. т.е. Решение задачи сводится к запуску на весь экран проигрывания видео из swf файла, когда система простаивает.

Для начала, нам нужно как то получить этот swf из установочного файла скринсейвера для Windows. Можно использовать различные распаковщики кабов и т.д., но я просто установил скринсейвер в wine. В результате искомый swf находится: ~/.wine/drive_c/windows/system32/Side 9 Screensaver dir/saver_800x600_v1.swf

Чтобы проиграть его, можно использовать браузер с плагином от Adobe или Standalone flashplayer. Версию под Linux можно скачать по адресу: http://www.adobe.com/support/flashplayer/downloads.htm. Однако, никакой документации по ключам запуска я не нашел, а может и нету :( понимает только ключь "--version", ну и имя swf файла для проигрывания. Нам же нужно отрендерить это видео в окно скринсейвера.

Вывод видео в другое окно, может осуществить mplayer

sudo apt-get install mplayer
Наше видео в запакованном swf формате, потому mplayer его не может воспроизвести. Вначале необходимо его распаковать при помощи утилиты flasm:
flasm -x saver_800x600_v1.swf

Создадим директорию .screensavers в домашнем каталоге:

mkdir ~/.screensavers
и скопируем туда наш распакованный saver_800x600_v1.swf.

Теперь добавим заставку к gnome-screensaver.
Создадим файл с описанием заставки для gnome-screensaver:
sudo gedit /usr/share/applications/screensavers/side9movie.desktop
Поместим туду следующий код:
[Desktop Entry]
Encoding=UTF-8
Name=Side 9
Comment=Девушки моют монитор
TryExec=side9movie.sh
Exec=side9movie.sh
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
OnlyShowIn=GNOME;
Создадим скрипт для запуска нашего видео

sudo gedit /usr/lib/gnome-screensaver/gnome-screensaver/side9movie.sh
Поместим туда следующий код:
#!/bin/bash

## setup MPlayer aruments, remove -nosound if you want the video
## to play sound. If you have to specify the video driver to use
## then add that to the list
MPLAYERARGS="-nosound -nolirc -wid $XSCREENSAVER_WINDOW -nostop-xscreensaver -fs -really-quiet"

## path to video
VIDEO=~/.screensavers/saver_800x600_v1.swf

exec mplayer $MPLAYERARGS -loop 0 "$VIDEO"
Сделаем наш скрипт запускаемым:
sudo chmod 755 /usr/lib/gnome-screensaver/gnome-screensaver/side9movie.sh
Заходим в System > Preferences > Screensaver и выбираем там нашу созданную заставку "Side 9"

XScreenSaver

так как в 3-м гноме решили убрать gnome-screensaver и оставиkb пока только выключение экрана и никаких настрок, то для добавления своих заставок необходимо деинсталировать gnome-screensaver и установить XScreenSaver.
sudo apt-get remove gnome-screensaver
sudo apt-get install xscreensaver xscreensaver-gl-extra xscreensaver-data-extra
для начала нужно убрать из автозагрузки gnome-screensaver и добавить xscreensaver
gnome-session-properties
для запуска xscreensaver-а добавляем команду:
xscreensaver -nosplash
в директории: /usr/lib/xscreensaver/ создаем bash скрипт следующего содержания:
#!/bin/bash
exec mplayer -nosound -nolirc -wid $XSCREENSAVER_WINDOW -nostop-xscreensaver -fs -zoom -really-quiet -loop 0 /home/uvadzucumi/.screensavers/saver_800x600_v1.swf
Для добавления созданного нами скринсервера в список доступных необходимо в файл ~/.xscreensaver добавить строку:
- GL:     side9.sh -root        \n\
далее, запускаем конфигурацию xscreenservera
xscreensaver-demo
и выбираем добавленную нами заставку.



1 комментарий:

  1. Большое спасибо автору за статью! Долгое время на компутере под вин_хп стоял именно этот хранитель, уже так привык к этим девушкам) а тут перешел на убунту, и очень долго пытался завести этот скринсейвер, и уже бросил даже, ибо не было результата. а с помощью статьи все сделал довольно быстро, и главное все работает!

    ОтветитьУдалить