Текущая версия |
Ваш текст |
Строка 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}}
| + | |