Редактирование: UNИX, осень 2007, 05 лекция (от 02 ноября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
[[UNИX, осень 2007, 04 лекция (от 26 октября)|Предыдущая лекция]] | [[UNИX, осень 2007, 06 лекция (от 09 ноября)|Следующая лекция]]
+
[[UNИX, осень 2007, 04 лекция (от 26 октября)|Предыдущая лекция]] | [[UNИX, осень, 06 лекция (от 09 ноября)|Следующая лекция]]
'''Официальная страница:''' http://uneex.cs.msu.su/uneex/LecturesLinuxSoft2007/04_StartFromDesktop
'''Официальная страница:''' http://uneex.cs.msu.su/uneex/LecturesLinuxSoft2007/04_StartFromDesktop
-
<div class="comment">Лектор опоздал потому, что ему надо было забрать железяку. Железяка интересная. Те ребята, которые собирали китайские железяки, клеили на них «сделано в России» и продавали туда, где нельзя покупать китайское железо, стали делать тонкие клиенты, но оказалось, что тонкие клиенты не просто больше, чем монитор, нужна ещё прошивка, прошивку сделали какую-то свою на основе Gentoo, и лектору надо было объяснять, что ему прошивка не нужна, нужна только железка, и памяти доставить. В итоге оказалось, что дешевле купить обычный комп.</div>
+
Гоша опоздал потому, что ему надо было забрать железяку. Железяка интересная. Те ребята, которые собирали китайские железяки, клеили на них «сделано в россии» и продавали туда,где нельзя покупать китайское железо, они стали делать тонкие клиенты, но оказалось, что тонкие клиенты не просто больше, чем монитор, нужна ещё прошивка, прошивку сделали какую-то свою на основе генту, и надо было объяснять, что прошивка не нужна, нужна только железка, только памяти доставить. В итоге оказалось, что дешевле купить обычный комп.
-
Про то, что видит человек после того, как загрузился Linux. На прошлой лекции был продемонстрирован диалог новичка и гуру, и из них были вычленены два вопроса решаемых:
+
Про то, что видит человек после того, как загрузился линукс. На прошлой лекции был продемонстрирован диалог новичка и гуру, и из них были вычленены два вопроса решаемых:
* Консоль
* Консоль
* Добыча информации из дистрибутива
* Добыча информации из дистрибутива
-
Linux отличается от других коммерческих поделок тем, что снабжается большим количеством документации разных уровней, но проблема в том, что сейчас документации столько много, что её уже проблемно запаковывать всю в дистрибутив, ибо это уже информационное пространство. Тем не менее, мы решаем проблемы в порядке поступления, но если нет привычки сначала читать документацию, а потом делать, то возникает проблема — необходимо разобраться в том, что на экране. А на экране не Linux, а графическая оболочка. Лектор так твёрдо утверждает, что это не Linux, потому что это (то, что видит пользователь после загрузки ОС, графическая оболочка) изменчиво, вариабельно, и зависит от того, что установлено. Если же в случае Mac&nbsp;OS с её замечательной Aqua'ой всё приблизительно одинаково, то в случае с Linux, который сам по себе (то есть, ядро) графической оболочки не имеет и которая ставится отдельно и совершенно произвольно, это не так.
+
Линукс отличается от других коммерческих поделий тем, что снабжается большим количеством документации разных уровней, но проблема в том, что сейчас документации столько много, что её уже проблемно запаковывать её всё, ибо это уже информационное пространство. Но мы решаем проблемы в порядке поступления, но если нет привычки сначала читать документацию, а потом делать, то возникает проблема разобраться в том, что на экране. А на экране не линукс, а графическая оболочка. Лектор так твёрдо утверждает, что это не линукс, потому что это изменчиво, вариабельно, и зависит от того, что вы поставите. Если же в случае макоси с её замечательной аквой, или того же линукса всё приблизительно одинаково, то в случае с линуксом, который сам по себе графоболочки не имеет и которая ставится отдельно и совершенно произвольно, это не так.
-
== Изучение рабочего стола ==
+
Изучение рабочего стола.
-
=== Состав ===
+
Спецсимволами могут отмечаться необязательные компоненты рабочего стола. Что бывает:
-
Спецсимволами «(x)» могут отмечаться необязательные компоненты рабочего стола. Таки образом, что включает в себя то, что видит пользователь:
+
* (х) Регистрация в системе/ Yjhvfkmyst .ybrc-cbcntvs nht,e.n kjuby b gfhjkm? 'nf ghjwtlehf pfghjcf vj;tn ,snm rfr dgjkyt ntrcnjdfz? f ,snm b uhfabxtcrfz? f vj;tn b djj,ot yt ,snm. Это называется автологин. Например, совершенно бессмысленно спрашивать логин-пароль, если загружаешься с лайвсиди, ну и для удобства пользования всяких людей, которым не до логина и не до пароля, оно может быть отключено.
-
* (х) Регистрация в системе. Нормальные UNIX-системы требуют логин и пароль, эта процедура запроса может быть как вполне текстовая, а быть и графическая (xdm/gdm/kdm), а может и вообще не быть (это называется автологин). Например, совершенно бессмысленно спрашивать логин-пароль, если загружаешься с Live&nbsp;CD, ну и для удобства пользования всяких людей, которым не до логина и не до пароля, оно может быть отключено.
+
* Рабочий стол.
-
* Рабочий стол
+
** (х) Иконки на рабочем столе. Это такая незначащая часть. Иконки на рабочем столе --- быстрый доступ к какм-то файлам-каталогам-программам
-
** (х) Иконки на рабочем столе. Это такая незначащая часть. Иконки на рабочем столе&nbsp;— быстрый доступ к каким-то файлам-каталогам-программам
+
** (х) Панели. Постоянно присутствующая на экране хреновина, выполняющая какие-то функции: часики отображают, кнопка пукс (путь к социализму) --- метаменю. Панель выполняет функцию визуализационную. Панель быстрого доступа (запуска). Практически то же самое, что и на рабочем столе, но сгруппированы в одном месте. Ящики выдвижные с быстрым запуском. Системный лоток. Список задач запущенных. Довольно удобная штука, которую придумале в эппле --- меню приложения.
-
** (х) Панели. Постоянно присутствующая на экране хреновина, выполняющая какие-то функции: часики отображает, кнопка «Пукс» <!-- авторское — eSyr --> («путь к социализму»)&nbsp;— метаменю. Панель выполняет функцию визуализационную. Панель быстрого доступа (запуска). Практически то же самое, что и на рабочем столе, но сгруппировано в одном месте. Ящики выдвижные с быстрым запуском. Системный лоток. Список задач запущенных. Довольно удобная штука, которую придумали в Apple&nbsp;— меню приложения.
+
* (х) Виртуальные экраны и панель от них. Экран один, а граф. система делает вид, что их несколько, и разные окна могут регистрировать себя на разных экранах
-
* (х) Виртуальные экраны и панель от них. Что такое виртульаные экраны&nbsp;— дисплей один, а графическая система делает вид, что их несколько, и разные окна могут регистрировать себя на разных экранах
+
* (х) Постоянное меню
* (х) Постоянное меню
* (х) Меню в окне
* (х) Меню в окне
* (х) Сводные меню приложений
* (х) Сводные меню приложений
-
* (х) Клавиатурные сокращения, работа с раскладкой, и др.
+
* (х) Клавиатурные сокр., работа с раскладкой, и др.
* (х) Оконный декоратор, управление окнами. Приложение не рисует обычно декорацию, оно должно отрабатывать события. Отрисовкой рамки занимается декоратор.
* (х) Оконный декоратор, управление окнами. Приложение не рисует обычно декорацию, оно должно отрабатывать события. Отрисовкой рамки занимается декоратор.
-
Мы описали всё, но, как оказалось, всё это опционально. Из таких кусочков состоит рабочий стол, но он (как можно видеть) может и не состоять. Поэтому от того, что может быть переходим к тому, как это устроено.
+
Мы описали всё, но всё это опционально.
-
=== X-сервер ===
+
Из таких кусочков состоит рабочий стол, но он может и не состоять. Поэтому от того, что может быть переходим к томцу, как это устроено.
-
Почему графическая среда устроена так гибко? Почему всё необязательно? А что обязательно? Обязательна ровно одна вещь&nbsp;— X-сервер. Много-много лет назад существовала такая ОС, которая называлась The V System. Поскольку она была никакая не свободная, не открытая и была ровно до тех пор, пока ей какая-то контора занималась. Для неё была граф. оболочка W System, она каким-то чудом выжила и перекочевала в МИТ, где продолжила развиваться по уже университетским стандартам и называлась Xwindow System. Эта графоболочка построена по клиент-серверной технологии. Сервер умеет выполнять какие-то графические команды: нарисуй прямоугольник, напечатай то-то. Это не простые команды, а специализированные под взаимодействие с другими программами. Второе свойство Х-сервера --- он опрашивает устройства ввода-вывода --- мышь и клавиатура. То есть, граф. сервер это такой терминал в самом общем понятии, то есть оконная программа, которая взаимодействует с пользователем. Это называется Х-сервер. Существует множество программ Х-клиентов, которые делают ровно то же самое, но со своей клиентской части, то есть посылают команды и обрабатывают данные об устройствах ввода-вывода. Взаимодействие между клиентом и сервером происходит любым способом: через сеть, через файл-дырку...
+
-
Где-то в то же время изобреталась оконная система, и понятие окно тесно связано с клиент-сервером. То есть, приложению выделяется место, при попаданию курсором (например) в которое все события будут передаваться ему. Потом выяснилось, что курсор --- неудобно, и появилось понятие фокуса, нам необязательно опираться на положение курсора, мы просто говорим, что есть окно, и оно получает события. Понятно, что это понятие условное, и пикселы возбуждения не испытывают от того, что он в фокусе. Фокус мышкой удобен, когда она рядом, если же она уползает постоянно, то это не очень удобно. Бывают и другие способы. Опять же, вспоминаем другие не столь гибкие оболочки, где всё это прибито гвоздями.
+
Почему графсреда устроена так гибко? почему всё необязательно? А что обязательно. Обязательна ровно одна вещь --- Х-сервер. Много-много лет назад существовала такая ОС, которая называлась The V System. Поскольку она была никакая несвободная, неоткрытая и была ровно до тех пор, пока её какая-то контора занималась. Для неё была граф. оболочка W System, она каким-то чудом выжила и перекочевала в МИТ, гнде продолжила развиваться по уже университетским стандартам и называлась Xwindow System. Эта графоболочка построена по клиентсерверной технологии. Сервер умеет выполнять какие-то графические команды: нарисуй прямоугольник, напечатай то-то. Это не простые команды, а специализированные под взаимодействие с другими программами. Второе свойство Х-сервера --- он опраживает устройства ввода-вывода --- мышь и клавиатура. То есть, граф. сервер это такой терминал в самом общем понятии, то есть оконеная программа, которая взаимодействует с пользователем. Это называется Х-сервер. Существует множество программ Х-клиентов, которые делают ровно то же самое, но со своей клиентской части, то есть посылают команды и обрабатываюьт данные об устройствах ввода-вывода. Взаимодействие между кл. и сервером происходит любым способом: через сеть, через файл-дырку...
-
Взаимодействие клиента и сервера строго стандартизированно, и называется x11.
+
Где-то в то же время изобреталась оконная система, и понятие окно тесно связано с клиент-сервером. То есть, приложению выделяется место, при попаданию курсором (например) в которое все события будут передаваться ему. Потм выяснилось, что курсор --- неудобно, и появилось понятие фокуса, нам необязательно опираться на положение курсора, мы просто говорим, что есть окно, и оно получает события. Понятно, что это понятие условное, и пикселы возбуждения не испытывают от того, что он в фокусе. Фокус мышкой удобен, когда она рядом, если же она уколзает постоянно, то это не очень удобно. Бывают и другие способы. Опять же, вспоминаем другие не столь гибкие оболочки, где всё это прибито гвоздями.
 +
 
 +
взаимодействие клиента и сервера строго стандартизированно, и называется x11.
Два варианта подключения по сети:
Два варианта подключения по сети:
Строка 41: Строка 41:
В переменной окружения DISPLAY указывается адрес х-сервера, по умолчанию :0.0 (формат address:screen:display)
В переменной окружения DISPLAY указывается адрес х-сервера, по умолчанию :0.0 (формат address:screen:display)
-
Ранее было сказано, что х-сервер работает с устройствами ввода и видеокартой. Но это неправда. Не смотря на наличие mit magic cookie, протокол ненадёжный, печеньку можно перехватить, завалить оригинал, но думать об этом нужно только в том случае, если вы об этом думаете, вряд ли, если в комнате стоят три компьютера, то вы вряд ли будете оставаться спокойным, если вдруг одна машина умерла, а за другой сидит какой-то волосатый дядька и радостно потирает руки. Поэтому для того, чтобы запустить х-клиенты, надо куда-то залогиниться. А поскольку логин обычно надёжный (secure-shell), то осталось попросить программу, которая его организует, одну вещь --- туннелировать х-протокол. То есть, на удалённой машине просто работает х-сервер, который перенаправляет запросы.
+
Ранее было сказано, что х-сервер работает с устройстваим ввода и видеокартой. но это неправда. Не смотря на наличие mit magic cookie, протокол ненадёжный, печеньку можно перехватить, завалить оригинал, но думать об этом нужно только в том случае, если вы об этом думаете, вряд ли, если в комнате стоят три компьютера, то вы вряд ли будете оставаться спокойным, если вдруг одна машина умерла, а за другой сисдит какой-то волосатый дядька и радостно потирает руки. Поэтому для того, чтобы запустить х-клиенты, надо куда-то залогиниться. А поскольку логин обычно надёжный (secure-shell), то осталось попросить программу, которая его организует, одну вещь --- туннелировать х-протокол. То есть, на удалённой машине просто работает х-сервер, который перенаправляет запросы.
Ещё бывает xprint и х-сервер в окне.
Ещё бывает xprint и х-сервер в окне.
Строка 47: Строка 47:
Это самый базовый уровень.
Это самый базовый уровень.
-
=== Необязательные элементы. Оконные мэнеджеры ===
+
Разумеется, этого недостаточно. Вспомнин тот список, который был стёрт, и решим её методом одна задача-одна программа. Это вообще идеология unix, не делать комбайнов, которые постоянно разваливаются, а делать отдельных программ, которые хорошо желают свою работу, и потом налаживать взаимодействие между ними.
-
Разумеется, этого недостаточно. Вспомним тот список, который был стёрт, и решим её методом: "одна задача-одна программа". Это вообще идеология unix, не делать комбайнов, которые постоянно разваливаются, а делать несколько отдельных программ, которые хорошо делают свою работу, и потом налаживать взаимодействие между ними.
+
-
Первое, что надо решить --- управление окнами. Это решается тривально в плане инжиниринга, и эту задачу решили порядка 3 десятков программистких групп, существует порядка 30 window-manager'ов. Обычно, помимо посылания разных команд приложениям, он рисует ещё и рамочку.
+
Первое, что надо решить --- управление окнами. Это решается ттривально в плане инжиниринга, и эту задачу решили порядка 3 десятков программистких групп, существуует порядка 30 window-manager'ов. Обычно, помимо посылания разных команд приложениям, он рисует ещё и рамочку.
Ещё --- меню. Можно встроить в window-manager, но может быть та же.
Ещё --- меню. Можно встроить в window-manager, но может быть та же.
-
Виртуальные рабочие столы. Можно встроить в оконный менеджер, можно запустить специальную прокладку.
+
Виртуальные рабочие столы. Можно встроить в оконный менеджер, можно запустить специальную прокладку
-
Панели. Этим разным панелям могут соответствовать разные программы.
+
Панели. Этим разным панелям могут соотв. разные программы.
Иконки на рабочем столе.
Иконки на рабочем столе.
-
Никакой метафоры «рабочий стол» нет. Кто обязан представить рабочее пространство в виде рабочего стола? Никто, пока вы не попросите. И программа нарисует ещё несколько окошек, точно таких же. Другое дело, что вы их рассматриваете как иконки.
 
-
Оконный менеджер --- программа особая, в частности, он делает то, чего не делают другие программы. Он берёт на себя все события, а потом только отдаёт их другим окнам. Например, фокус.
+
Никакой метафоры «рыбочий стол» нет. Кто обязан представить рабочее пространство в виде рабочего стола? Никто, пока вы не попросите. И программа нарисует ещё несколько окошек, точно таких же. Другое дело, что вы их рассматриваете как иконки.
 +
 
 +
Оконный менеджер --- программа особая, в частности, он делает то, чего не делают другие программы. Он берёт на себя все события, а потом только отдать их другим окнам. Например, фокус.
Таким способом, unix-way, мы сконструировали себе вполне осмысленное рабочее место.
Таким способом, unix-way, мы сконструировали себе вполне осмысленное рабочее место.
Строка 78: Строка 78:
* встроенные в desktop enviroment менеджеры --- metacity, kwin
* встроенные в desktop enviroment менеджеры --- metacity, kwin
-
=== Недостатки ===
+
Недостатки
-
Из-за разрозненности плохо организуется межпроцессное взаимодействие в плане обмена информацией, например, буфер обмена предназначен только для текста. Если надо копировать графику, размеченный текст и т. п., нужно использовать что-нибудь другое.
+
Из-за разрозненности плохо организуется межпроцессное взаимодействие в плане обмена информацией, например, буфер обмена педназначен только для текста. Если надо копировать графику, размеченный текст и т. п., нужно использовать что-нибудь другое
{{UNИX, осень 2007}}
{{UNИX, осень 2007}}
{{Lection-stub}}
{{Lection-stub}}

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Личные инструменты
Разделы