Differences between revisions 2 and 3
Revision 2 as of 2008-08-07 16:32:37
Size: 10798
Comment:
Revision 3 as of 2008-08-09 03:49:02
Size: 14443
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
(рассказ про то, как работают иксы)  Если бы не альтвая брьба с изобр. дураками, то можно было бы заставить работать все машины на одной или одной принимать все соед, но в альте оно запускается с -nolisten tcp. Это сделано так, поскольку это рабочая станция, и там такой функционал не нужен. (рассказ про то, как работают иксы)
'''''иксы это клиент серверная архитектура. сервер на вашей машине и забирает(обрабатывает входные сообщения от клавиатуры и мыши и других устройств ввода) всякие входные данные и передает их клиенту, который как-то обрабатывает эти сообщения и передает запросы икс серверу по поводу того что нужно сделать с графической платой, то есть что нарисовать.

Если бы не борьба компании ALT с изобретательными дураками, то можно было бы заставить работать все машины на одной или одной принимать все соединения, но в альте иксы запускаются с -nolisten tcp.''''' Это сделано так, поскольку это рабочая станция, и там такой функционал не нужен.
Line 7: Line 10:
Организация интерфейса привычная. Есть понятие окно. Это ост. серьёзное огр. на сущности. Есть понятие фокуса, вы можете перекл. между окнами, разделяя устр. ввода, фокус мжет перемещ., и в зависимости от тго ,какой прямоуг захватил ему, ему и посыл. события с устр. ввода. Окна могут насл. друг на друга. На всё это накл. некие доп. ограничения, связанные с тем, что вы обявляете что окнга всего лишь окна, а упр. ими отдаётся отд. прилажению под названием окновод (window manager). Конечно, суще. команда х-серверу по манип. окнами, и прилож. может такие команды подавать, но было бы непр. было бы тдавать под приложение, поск. тогда бы в каждм прилож. была бы куча кода по манип. окнами. Пэтому логично было бы отдать задачу упр. окнами отдельному приложению пд назв. wm, который и позв. пользователю всё это делать: двигать-изменять-иконифаить окна, и так далее. Организация интерфейса привычная. Есть понятие окно. Это устанавливает серьёзное ограничение на сущности. То есть каждое приложение, когда хочет чего-то показывать на экране, регистрирует себе несколько прямоугольников, которые и есть окна, и может в них рисовать и принимать сигналы нажатия кнопок и движения мыши. Есть понятие фокуса, вы можете переключаться между окнами, разделяя устройство ввода, фокус может перемещаться, и в зависимости от того ,какой прямоугольник захватил его, ему и посылаются события с устройства ввода. Окна могут наслаиваться друг на друга. Существует понятие глубина, и на основе этого определяется какому окну относится некая точка, которая вообще говоря принадлежит нескольким окнам. На всё это накладываются некие дополнительные ограничения, связанные с тем, что вы объявляете что окна всего лишь окна, а управление ими отдаётся отдается приложению под названием окновод/диспетчер окон (window manager). Конечно, существует команда х-серверу по манипуляции окнами, и приложение может такие команды подавать, но было бы неправильно было бы перекладывать управление окнами приложению, поскольку тогда бы в каждом приложении была бы куча кода по манипуляции окнами. Поэтому логично было бы отдать задачу управления окнами отдельному приложению под названием window manager, который и позволяет пользователю всё это делать: двигать, изменять, превращать в иконки, скрывать окна, и так далее.
Line 9: Line 12:
То, с чем мы имеем дело сейчас --- xfce с wm xfwm, в юниоре, терминал сервере и мастере есть kde, wm там kwin То, с чем мы имеем дело сейчас --- рабочий стол xfce с диспетчером окон xfwm, в юниоре, терминал сервере и мастере есть рабочий стол kde, диспетчером окон там является kwin
Line 11: Line 14:
Есть ещё один слой, где мы забываем про протокол X11, и всп. про то, как устр. жкран. Тут мы говориМ, что экр. может быть неск, естьприятные инт. штуки, октрые связаны не с окнами, а с упр. пргр. продуктов, и так далее. Эти все функции может взять из себя wm, а мжет и не брать. В граф. средах типа kde|xfce запускется куча прилож, каждая из которых делается тд. приложением. Есть ещё один слой, где мы забываем про протокол X11, и вспоминаем про то, как устроен экран. Тут мы говорим, что виртуальных экранов может быть несколько, есть приятные интерфейсные штуки, которые связаны не с окнами, а с управлением программными продуктами, и так далее. Например управление менюшками, кнопочками. Эти все функции может взять из себя диспетчер окон, а может и не брать. В графических средах типа kde/xfce запускается куча приложений, каждая из которых занимается отдельным делом (например иконки на рабочем столе).
Line 15: Line 18:
Дополнение. Что инт. польз, который сел за такую граф. среду. Первое, что инт. узнать: как настр. эту среду. Вещь первая --- альтератор. Дополнение. Что интересно пользователю, который сел за такую графическую среду. Первое, что интересно узнать: как настраивать эту графическую среду. Вещь первая --- альтератор.
Line 17: Line 20:
То, что вы видете, эт некийграф. интерфейс к пачке утилит, кторые явл. мозгом для определения возм. раф подсистемы, а с другой стороны, к конф. файлу системы xorg. То, что вы видите, это некий графический интерфейс к пачке утилит, которые являются мозгом для определения возможностей графической подсистемы, а с другой стороны, к конфигурационный файлу системы xorg.
Line 19: Line 22:
Монитор 1024х768 это некая заглушка, когда монитор неизвестен. Это не разрешение. ... "Монитор 1024х768" это некая заглушка, когда данных о мониторе нет(монитор по умолчанию). Это не разрешение. Есть некоторые мониторы, о которых есть некоторые данные. Хотелось бы добавить распознаватель драйвера монитора, который является фаилом содержащим допустимые физические характеристики монитора.
Line 21: Line 24:
Как устрен xorg.conf. Он сост. из секций, каждая тв. либо за устр., либ за синт. понятие (нарпимер, Layout). Что мы видим в секции layout... Далее идёт секция загрузки модулей: type1-шрифты, freetype-шрифты (проверить), glx, dri --- граф. ускорение... Флаги: allowmouseopenfail --- чтобы иксы грузились, если мышьь отвалится, крме того, мышью можно упр. с клавиатуры (shift+numlock --- цифроблок). Кроме того, поворот клеса --- перемещение по оси z. Никто почти его не исп., то их преобр. в нажатия кнпок 4 и 5. Если вдру кнопки замапились неправильно, то сначала запускаете xev, а потом xmodmap. Как устроен xorg.conf. Он состоит из секций, каждая отвечает либо за устройство, либо за синтетическое понятие (комплект устройств для общения с пользователем, или наоборот их части)(например, layout), или за некоторые фаилы(секция модули --- загружает модули). Что мы видим в секции layout... Далее идёт секция загрузки модулей: type1-шрифты, freetype-шрифты (проверить), glx --- трехмерная графика, dri --- графическое ускорение... Флаги: allowmouseopenfail --- чтобы иксы грузились, если мышь отвалится, кроме того, мышью можно управлять с клавиатуры (нажать сочетание shift+numlock, а потом использовать клавиши на цифровой клавиатуре для перемещения мыши). Кроме того, поворот колеса --- перемещение по оси z. Никто почти его не использует, поэтому их принято преобразовывать в нажатия кнопок 4 и 5. Если вдруг кнопки определились неправильно, и при нажатии на одну кнопку он делает то, что должно делать при нажатии на другую, то сначала запускаете xev, а потом xmodmap.
Line 23: Line 26:
Дальше идёт секция monitor. Если бы мы восп. конфигуратором, то мы ы увидели первые 4 строчки --- название (эт именно название), физ. размер, частота развёртки и частота кадров. Это параметры, которые вписал сюда конфигуратор, они сотв. типичному монитору, который даёт норм. разрешение 1024х768. Если дост. хорошее железо, т тут может не быть ничего кроме identifier, поск. есть протоколы DDC и EDID, которые позв. договариваться видеокарте и монитору, какие разр. для них приемлемы, и х-сервер может эту инф. вынимать. Дальше идёт секция monitor. Если бы мы воспользовались конфигуратором, то мы бы увидели первые 4 строчки --- название (это именно название), физический размер, частота развёртки и частота кадров. Это параметры, которые вписал сюда конфигуратор, они сответствуют типичному монитору, который даёт нормальное разрешение 1024х768. Если достаточно хорошее железо, то тут может не быть ничего кроме identifier, поскольку есть протоколы DDC и EDID, которые позволяют договариваться видеокарте и монитору, какие разрешения для них приемлемы, и х-сервер может эту информацию вынимать.
Line 25: Line 28:
Есть утилита modeline, которая выдаёт инф. о дост. режимах. Есть утилита modeline, которая выдаёт информацию о доступных режимах.
Line 27: Line 30:
(рассказ про ЭЛТ и теоретизация пр цилиндр и тр) (рассказ про ЭЛТ и теоретизация про цилиндр и тр)
Line 31: Line 34:
Далеко не все пикселы, кторые мы выводим при таком дотклоке можно вывести. То есть, реальный разм. картинки сущ. меньше, или рефрешрейт сущ. меньше, чем взможно. ModeLine --- способ вручную настр. монитра. Для этого есть xvidtune. Далеко не все пикселы, которые мы выводим при таком дотклоке можно вывести. То есть, реальный размер картинки существенно меньше, или рефрешрейт существенно меньше, чем взможно. ModeLine --- способ вручную настроить монитор. Для этого есть xvidtune.
Line 33: Line 36:
Есть видеокарты и режимы, где оно настраивается. Не настр. это в vesa и ещё нек-рых. vesa просто лезет в видеокарточку и фетчит доступные режимы. он не умеет ничего менять, но знает, что если установить такое параметры, т оно должн заработать. Есть видеокарты и режимы, где оно настраивается. Не настр. это в vesa и ещё нек-рых. vesa просто лезет в видеокарточку и фетчит доступные режимы. он не умеет ничего менять, но знает, что если установить такое параметры, то оно должно заработать.
Line 35: Line 38:
Дальше еидёт раздел Device карточки, там можно настр видекарту, разл. ускорение... (это место, в кторое вписываются знач., который в альтератре выб. в разделе драйвер). Дальше идёт раздел Device карточки, там можно настр видекарту, разл. ускорение... (это место, в которое вписываются знач., который в альтератре выб. в разделе драйвер).

Настройка X-сервера

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

Если бы не борьба компании ALT с изобретательными дураками, то можно было бы заставить работать все машины на одной или одной принимать все соединения, но в альте иксы запускаются с -nolisten tcp. Это сделано так, поскольку это рабочая станция, и там такой функционал не нужен.

Это первый слой.

Организация интерфейса привычная. Есть понятие окно. Это устанавливает серьёзное ограничение на сущности. То есть каждое приложение, когда хочет чего-то показывать на экране, регистрирует себе несколько прямоугольников, которые и есть окна, и может в них рисовать и принимать сигналы нажатия кнопок и движения мыши. Есть понятие фокуса, вы можете переключаться между окнами, разделяя устройство ввода, фокус может перемещаться, и в зависимости от того ,какой прямоугольник захватил его, ему и посылаются события с устройства ввода. Окна могут наслаиваться друг на друга. Существует понятие глубина, и на основе этого определяется какому окну относится некая точка, которая вообще говоря принадлежит нескольким окнам. На всё это накладываются некие дополнительные ограничения, связанные с тем, что вы объявляете что окна всего лишь окна, а управление ими отдаётся отдается приложению под названием окновод/диспетчер окон (window manager). Конечно, существует команда х-серверу по манипуляции окнами, и приложение может такие команды подавать, но было бы неправильно было бы перекладывать управление окнами приложению, поскольку тогда бы в каждом приложении была бы куча кода по манипуляции окнами. Поэтому логично было бы отдать задачу управления окнами отдельному приложению под названием window manager, который и позволяет пользователю всё это делать: двигать, изменять, превращать в иконки, скрывать окна, и так далее.

То, с чем мы имеем дело сейчас --- рабочий стол xfce с диспетчером окон xfwm, в юниоре, терминал сервере и мастере есть рабочий стол kde, диспетчером окон там является kwin

Есть ещё один слой, где мы забываем про протокол X11, и вспоминаем про то, как устроен экран. Тут мы говорим, что виртуальных экранов может быть несколько, есть приятные интерфейсные штуки, которые связаны не с окнами, а с управлением программными продуктами, и так далее. Например управление менюшками, кнопочками. Эти все функции может взять из себя диспетчер окон, а может и не брать. В графических средах типа kde/xfce запускается куча приложений, каждая из которых занимается отдельным делом (например иконки на рабочем столе).

Такое краткое содержание лекции про иксы.

Дополнение. Что интересно пользователю, который сел за такую графическую среду. Первое, что интересно узнать: как настраивать эту графическую среду. Вещь первая --- альтератор.

То, что вы видите, это некий графический интерфейс к пачке утилит, которые являются мозгом для определения возможностей графической подсистемы, а с другой стороны, к конфигурационный файлу системы xorg.

"Монитор 1024х768" это некая заглушка, когда данных о мониторе нет(монитор по умолчанию). Это не разрешение. Есть некоторые мониторы, о которых есть некоторые данные. Хотелось бы добавить распознаватель драйвера монитора, который является фаилом содержащим допустимые физические характеристики монитора.

Как устроен xorg.conf. Он состоит из секций, каждая отвечает либо за устройство, либо за синтетическое понятие (комплект устройств для общения с пользователем, или наоборот их части)(например, layout), или за некоторые фаилы(секция модули --- загружает модули). Что мы видим в секции layout... Далее идёт секция загрузки модулей: type1-шрифты, freetype-шрифты (проверить), glx --- трехмерная графика, dri --- графическое ускорение... Флаги: allowmouseopenfail --- чтобы иксы грузились, если мышь отвалится, кроме того, мышью можно управлять с клавиатуры (нажать сочетание shift+numlock, а потом использовать клавиши на цифровой клавиатуре для перемещения мыши). Кроме того, поворот колеса --- перемещение по оси z. Никто почти его не использует, поэтому их принято преобразовывать в нажатия кнопок 4 и 5. Если вдруг кнопки определились неправильно, и при нажатии на одну кнопку он делает то, что должно делать при нажатии на другую, то сначала запускаете xev, а потом xmodmap.

Дальше идёт секция monitor. Если бы мы воспользовались конфигуратором, то мы бы увидели первые 4 строчки --- название (это именно название), физический размер, частота развёртки и частота кадров. Это параметры, которые вписал сюда конфигуратор, они сответствуют типичному монитору, который даёт нормальное разрешение 1024х768. Если достаточно хорошее железо, то тут может не быть ничего кроме identifier, поскольку есть протоколы DDC и EDID, которые позволяют договариваться видеокарте и монитору, какие разрешения для них приемлемы, и х-сервер может эту информацию вынимать.

Есть утилита modeline, которая выдаёт информацию о доступных режимах.

(рассказ про ЭЛТ и теоретизация про цилиндр и тр)

Первый параметр --- dot clock, второй параметр --- ширина видимй часть в пикселах, дальше ширина в пикселах плюс одна половинка, вторая половинка и дальше --- ширина всего цилиндра. Для более точной спец. см. XF86vidmodemodmodeline (o_O)

Далеко не все пикселы, которые мы выводим при таком дотклоке можно вывести. То есть, реальный размер картинки существенно меньше, или рефрешрейт существенно меньше, чем взможно. ModeLine --- способ вручную настроить монитор. Для этого есть xvidtune.

Есть видеокарты и режимы, где оно настраивается. Не настр. это в vesa и ещё нек-рых. vesa просто лезет в видеокарточку и фетчит доступные режимы. он не умеет ничего менять, но знает, что если установить такое параметры, то оно должно заработать.

Дальше идёт раздел Device карточки, там можно настр видекарту, разл. ускорение... (это место, в которое вписываются знач., который в альтератре выб. в разделе драйвер).

Screen. Теперь мы занимаемся синт. штуками. Эт то, как на данном мониторе с карточкой рисвать разнго рода графрежимы. Секция modes описывает, какие из именованных модлайнв в каком порядке включать. Их много, потому что разная глубина цветности.

Там в конце есть приписка такая, что устр., к котор. осущ. аппаратный доступ к граф. уск., оно будет иметь группу xgrp и права 0660.

Есть ещё одна синт. штука, lAYOUT? КОТОРАЯ ОПР., на каком скрине какие устр. ввода применяются.

В бльшинстве случаев перекл. между разными режимами мжно с исп. ctrl+alt++, ctrl+alt+-, при этом виртуальный размер экрана остаётся прежним, а разрешение меняется.

Есть программа xev, которая ловит события с устр. ввода и вывдит по ним информацию, есть прграмма xbindkeys, которая позволяет забиндить дейтсвия на чо-нибудь плезное.

Ещё один момент, св. с изм разрешения --- его можно сделать с исп. утилиты xrandr

Для включения дополн. трёх кнопок надо выбраьт в настр. клавиатуры клавиатура acpi, при этом меняется /etc/X11/xinit/Xkbmap.

В какой-то момент пявился setxkbmap, который повт. синтаксис xorg.conf, и позв. кадждму польз. настр. клавиатуру п-своему.

Например, настроим перекл. раскладки.

Проблема с шифтами вот в чём: настройки xkb в рамках дной сессии аккумулируются. Это какая-то бага давняя, котрую мало кому хочется исправлять, но может быть такая штука, что вы пишите два шифта, а там чт-то не то с дним из шифтов.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

0

1

1

1

1

SergeyKorobkov, VladimirLysikov, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080731/03XConfiguration (last edited 2008-10-15 10:46:17 by FrBrGeorge)