Редактирование: UNИX, осень 2007, 06 лекция (от 09 ноября)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 5: | Строка 5: | ||
В прошлый раз говорили про то, что человек видит, впервые загрузив Линух, и эти впечатления сильно разнятся. | В прошлый раз говорили про то, что человек видит, впервые загрузив Линух, и эти впечатления сильно разнятся. | ||
- | В прошлый раз был рассказ про клиент-серверную модель, ей больше 20 лет. И то ли потому, что эту разработку подхватил МИТ, то ли люди, которые занимались этой разработкой, не поскупились на ум, что архитектура оказалась настолько всеобъемлющей, что ещё 3---4 года назад в ней не надо ничего менять, и другие оконные системы потихоньку догоняли, вот, в Висте анонсировали передовую технологию --- ядро | + | В прошлый раз был рассказ про клиент-серверную модель, ей больше 20 лет. И то ли потому, что эту разработку подхватил МИТ, то ли люди, которые занимались этой разработкой, не поскупились на ум, что архитектура оказалась настолько всеобъемлющей, что ещё 3---4 года назад в ней не надо ничего менять, и другие оконные системы потихоньку догоняли, вот, в Висте анонсировали передовую технологию --- ядро отедельно от оконной системы, хотя бы частично. Но, тем не менее, особенно с выходом очередного МакОС 10 выяснилось, что Х.Орг надо бы доработать. Доработать в части программно-интерфейсной, например, там не специфицировано, что такое иконка. |
- | == Организация рабочего стола == | ||
В прошлой части мы выяснили, что для организации рабочего стола существует следующее: | В прошлой части мы выяснили, что для организации рабочего стола существует следующее: | ||
* Х-сервер (+окно + фокус) --- определяет фреймворк | * Х-сервер (+окно + фокус) --- определяет фреймворк | ||
Строка 29: | Строка 28: | ||
* Десктоп --- у icewm есть idesk (?), который делает рабочий стол и отделён от wm | * Десктоп --- у icewm есть idesk (?), который делает рабочий стол и отделён от wm | ||
* Кучи программ для разных панелей | * Кучи программ для разных панелей | ||
- | * XhotKey --- | + | * XhotKey --- |
* Klipboard --- собирает то, что копирует пользователь... | * Klipboard --- собирает то, что копирует пользователь... | ||
- | == Потребность в объектной модели == | ||
Что с помощью отдельных программ не делается: | Что с помощью отдельных программ не делается: | ||
* Нет полноценного драг-н-дропа объектов. | * Нет полноценного драг-н-дропа объектов. | ||
Строка 51: | Строка 49: | ||
Но теперь надо делать все программы с поддержкой этого всего. Иначе возвращаемся к тому, с чего начали. В итоге, каждый фреймворк имеет свою объектную модель, свою интерфейсную библиотеку, свой десктоп и свой набор ПО. | Но теперь надо делать все программы с поддержкой этого всего. Иначе возвращаемся к тому, с чего начали. В итоге, каждый фреймворк имеет свою объектную модель, свою интерфейсную библиотеку, свой десктоп и свой набор ПО. | ||
- | == Существующие решения == | ||
Таких проектов не так много, это KDE, Gnome, GNUSTEP. Среди этих трёх интересен наиболее последний, он написан действительно абстрактно от графической подложки, авторы вдохновились nextstep'ом. Проект живой, у них есть релизы, в последнем году выиграли двух студентов в google soc. Написан он на objective c (?), хороший язык, только его никто не знает. | Таких проектов не так много, это KDE, Gnome, GNUSTEP. Среди этих трёх интересен наиболее последний, он написан действительно абстрактно от графической подложки, авторы вдохновились nextstep'ом. Проект живой, у них есть релизы, в последнем году выиграли двух студентов в google soc. Написан он на objective c (?), хороший язык, только его никто не знает. | ||
Строка 66: | Строка 63: | ||
Всё это вплоть до настройки цветовых схем. Вот поменял фон программы. потом выясняется, что пользуешься не одной программой, а тридцатью, и как поменять у них всех? Существует xresources --- способ настройки всех иксовых программ одновременно. Организован он в виде единого дерева. Если есть окно класса window и с заголовком terminal, то к нему можно обратиться как через класс, так и через название. | Всё это вплоть до настройки цветовых схем. Вот поменял фон программы. потом выясняется, что пользуешься не одной программой, а тридцатью, и как поменять у них всех? Существует xresources --- способ настройки всех иксовых программ одновременно. Организован он в виде единого дерева. Если есть окно класса window и с заголовком terminal, то к нему можно обратиться как через класс, так и через название. | ||
.window.menu:«qq» | .window.menu:«qq» | ||
- | Если хочется специфицировать для всех окон сразу, то можно использовать звёздочку: *.background:gray | + | Если хочется специфицировать для всех окон сразу, то можно использовать звёздочку: |
+ | *.background:gray | ||
Если бы это всё писала одна команда, то можно было договориться о едином именовании и было бы хорошо. | Если бы это всё писала одна команда, то можно было договориться о едином именовании и было бы хорошо. | ||
Строка 76: | Строка 74: | ||
* Не надо вести двойную разработку | * Не надо вести двойную разработку | ||
* Проще объединить усилия, чем разъединять | * Проще объединить усилия, чем разъединять | ||
+ | * Artwork --- иконки. В танго уже 1500 иконок | ||
- | Artwork --- иконки. В танго уже 1500 иконок | ||
- | |||
- | == freedesktop == | ||
В момент, совпавший с разделением xfree86 и ... зародилась организация freedesktop, freedesktop.org, которая занимается двумя вещами: | В момент, совпавший с разделением xfree86 и ... зародилась организация freedesktop, freedesktop.org, которая занимается двумя вещами: | ||
* Разработка некоторых проектов | * Разработка некоторых проектов | ||
Строка 86: | Строка 82: | ||
Что есть в этом драфте: | Что есть в этом драфте: | ||
* DnD --- проблема почти решённая | * DnD --- проблема почти решённая | ||
- | ** | + | ** Ешё не поддержано, но предлагается |
*** передача файлов --- direct save. Вопрос, что нужно с этим файлом нести | *** передача файлов --- direct save. Вопрос, что нужно с этим файлом нести | ||
*** uri | *** uri | ||
Строка 107: | Строка 103: | ||
* Курсоры | * Курсоры | ||
- | + | В линуксе, а также и во freebsd используется общая шина передачи данных --- dbus. Люди,работающие линуксом, знают её в связке с hal в качестве связки работы железа и приложений. Всё это уехало в будущее --- передавать по dbus настройки и power management. | |
- | + | ||
- | В линуксе, а также и во freebsd используется общая шина передачи данных --- dbus. Люди, работающие | + | |
{{UNИX, осень 2007}} | {{UNИX, осень 2007}} | ||
{{Lection-stub}} | {{Lection-stub}} |