Редактирование: Спецкурс по Linux, весна 2007, 06 лекция (от 30 марта)

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

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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
-
[[Спецкурс по Linux, весна 2007, 05 лекция (от 23 марта)|Предыдущая лекция]] | [[Спецкурс по Linux, весна 2007, 07 лекция (от 06 апреля)|Следующая лекция]]
+
== From Ebaums Inc to MurkLoar. ==
-
 
+
We at EbaumsWorld consider you as disgrace of human race.
-
'''Авторский вариант:''' http://uneex.cs.msu.su/uneex/LecturesDistro2007/06_Personal
+
Your faggotry level exceeded any imaginable levels, and therefore we have to inform you that your pitiful resourse should be annihilated.
-
 
+
Dig yourself a grave - you will need it.
-
= Удобства =
+
-
Удобства – понятие асолютно относительное.
+
-
 
+
-
Некоторые задачи решаются из коммандной строки, и когда пользователь когда начинает с 4 пунктов меню гнома, он начинает с конца
+
-
 
+
-
* Командная строка --- базовый интерфейс, всё начинается с него. --- некий язык, что означает обмен строками, некоторыми тек стовыми последовательностями, и сама модель строчная. КИ получает строку, обрабатывает её и возвращает результат. Два достоинства командной строка:
+
-
** вряд ли наёдётся более удобный способ обмена, чем обмен печатным текстом, в случае командной парадигмы --- пользователь командует, машина отчитывает, в отличие от обратного, когда скрепки бегают по экрану, долбятся в монитор, говорят “нажми эту кнопку”
+
-
** Мы организуем микропрограммирование, в 2---3 строки, и пользователь принудительно формализует свои действия, диалог не содержит тёмных мест. Причём программы несложные
+
-
** Главный недостаток --- мы говорим, что обменивамся с пользователем текстом, и забываем, что это не строка, а телетайп. Ибо человек читает не по букве, а кусками
+
-
* Уровень 2 --- терминал. не в смысле терминальное устройство, а терминал как матрица символов. Мы начинаем работать не со строкой, а со страницкй. Это наиболее обросший неожиданными ограничениями, тайнами и легендами кусок интерфейса. Ибо терминалы появидись за долго до того, как стало понятно, зачем они нужны. Терминал --- последняя страница бесконечной ленты, со всеми достоинствами и недостатками
+
-
** Можно на лету много чего менять, вплоть до начертания шрифтов
+
-
** Есть некая матрица --- можно пользоваться целыми прямоуголдьнками для размещения информации
+
-
** Примеры: mc, mutt, vim
+
-
** Недостаток --- неизвестно, что уже находится на экране. Это делает не очень удобным получение данных с экрана, с другой стороны это полностью разваязывает руки, ибо можно общаться почти с чем угодно
+
-
 
+
-
В чём разница между КС и терминалом: в КС даются команды, и там не нужны знания о прямоугольника, в отличие от терминала, где они требуются (выводить список, показывать курсор)
+
-
 
+
-
С помощью терминала реализуются все интерфейсы: менюшки... Сейчас в графич интерфейсе собственно тоже самое --- показывается список, и из этого списка надо выбрать
+
-
 
+
-
Проблема --- надо прочитать всю страницу, чтобы сделать выбор. Когда графика, то ишутся какие-то особенности элемента интерфейса (круглое). Проблема с визуальным поиском и выбором
+
-
 
+
-
* Грвфическая подсистема --- для задач визуального поиска с выбором. Довольно долго бытовало необычное, но остроймное рещение --- графические терминалы, то есть устройства, предназначенные для независиой передачи, которое может обрабатывать векторную графику. Это было бы неплохое решение, ибо это менее затратно, но память и процессоры дешевели, и растровый подход победил. Граф оболочка решает эту и многие другие задачи. Мы переходим в ситуацию, когда модель мира усложняется. Например, у нас есть устройства для вывода графики, как с ним надо работать? Или есть понятие окно. матрицы точек это недостаточно, ибо каждому приложкеию надо выдать свою матрицу точек. Соответственно, нужно понятие окно. И пр=иложение как-то с ним взаимодействует --- события. Ещё есть понятие фокус --- если фокус у окна, то он получает данные с устройств ввода, иначе не получает
+
-
** Достоинства очевидны
+
-
** Недостаток --- Надо вводить жёсткие правила пользования этой оболочкой, нарушая которые оказываемся у разбитого корыта --- возвращаемся к понятию матрица точек. В 90-е были течения создания своих интерфейсов
+
-
 
+
-
“Чем игривее кнопка, тем игривее в неё будут тыкать”
+
-
 
+
-
** Введение графоболочки проблемы юзабилити не решает вообще, даже наоборот. Ибо раньше был один терминал --- одна программа
+
-
* Рабочий стол. Понятие трудноопределимое, ибо имеет в качестве одной из составляющих удобство. Ибо РС --- так организованноек пространство, что пользователь решает задачи быстро и качественно.
+
-
** Быстрый доступ к элкментарным решениям
+
-
** Если есть необъодимость на что-то глядеть, то это что-то должно быть нарисовано
+
-
** Оповещения --- если что-то происходит, то нужно в какои-то месте сделать какой-то раздражитель
+
-
** Красивый внещний вид, чтобы не тощнило при включении компьютера, а наоборот
+
-
 
+
-
Два уровня по два пункта --- назкоуровнувый текстовый интерфейс, высокоуровневый он же, с графикой ситуация та же, но обмен ассимитричный – вводится текствоая информация, обратно графическая.
+
-
 
+
-
Вычокойровневый интерфейс --- есть объекты на плоскости
+
-
 
+
-
* Воспроизводимость настроек
+
-
** Важно
+
-
** Что нужно, чтобы она работала
+
-
 
+
-
== Как это сделано лично у ГВ ==
+
-
=== Командная строка ===
+
-
Есть одна большая программа, которую надо много и сильно настраивать, и есть несколько небольших программ, и есть много небольших програм
+
-
# Выбор --- zsh. Ибо толще, чем bash. Главная причина --- bash собран с libreadline, которая местами сильно уступала zsh. Проблема readline --- ГК приходится много работать с разными машинами с разными типами терминала, и у каждого свои спецсимволы (например, для изменения типа символа, для которого используется специальная последовательность спецсимволов), и есть очень много типов терминалов, все разные. И возникла необходимость удобно настраивать редактор КС, чтобы оно работало на всех терминалов. На zsh это просто, ибо он лезет в базу терминалов. Настроены --- начало/конеч строки, слово вперёд/назад (по pgup/pgdn), и нестандартный autocompletition (insert). Это легко в zsh. В bash это надо делать большим конфигом, с параметрами для каждого терминала. Всякие вкусности: =ls => /bin/ls, при разных способах запуска исполняются разные файлы (старт/стопные профили).
+
-
 
+
-
Что касается не шелла, то надо настраивать .inputrc (?), у python есть свой .pythonrc.
+
-
 
+
-
Это всё личный выбор.
+
-
 
+
-
=== Терминал ===
+
-
Настройка терминальных програм. Ибо настройка терминала это не нужно.
+
-
 
+
-
Надо выбрать группу задач, которые будут решаться в терминальном режиме, то есть где графика не нужна, например, чтение почты (mutt). Его ГК основательно обнастроил, в частности, настроил интерфейс, путём вычитки куска соответствующего мануала: перекрасить. Написать несколько макросов, например, послать спам на ящик и скормить его спам-ассасину, и наоборот, ещё отметить все файлы со спам-рейтингом выше 6. Или ещё есть большой поток писем на george@po.cs.msu.su, и этот поток рассовывается по категориям. Ещё есть привязка к abook, ибо у мути нет принципиально своей адресной книги, зато можно посылать запросы адресной книге.
+
-
 
+
-
У ls есть одна настройка --- цвет файлов при выдаче файлов на экран. Есть lscolors, который по вменяемогу файлу раскраски генерит для ls переменную окружения.
+
-
 
+
-
mc. ГК не пользуется mc. Он используется в редких случаях, если нужно много архивировать-разархивировать
+
-
 
+
-
vim. Самое вылизанное приложение. В нём дикое количество количество настроек, и по всем есть справка. Естесственно, у ГК есть воя раскраска, в виме есть система тестирования и отладки, и для него есть набор команд, они неудобны, и ГК положил их на F7---F8, vim знает про абстракции F7---F8. Единственное что, в виме есть свой xterm.
+
-
 
+
-
lynx. Что-то там настраивал, отключение кэша.
+
-
 
+
-
=== Граф оболочка ===
+
-
Настройки Xorg
+
-
* Настройка переключения клавиатуры --- на клавишу вызова меню, но это штатная функция, раньше ГК сам её вковыривал
+
-
* Раскладка, которая после переключения на русские буквы, и в раскладке на шифтах цифры, а без шифта символы
+
-
* Ещё хочется специальные символы для кавычек, длинного тире
+
-
.xdefaults --- место для разных настроек для приложений. Там то простых настроек, до перегрухки любого свойства любого виджета. 80% у ГК занимает перекрашивание во все цвета.
+
-
 
+
-
Некоторые клавиатурные сокращения.
+
-
 
+
-
=== Рабочий стол ===
+
-
Window-manager --- ctwm. Это один из самых вторых wm. одним из самых мервых был twm, он достаточно много имел с одной стороны, и достаточно человекочитаемый конфиг с другой. ctwm --- twm с декораторами, у него такие трёхмерные рамки, и всякие фичи, готорых не хватало в детстве twm.
+
-
 
+
-
Он умеет много чего:
+
-
* Клавиатурные сокращения
+
-
* Таксбары
+
-
* Места для иконок
+
-
* Можно сделать много таскбаров (в зависимости от типа приложения)
+
-
Есть список программ, которые запускаются с клавиатуры. Есть, которые из меню. ГК считает, что меню должны быть глубиной не больше 1.
+
-
 
+
-
То, что сейчас является стандартным меню, которое категоризованно, это нужно только в том случае, когда неизвестно, как называется программа, а только помню, что там лягушка была.
+
-
 
+
-
Есть xtoolwait, которое запускается приложение в бэкграунди и ждёт, пока она зарегистрируется в иксах, и тут можно запускать вторую, которая может что-то делать с первой.
+
-
 
+
-
Ещё часы, которые ГК долго искал --- долны быть аналоговые, быть видны и занимать много места --- dclock, ужасно древнючая программа
+
-
 
+
-
Про ctwm --- ГК использует 4 workspace, и по типу заголовка, приложения, отправляется окно на соотв десктопа:
+
-
* Первое по умолчканию
+
-
* Второе для веба
+
-
* Третье для мкльтимедиа и офиса
+
-
* Четвёртое для рута
+
-
 
+
-
Не используется:
+
-
* картинки на экране
+
-
* Иконки
+
-
* Квикланчеров
+
-
* Документы на рабочем столе
+
-
* Не используется иконка с выпадающей менюшкой
+
-
 
+
-
=== Воспроизводимость ===
+
-
почему напрались на те вещи, которые настраиваются вручную --- потому что их можно забэкапить. если вы используете какой-то инструмент для настройки, то настройки фаерфокса нельзя так просто хранить. Для воспроизведения используется система контроля версий --- сначала CVS, после разных граблей перешёл к darcs.
+
-
 
+
-
{{Спецкурс по Linux, весна 2007}}
+
-
{{Lection-stub}}
+

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

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