Идеология иксов и многие базовые вещи без привязки к Window Manager-ам
и интегрированным средам хорошо описаны на http://ep2-ts2.inp.nsk.su/lecture/
Поискать название вашей карточки в http://www.xfree86.org/FAQ/
или /usr/X11R6/lib/X11/doc/
Взять последнюю версию иксов, собранную производителем вашего дистрибутива,
или, если производитель ее еще не собрал, то на ftp://ftp.xfree86.org.
Стоит сперва ограничиться _только_сервером_ под эту самую карточку,
и, как правило, лучше на этом и остановиться (вот если он работает,
но ищет конфиги где-нибудь не там, где они у вас лежат - можно подумать
о замене всего остального.) Hамек: если вы не видите сервера с именем
вашей карты - проверьте, не поддерживает ли ее сервер SVGA. Он не так
прост, как можно подумать по названию. В XFree 4 остался единственный
сервер, а поддержка конкретных карточек вынесена в подгружаемые модули.
Поэтому (теоретически), если у вас четвертые иксы, то нужно найти только
модуль для вашей карточки.
По идее, если вы правильно указали максимальные возможности вашего
монитора в утилите настройки иксов (xf86config, XF86Setup, Xconfigurator),
то эта утилита должна сама прописать в файле конфигурации ModeLine,
выжимающий максимум из вашего монитора. Если вы не хотите полагаться
на ее интеллект, то можно посмотреть готовые стандартные Modeline через
strings `which xf86setup` и найти подходящую. Если по каким-то причинам
с этой ModeLine возникают проблемы, то воспользуйтесь советом от Alexei
Dets:
Для начала находите Modeline с требуемым вам разрешением, но не устраивающей
вас частотой, т.е. слишком низкой, например. Hайти такую строчку можно,
например, в XF86Config, сгенеренным инсталлятором дистрибутива.
Проверяете работоспособность данного видеорежима на вашем мониторе.
Если видеорежим устанавливается, пусть даже с некоторым смещением картинки
от центра экрана, чуть-чуть другим размером и т.п. можно идти дальше.
Иначе рекомендуется выбрать другую Modeline или подогнать эту при помощи
xvidtune. Скажем, у нас имеется строчка:
pre>
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Какая здесь сейчас установлена частота развертки?
Ответ: 25175000/800/525=59,9 Гц.
Т.е. необходимо первую цифру, умноженную на миллион, разделить на пятую
и на последнюю. Соответственно, как получить требуемые нам, например,
120 Гц?
Ответ: 800x525x120/1000000=50,4
Соответственно, результирующая строчка:
pre>
Modeline "640x480" 50.4 640 664 760 800 480 491 493 525
Можете пробовать :-) Скорее всего, картинка будет неправильно центрирована
и будет иметь неверный размер, но это легко лечится при помощи xvidtune.
Полученная при помощи него строчка будет уже окончательной. Владельцы
современных мониторов могут просто подстроить размеры и центровку из меню
:-)
Примечание: все данное "шаманство" подробно объяснено в /usr/X11R6/lib/X11/doc/VideoModes.doc
или на русском в http://knot.pu.ru/faq/xfaq.html.
Примечание 2 от Alex Kanavin: в XFree86 4.x произошли некоторые изменения.
Во-первых, в X cервере теперь определен набор стандартных VESA режимов,
из которых подбирается оптимальный, исходя из параметров конфигурационного
файла HorizSync и VertRefresh. То есть очень возможно, что вы получите
наилучший результат, вовсе не прописывая ModeLine в конфиге, но только
если интересующая вас частота развертки - одна из 60, 70, 75, 85 Hz.
Имена у этих режимов традиционные - "640x480" и т.д., вплоть до "1920x1444"
:-)
Во-вторых, в будущем X сервер сможет получать информацию о возможностях
монитора непосредственно от него самого через VESA DDC. Для некоторых
чипсетов она печатается при загрузке сервера, но пока не используется.
Неясно также, как можно будет выбирать из режимов с одинаковым разрешением,
не полагаясь на интеллект сервера.
При работающем X сервере уже не переключиться, но можно запустить рядышком
еще один - если это XFree, а не какой-нибудь коммерческий сервер (через
startx -- :1 -bpp 8 или добавив аналогичную строку в /etc/X11/xdm/Xserver,
если используется xdm). В XFree 4 глубину цвета можно переключать на
лету через DGA2, но подробности пока неизвестны.
( Alec Voropay, Alex Kanavin, Alexander
Pevzner)
В системе X Window понятия "клиент" и "сервер" кажутся перепутанными.
В действительности, никакого противоречия тут нет.
Весь вопрос лишь в том, что такое "cервер" ? Возмем например print-server
или file-server. Это какое-то устройство для коллективного использования
"ресурса". Например, единственный print-server на организацию.
Так вот когда-то давно (лет 30 назад ;) комплект из цветного дисплея
и памяти на 256К был страшно дорогой игрушкой :-) и обслуживал кучу
программ. Это и был display-server или, в комплекте с мышью и клавиатурой,
X-server.
Таким образом, X-server - это программа для управления Video-подсистемой,
мышью и клавиатурой и выполняющая команды типа "нарисовать красную точку"
или "вывести букву А фонтом Arial". Существует куча X-Server-ов : cвободные
XFree86, коммерческие AcceleratedX, под MS Windows : eXceed, X-Win,
под VAX VMS и даже в виде отдельных железок c дисплеем : NCD, Tatung
(их еще называют X-Terminal).
Таким образом, пользовательские программы, например Netscape - это
"X-клиенты", которые обращаются к "X-серверу" для отображения и ввода.
Связь между X-сервером и X-клиентом может быть по TCP/IP, по Unix-Socket,
по IPX или даже по COM-порту. Поддержка конкретных способов связи зависит
от реализации серверов и клиентских библиотек, например XFree знает
только про первые два способа и еще DECNet.
Всякая X-программа ("X-клиент") сначала должна уcтановить соединение
с X-сервером. Его местонахождение X-клиент узнает через переменную окружения
DISPLAY= или ключ в командной строке. Один X-сервер может обслуживать
множество программ, работающих на разных хостах. Как наиболее простой
случай, все они, и X-сервер и Х-программы работают на одном и том же
компьютере.
Обычные, "консольные" (алфавитно-цифровые) программы тоже можно запустить
под X, через эмулятор терминала (например xterm, rxvt, eterm e.t.c.).
Это специальная X-программа, которая с одной стороны работает как эмулятор
терминала:), отрисовывает символы и отрабатывает ESC-последовательности,
а с другой стороны представляется как обычный терминальный порт (через
псевдотерминалы ptyXX).
Cледует заметить, что с точки зрения системы нет разницы между иксовыми
и обычными программами. И те и другие используют один и тот же набор
системных вызовов. Разница же упрятана в библиотеку XLib, с которой
слинкованы иксовые программы, - именно она устанавливает связь с X сервером,
посылает ему команды, принимает ответы итд. Кроме того, некоторые программы
(emacs, например) могут работать как через X сервер, так и без него
(через обычный терминал).
Да, Ctrl-Alt-F# (из иксов в текстовый режим) или Alt-F# (обратно, только
нужно найти первую свободную от getty консоль, обычно седьмую).
man XF86Config на предмет DefaultColorDepth
Нужно запустить (запретить запуск) Display Manager, например xdm (поставляется
с cамими иксами), gdm (из GNOME), kdm (из KDE). Он может запускаться
из rc скриптов или как сервис SysV, но чаще всего его прописывают в
/etc/inittab:
pre>
x:5:respawn:/etc/X11/xdm -nodaemon
Поэтому там же нужно поменять runlevel по умолчанию:
pre>
id:3:initdefault:
В Red Hat display manager грузится на пятом runlevel, а обычный "текстовый"
runlevel - 3, в других дистрибутивах это может быть не так. Изучите содержимое
/etc/inittab, прочтите man inittab и действуйте по обстоятельствам.
Display manager можно использовать не только для запуска и управления
локальными X серверами, но и для входа в систему и работы с удаленных
икс-серверов через сеть. Для общения с xdm X сервер должен поддерживать
протокол xdmcp. Серверы XFree в этом случае нужно запускать с такими
ключами:
- X -query host - простой запрос на host по xdmcp (иначе говоря,
X сервер выясняет, готов ли xdm на host-е вывести окошко с полями
для ввода логина и пароля и если готов, то просит его сделать именно
это).
- X -indirect host - "непрямой" запрос на host (то есть, X сервер
просит xdm на host-е сделать запрос на все известные ему хосты, где
установлен xdm. xdm в этом случае может либо просто опросить их (в
частности, себя) и больше ничего не делать, поскольку X сервер сам
сформирует список ответивших ему хостов и выдаст его пользователю,
либо запустить т.н. chooser, который сформирует этот список и выдаст
его на экран X сервера, подсоединившись к нему, как обычный X клиент.
В случае использования серверов XFree годится только второй вариант
и конфигурировать xdm надо именно так. Затем, так или иначе, пользователь
выбирает интересующий его хост и туда делается простой запрос).
- X -broadcast - широковещательный xdmcp запрос в сеть, с первым
ответившим xdm устанавливается такая же сессия, как и в случае простого
запроса. В других реализациях (не XFree) X сервер может, как и в предыдущем
случае, выдать пользователю список ответивших хостов.
Подробности в XDM-Xterm mini-HOWTO, man xdm, а также по следующим URL:
http://ep2-ts2.inp.nsk.su/lecture/
и
http://www.iae.lt/visaginas/home/kazanov/koi8/Articles/X-Terminals.htm.
http://xwinman.org
http://www.themes.org
Hаиболее оптимальным решением является установка патченого XFree86
со встроенной поддержкой TrueType шрифтов либо установка XFree 4, где
такая поддержка имеется "из коробки". В последнее время большинство
дистрибутивов поставляется именно с таким вариантом XFree. Вы можете
и сами собрать для себе патченные X-сервер и фонт-сервер, для этого
вам необходим набор патчей xfsft ( http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/).
Единственным отличием TrueType шрифтов от остальных в данном случае
является то, что файл fonts.dir генерится при помощи программы ttmkfdir,
а не mkfontdir. Более подробная информация - на http://www.xfree86.org/4.0.1/fonts.html
В случае, если у вас нет возможности или желания доставать новый X-сервер
или исходники XFree, то неплохим вариантом является использование сервера
шрифтов xfstt. Подробная документация по его использованию есть в его
исходниках или, на русском, по адресу http://visaginas.is.lt/~evgeny/koi8/Articles/xfstt_1.html.
Hедостатком данного подхода является отсутствие поддержки fonts.alias.
Оба варианта отлично работают как с обычными, так и с юникодными TrueType
шрифтами.
Есть. Cмотрите сюда: http://www.xfree86.org/~keithp/render/.
Попробуйте запустить top во время проигрывания - увидите, что очень
много ресурсов отъедают сами иксы, то есть программно выполняется гораздо
больше операций чем в Windows. Дело в том, что до недавнего времени
в иксах отсутствовала поддержка совершенно необходимых для качественного
воспроизведения видео вещей - прямого доступа к видеопамяти, аппаратного
масштабирования, сглаживания и преобразования цветового простарнства.
В XFree 4 появились расширения, обеспечивающие эти функции - DGA2 и
Xv. Поэтому для качественного воспроизведения мпегов необходимы следующие
условия:
- XFree86 4.0 или более новая версия
- Видеокарточка, драйвер которой поддерживает Xv и DGA2.
- Проигрыватель и используемая им видеобиблиотека с поддержкой Xv/DGA2.
Последние версии SDL, smpeg, mplayer, xine, avifile эти расширения
поддерживают. Попробуйте эти продукты, выберите то, что вас устраивает
в набольшей степени.
(данный ответ не претендует на истину в последней инстанции, пожалуйста
уточните его, если Вы в большей степени в курсе дела)