Идеология иксов и многие базовые вещи без привязки к 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. Скажем, у нас имеется строчка:
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525Какая здесь сейчас установлена частота развертки?
Ответ: 25175000/800/525=59,9 Гц.
Т.е. необходимо первую цифру, умноженную на миллион, разделить на пятую и на последнюю. Соответственно, как получить требуемые нам, например, 120 Гц?
Ответ: 800x525x120/1000000=50,4
Соответственно, результирующая строчка:
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:
x:5:respawn:/etc/X11/xdm -nodaemonПоэтому там же нужно поменять runlevel по умолчанию:
id:3:initdefault:В Red Hat display manager грузится на пятом runlevel, а обычный "текстовый" runlevel - 3, в других дистрибутивах это может быть не так. Изучите содержимое /etc/inittab, прочтите man inittab и действуйте по обстоятельствам.
Display manager можно использовать не только для запуска и управления локальными X серверами, но и для входа в систему и работы с удаленных икс-серверов через сеть. Для общения с xdm X сервер должен поддерживать протокол xdmcp. Серверы XFree в этом случае нужно запускать с такими ключами:
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. Поэтому для качественного воспроизведения мпегов необходимы следующие условия: