Xorg X11 и прозрачность

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться в раздел руководства

Содержание

[править] Введение

Это руководство поможет в установке 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 (или используйте ваш любимый редактор ;))

Добавьте следующие строки в любом месте конфиг файла

Файл: /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

[править] Включение теней и настоящей прозрачности

[править] KDE 3.4 или более поздняя

Начиная с версии 3.4 KDE поддерживает прозрачность через Xorg. На заголовке любого окна щелкните правой кнопкой мыши, выберите "настройка поведения окна" и в списке слева найдите пункт полупрозрачность. Поставьте флажок "использовать прозрачность/тени", после чего станут доступны множество настроек прозрачности (активного,неактивного окна, окна при перетаскивании, плавные переходы прозрачности и т.д.) и теней.

[править] xcompmgr и transset

Многие 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

Теперь у нас есть все необходимое, чтобы включить тени, затенение и настоящую прозрачность. Запустите из Xterm xcompmgr xcompmgr -c Эта команда позволит вам увидеть эффекты от запущенного xcompmgr, если они вам не понравятся, то CTRL+C в консоли позволит вам убить процесс, а если они вам нравятся, то надо убить процесс и запустить его в фоновом режиме (сзади консоли): xcompmgr -c & Примечание: символ & позволяет запустить xcompmgr в фоновом режиме, но при этом если убить сам терминал - процесс тоже сдохнет, чтобы этого не произошло можно использовать утилиту nohup: nohup xcompmgr -c & При этом весь вывод будет направлен в nohup.out

Таким образом xcompmgr включит "мягкие" тени. Если будет использован флаг -s то будут "грубые" тени.

Рабочий пример для xcompmgr с тенью и затенением xcompmgr -cCfF -r7 -o.65 -l-10 -t-8 -D7 &

Теперь о прозрачности. Выполните в консоли transset Теперь ваш курсор изменился, вы можете кликнуть на окне которое хотите сделать прозрачным. Если запустить transset с цифровым значением от 0 до 1 то это укажет насколько прозрачным должно быть окно

  • 0 - полностью прозрачно
  • 1 - не прозрачно

Попробуйте выполнить tg Рабочий стол Sheridan

[править] fvwm scripts

Скрипты для fvwm (через xcompmgr и transset): [1]

[править] Выключение эффектов

Для выключения всех эффектов выполните killall xcompmgr

[править] Примечание

[править] NVIDIA

При использовании NVIDIA видео карточек рекомендуется добавить в /etc/X11/xorg.conf нижеприведенные строки для того, чтобы можно было использовать расширение "Composite" и увеличить производительность при его использовании.

Файл: /etc/X11/xorg.conf

Section "Device"
...
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
...
EndSection



ВАЖНО: При использовании RenderAccel у вас могут возникнуть проблемы со стабильностью, так как эта опция эксперементальная и использовать ее вам предлагается на свой страх и риск.
При использовании AllowGLXWithComposite у вас могут возникнуть проблемы с opengl приложениями. Могут появляться артефакты, так как glx и composite не рекомендуется использовать одновременно.

[править] ATI

При использовании ATI видео карточек совместно с ATI драйверами, дополните /etc/X11/xorg.conf опцией backingstore, для включения поддержки backing store, механизма с помощью которого пиксельные данные закрытого окна запоминаются Х сервером и снимает необходимость посылки сообщений к Х клиенту когда надо обновить изображение

Файл: /etc/X11/xorg.conf

Section "Device"
...
Option "backingstore" "true"
...
EndSection

[править] Заключение

Эти разработки находятся в самой начальной стадии и мы можем использовать их уже в X.org версии 6.8. По мере развития WM и приложений будет возможность воспользоваться новым функционалом X.org в полную меру без установки дополнительных приложений. Некоторые программы, kwin к примеру, уже портируются.

[править] Возможные проблемы

[править] Fluxbox окна не раскрываются

Попробуйте включить

Configure -> Slit -> Layer -> Desktop.

[править] mplayer problem

При затруднениях с mplayer (прозрачность, отображение), попробуйте следующие опции mplayer -vo x11 my_video

[править] mozilla-firefox и flash

Если firefox падает на сайтах с flash-анимацией - возможно, проблемы с composite. Либо отключите flash, либо composite, либо обновитесь.

Личные инструменты
На других языках