Xorg X11 и прозрачность
Материал из Википедии - свободной энциклопедии.
- Вернутся в раздел руководства
Содержание |
Введение
Это руководство поможет в установке X.org на Linux/Gentoo машине, хотя общие настройки должны работать и на любом другом дистрибутиве.
Шаг за шагом
Установка X.org
Установите последнюю версию X.org с помощью команды
- emerge xorg-x11
После компиляции необходимо настроить X.org путем редактирования /etc/X11/xorg.conf
Если у вас было установленно XFree86 то рабочий /etc/X11/XF86Config будет автоматически использоватся для работы X.org. Для обеспечения целостности рекомендуется переименовать /etc/X11/XF86Config в /etc/X11/xorg.conf.
Для загрузки X.org выполните команду
- startx
Установка X Composite Extension
Откройте /etc/X11/xorg.conf для редактирования
- nano -w /etc/X11/xorg.conf
пользуйте ваш любимый редактор ;)
Добавьте следующие строки в любом месте конфиг файла
File: /etc/X11/xorg.conf |
Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" EndSection |
При следующей перезагрузке X.org у вас будет включен Composite Extension. Это расширение позволяет предварительную отрисовку вне экрана, чтобы на экран выводилось уже законченное изображение. Это позволяет использовать различные эффекты (например прозарчность и тени).
Для достоверности можно проверить лог файл
- grep COMPOSITE /var/log/Xorg.0.log
(II) Initializing built-in extension COMPOSITE
Включение теней и настоящей прозрачности
Многие WM еще не обладают поддержкой новых функций X.org, так что нам придется использовать дополнительные инструменты для наших эффектов.
- Вначале нам надо установить xcompmgr
- echo "x11-misc/xcompmgr ~x86" >> /etc/portage/package.keywords
- emerge xcompmgr
- Затем установим transset
- echo "x11-misc/transset ~x86" >> /etc/portage/package.keywords
- emerge transset
Теперь у нас есть все необходимое, чтобы включить тени, затенение и настоящую прозрачность. Запустите из Xterminal xcompmgr
- xcompmgr -c
Эта команда позволит вам увидеть эффекты от запущенного xcompmgr, если они вам не понравятся то control c в консоли позволит вам убить процесс, а если они вам нравятся то надо убить процесс и запустить его на фоне командой
- xcompmgr -c &
Примечание: символ & позволяет запустить xcompmgr на фоне
Таким образом xcompmgr включит "мягкие" тени. Если будет использован флаг -s то будут "грубые" тени.
Рабочий пример для xcompmgr с тенью и затенением
- xcompmgr -cCfF -r7 -o.65 -l-10 -t-8 -D7 &
Теперь о прозрачности. Выполните в консоли
- transset
Теперь ваш курсор изменился, вы можете кликнуть на окне которое хотите сделать прозрачным. Если запустить transset с цифровым значением от 0 до 1 то это укажет насколько прозрачным должно быть окно
- 0 - полностью прозрачно
- 1 - не прозрачно
Попробуйте выполнить
- transset .2
Для возвращения окна назад просто выполните transset и кликните по прозрачному окну.
Как это выглядит
Изображение взято на http://www.grebowiec.net/archives/xorg4.html
Выключение эффектов
Для выключения всех эффектов выполните
- killall xcompmgr
Примечание
NVIDIA
При использовании NVIDIA видео карточек рекомендуется добавить в /etc/X11/xorg.conf нижеприведенные строки для того, чтобы можно было использовать расширение "Composite" и увеличить производительность при его использовании.
File: /etc/X11/xorg.conf |
Section "Device" |
ATI
При использовании ATI видео карточек совместно с ATI драйверами, дополните /etc/X11/xorg.conf опцией backingstore, для включения поддержки backing store, механизма с помощью которого пиксельные данные закрытого окна запоминаются Х сервером и снимает необходимость посылки сообщений к Х клиенту когда надо обновить изображение
File: /etc/X11/xorg.conf |
Section "Device" |
Заключение
Это только начальные разработки которые мы можем использовать в X.org 6.8. По мере развития WM и приложений будет возможность использовать возможности X.org в полную меру без установки дополнительных приложений. Некоторые приложения, kwin к примеру (http://forums.gentoo.org/viewtopic.php?t=221610), уже портируются.
Возможные проблемы
Fluxbox окна не раскрываются
Попробуйте включить
Configure -> Slit -> Layer -> Desktop.
mplayer problem
При затруднениях с mplayer (прозрачность, отображение), попробуйте следующие опции
- mplayer -vo x11 my_video