Доступ к файлам на разделе Linux.

А вы это знаете? 1. Доступ к файлам на разделе Linux.
Есть такая программа explore2fs, которая позволяет получать доступ к файлам на разделе linux типа ext2. Вот адрес сайта, на котором можно узнать о ее возможностях и, конечно, скачать ее: http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm .

2. Получение информации о вашей X-Window системе.
probeonly
Существует много путей получения информации о вашем X. Популярным методом является использование probeonly. В консоли (без запущенного X) введите: X -probeonly 2> X.out.
Вывод X идет в stderr, поэтому надо его перенаправить в файл X.out при помощи "2> ". Этот файл, главным образом, содержит все, что нужно знать о X. Давайте же, посмотрите на него. Он до отказа набит полезной информацией. Важно знать разницу между следующими маркерами:
(--) — автоопределение;
(**) — из конфигурационного файла;
(==) — по умолчанию;
(++) — из командной строки;
(!!) — замечание;
(II) — информация;
(WW) — предупреждение;
(EE) — ошибка;
(??) — неизвестно.
Следует сказать, что если X уже запущен, вы должны сначала убить его, а уже после делать все остальное. Есть и другие способы получить информацию о X, к примеру, в некоторых дистрибутивах вывод при старте X идет в файл /var/log/Xfree86.0.log, таким образом, вам не придется прибегать к "-probeonly".

xvidtune
Эта программа придет на помощь, если ваш экран в X слишком сдвинут вправо или если вертикальный размер изображения слишком мал для вашего монитора. Однако, это еще и хороший инструмент для диагностики. Он сообщит вам:
— диапазоны вертикальной и горизонтальной разверток, заданные в вашем файле XF86Config;
— 4 числа для горизонтали и 4 числа для вертикали, которые определяют ваш видеорежим (первое для горизонтали и первое для вертикали дают разрешение экрана);
— "dot clock", на котором работает ваша видеокарта.

xwininfo
Эта программа дает вам все виды информации об окнах X. В действительности, "фоновое" или "корневое" окно рассматривается как обычное. Поэтому, когда xwininfo попросит вас кликнуть мышью на окне, о котором вы хотите получить информацию, кликните на фоне. Вам выведут такую информацию, как:
— разрешение экрана "Width" и "Height";
— глубина цвета "Depth".
— некоторые другие параметры, например "Window Gravity State", который показывает, где имеют тенденцию размещаться новые окна.

xdpyinfo
Эта программа показывает такую полезную информацию, как версию X и загруженные расширения (бесценно, если вам надо посмотреть, что отсутствует в вашей системе, скажем, GLX, DRI, XFree86-VidMode и т.п.).

glxinfo
Эта программа расскажет много полезного об OpenGL (используется ли direct rendering, версии установленных glx и mesa, строки vendor/renderer, используемые библиотеки GL и еще много чего).

3. Сайты, посвященные играм под Линукс.
Многие спрашивают, есть ли под Линукс их любимые игры, а многие вообще сомневаются, что под Линукс игры существуют. Для тех и других делаю микрообзор геймерских сайтов, посвященных играм для Линукс.

Сайты, посвященные играм
www.happypenguin.org — The Linux Game Tome: о самих играх.
www.linuxgames.com — новости игр для Linux.

Сайты компаний производителей игр
Loki Software www.lokigames.com — Как компания, создавшая quake3 для Linux, Loki является отцом игростроения в этой системе. Они были первыми и, кроме того, имеют на своем счету наибольшее число игр. Loki портирует игры в Linux.

Tribsoft www.tribsoft.com — Делают отличные rpg и симуляторы.
Им принадлежат игры Jagged Alliance 2, Europai Universalis, Majesty и Unfinished Business.
Hopkins FBI — www.hopkinsfbi.com
Terminus — www.vvisions.com/terminus/index2.html
Phantom EFX — www.phantomefx.com
Theocracy — www.theocracy.com

Сайты об играх, достойные внимания
www.linuxquake.com, www.planetquake.com/linux — Linux сайты о шутерах от первого лица.
www.quakeforge.net — достижения в Quake I для Linux.
www.lhl.linuxgames.com — Half-life в Linux.
www.tuxaqfh.sourceforge.net — Tux: A Quest For Herring.

Другие сайты
www.mesa3d.org — сайт Mesa.
www.xfree86.org — сайт XFree86.
www.libsdl.org — сайт SDL.

Конечно, гораздо проще заставить работать "родной" код, но для программ, которые никогда не будут портированы в Linux, всегда есть эмуляция: www.dosemu.org — сайт DosEmu (Dos Emulator).
www.winehq.org — cайт Wine (Windows Emulator).
www.transgaming.com — работают над улучшением поддержки DirectX в проекте Wine.

4. Режимы работы XFree.
В системе Xfree каждый режим работы монитора может описываться в файле XF86config в таком формате:
Modeline "mode_name" D H1 H2 H3 H4 V1 V2 V3 V4 Flags
Modeline — это ключевое слово, означающее, что мы описываем видеорежим. Можно использовать развернутое описание, начинающееся со слова Mode, но оно, с моей точки зрения, ничего, кроме увеличения числа строк, не дает. "mode_name" — название видеорежима в кавычках. Не стоит писать здесь ерунду, псевдографику или русские буквы. "Mode_name" используется в качестве ссылки на имя режима в Section "Screen", Subsection "Display", Modes "mode_name". Режимы устанавливаются в порядке перечисления. Когда вы заводите новый режим, то назовите его "test" и включите в Modes, например так:
Modes "test" "640x480" "800x600"
D — частота тактового генератора, или, если точнее, частота выдачи точек на монитор. Это число выражается в мегагерцах и может быть вещественным. Давным-давно эта частота соответствовала частоте одного из кварцевых генераторов на вашем видеоадаптере. Сейчас используются синтезаторы частоты, приборы с зарядовой связью и прочие чудеса техники, позволяющие формировать точки на экране существенно быстрее, чем частота кварца в вашем адаптере. Однако в любом случае мы должны действовать так, как будто именно с этой частотой адаптер работает внутри себя и выдает точки на экран.
H1..4 — четыре числа, отвечающие за горизонтальную развертку, то есть за строчную синхронизацию.
V1..4 — четыре числа, отвечающие за вертикальную развертку, то есть за кадровую синхронизацию.
Flags — флаги, задающие тонкости развертки. К сожалению, числа, отвечающие за развертку, выбраны так, чтобы их было удобно запихивать в видеоадаптер, а вовсе не воспринимать человеку. Разберемся с ними сначала на примере строчной синхронизации. Представим себе, что только что кончился импульс синхронизации и монитор начал двигать луч слева направо. Один тик соответствует частоте тактового генератора — параметру D.
Через K тиков тактового генератора видеокарта начала выдавать картинку. И выдавала ее L тиков (то есть L точек изобразились на экране). Затем через M тиков карта подождала и выдала строчный синхроимпульс, который длился N тиков. По началу строчного синхроимпульса монитор начал обратный ход развертки и через некоторое время (какое-то, не обязательно N или еще что-то) его закончил.
Так вот, для формирования такой временной диаграммы необходимо задать следующие параметры:
H1 = L
H2 = L + M
H3 = L + M + N
H4 = L + M + N + K
Иначе говоря, H1 — это количество точек, изображаемых в одной строке на экране, то есть ширина экрана в тиках тактового генератора. H2 — расстояние в тиках между началом картинки и началом синхроимпульса. H3 — расстояние в тиках между началом картинки и концом синхроимпульса. H4 — полная длина одной строки в тиках.
Это означает, что частота строк равна частоте тактового генератора D, поделенной на общее количество тиков в одной строке H4.
Для кадровой развертки в качестве тика используется частота строк, иначе говоря:
V1 — количество строк, отображаемых в одном кадре, V2 — количество строк от начала кадра до начала кадрового синхроимпульса, V3 — от начала кадра до конца кадрового синхроимпульса, V4 — общее количество строк в кадре.
Таким образом, частота кадров определяется как частота тактового генератора D поделить на общее количество тиков в строке H4 поделить на общее количество строк V4.
Начнем рассчитывать реальные числа. Возьмем желаемую частоту кадров, к примеру 72 Hz.
Если наш монитор позволяет вытянуть 64 KHz строчной частоты, то это значит, что V4 можно принять равным 64000/72 = 888. Для выполнения обратного хода по кадрам обычно достаточно принять V2 = V1 + 1 и V3 = V2 + 1. Тогда обратный ход кадровой развертки будет выполняться сразу после окончания кадра. Длительность хода кадровой развертки обычно около 5..10 строк. Примем V1=880, V2=881, V3=882. Если мы ошибемся в кадровой развертке, то обычно это проявится только как "загнутость" или неравномерность верхних строчек.
Теперь посмотрим, что можно сделать с H. Если мы хотим, чтобы картинка соответствовала пропорции экрана 3x4, то H должно быть порядка 1200. Здесь есть одна тонкость, про которую не нужно забывать, а именно: H1 должна делиться на 2 в n-й степени. Значения H2, H3, H4 также обычно должны делиться по крайней мере на 8. Обратный ход строки составляет примерно 2..5% от длины развертки. Для надежности выберем H1 из ряда 960, 1024, 1088, 1152, 1216, 1280, например 1152. Итак пусть H1=1152, H2=1168, H3=1184, H4=1248.
При этом D = 72Hz * V4 * H4 = 72Hz * 888 * 1248 = 79.8 MHz.
Если такой частоты в линейке частот нет, то нужно установить ближайшую. Если ближайшая расположена не очень близко, то надо пересчитать числа, исходя из частоты тактового генератора и частоты строк. Учтите, что увеличить частоту кадров можно всегда, просто уменьшив количество строк в кадре, а вот изменение в количестве точек в строке всегда болезненная процедура.
Итого записываем в XF86config:
Modeline "test" 79.8 1152 1168 1184 1248 882 883 884 888
Не забываем оформить секцию Screen:
Subsection "Display"
Depth 8
Modes "test" "640x480"
"800x600" "1024x768"
ViewPort 0 0
EndSubsection
Запускаем Xы. Рассматриваем экран на тему загибающихся краев, подергивающейся синхронизации, etc. Если синхронизации вообще нет, то нужно попробовать поиграть флагами +hsync, -hsync, +vsync, -vsync.

5. Каталог /var.
Этот каталог содержит файлы, изменяемые при нормально работающей системе. Она специфична для каждого компьютера и не может быть разделена в сети между несколькими машинами.
/var/catman — временный каталог для форматируемых страниц руководств. Источником этих страниц является каталог /usr/man/man*. Некоторые руководства поставляются в отформатированном виде. Они располагаются в /usr/man/cat*. Остальные руководства перед просмотром должны быть отформатированы. Затем они помещаются в каталог /var/man и при повторном просмотре в форматировании не нуждаются.
/var/lib — файлы, изменяемые при нормальном функционировании системы.
/var/local — изменяемые данные для программ, установленных в /usr/local.
/var/lock — файлы-защелки. Многие программы при обращении к какому-либо файлу устройства создают здесь файл-защелку. Другие программы при обращении к какому-либо устройству сначала проверяют наличие файла-защелки в этом каталоге, а затем уже производят доступ к этому устройству.
/var/log — журнальные файлы различных программ, в особенности login (/var/log/wtmр, куда записываются все подключения и выходы из системы) и syslog (/var/log/messages, где обычно хранятся все сообщения ядра и системных программ).
/var/run — файлы, информация в которых соответствует действительности только до очередной перезагрузки системы. Например, файл /var/run/utmр содержит информацию о пользователях, подключенных к системе в данный момент.
/var/sрool — каталоги, используемые для хранения почты, новостей, очереди для принтера и других задач. Для каждой задачи существует отдельный каталог в /var/sрool, например, почтовые ящики пользователей хранятся в /var/sрool/mail.
/var/tmр — каталог для временных файлов, размер которых достаточно велик или время существования которых больше, чем в /tmр.

6. Вход в систему. Программа login.
Программа login производит идентификацию пользователя (проверяет соответствие пароля и имени пользователя) и устанавливает начальную оболочку пользователя путем изменения прав доступа для последовательной линии и запуском программы оболочки. Частью начальной установки является вывод на экран содержимого файла /etc/motd (сокращение от Message Of The Day — сообщение дня) и проверка электронной почты. Это можно запретить, создав файл .hushlogin в личном каталоге. Если существует файл /etc/nologin, то запрещаются все подключения к системе. Этот файл обычно создается такими программами, как shutdown, и им подобными. Программа login проверяет наличие этого файла; если он существует, то соединение прерывается. Если файл не пустой, то перед выходом на терминал выводится его содержимое.
Login записывает все неудачные попытки подключения к системе в системный журнальный файл (с помощью процесса syslog). Туда также помещается информация о подключении к системе пользователя root.
Список пользователей, подключенных к системе в данный момент, находится в файле /var/run/utmр. Здесь располагается информация о пользователе и имени терминала (или сетевого соединения), который он использует, а также другая полезная информация. Программы who, w и им подобные используют этот файл для получения списка пользователей, подключенных к системе. Все успешные подключения к системе записываются в файл /var/log/wtmр. Объем этого файла может расти без предела, поэтому он должен периодически удаляться, например, с использованием процесса cron и установленной в нем задачи, выполняемой каждую неделю. Команда last использует файл wtmр. Оба эти файла (utmр и wtmр) хранятся в двоичном формате и не доступны для просмотра без специальных программных средств.

X-Stranger
xstranger@tut.by


(c) компьютерная газета




Компьютерная газета. Статья была опубликована в номере 27 за 2001 год в рубрике soft :: linux

©1997-2024 Компьютерная газета