| Image:Obsolete.svg | Содержимое этой статьи сильно устарело. |
http://www.linuxcenter.ru/lib/articles/soft/x_fixed_err.phtml
Проверьте у себя в файле конфигурации X-сервера (/etc/X11/xorg.conf) наличие следующих строчек в Section "Module":
Load "extmod" SubSection "extmod" Option "omit xfree86-dga" EndSubSection
Если их нет, вставьте и попробуйте запустить еще раз. Все должно работать.
В современных дистрибутивах обычно более-менее правильные настройки доступны из коробки. В файле настроек (/etc/X11/xorg.conf) нужно указать настройки своей клавиатуры. Для примера возьмем переключение по Ctrl+Shift двух языков (en, ru) с включением scroll lock на русской раскладке:
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru(winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection
В последних версиях Xorg (где xkeyboard-config версий 1.2 и выше) winkeys больше не нужен, он стал вариантом по умолчанию.
Теперь непосредственно рассмотрим переключатель. Во всех примерах по умолчанию стоит английский. Переключатель описывается в последней строке. Для того, чтобы переключаться по ctrl+shift указывается параметр ctrl_shift_toggle, по alt+shift - параметр alt_shift_toggle. Значение grp_led:scroll говорит о том, что после переключения будет загораться индикатор scroll lock.
Пример с переключением трех языков (взято с http://lafox.net/docs/MDKman2/MDKman.html/ch02s02.html):
Section "InputDevice" Identifier "Keyboard1" Driver "Keyboard" Option "XkbModel" "pc105" #тут оставить свое Option "XkbLayout" "us,ru(winkeys),ua(winkeys)" #для 3-х языков - Английского, Русского и Украинского Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" #в качестве индикатора будет ScrollLock, а переключение раскладок по привычной комбинации Ctrl+Shift EndSection
После внесения изменений X-сервер нужно перезапустить.
Общее замечание. Для того, чтобы все это работало должна быть верно настроена локаль.
Для более гибкой настройки можно использовать xxkb ( http://netadmin1.ic.tsu.ru/other/xxkb/, http://gnome.org.ru/xxkb.shtml). xxkb имеет достаточно богатые настройки по управлению раскладками и, в частности, настройки совместимости со средой - он может "висеть" на каждом (поддерживаются исключения) окне или только на активном в виде переключателя в указанном месте, может находится в трее KDE и Gnome, правда иконка в трее появляется из главного окна, которая слишком большая. Вместо файлов en48.xpm и ru.48.xpm нужно записать файлы с иконками поменьше, в качестве временной меры можно заменить их на en15.xpm и ru15.xpm.
В среде Gnome для переключения раскладок используется апплет Keyboard Indicator. В отличии от аналогов для других DE он не нуждается в наличии настроек в xorg.conf.
В среде KDE вместо xxkb лучше использовать kkbswitch, если нужен лишь индикатор и возможность каждому окну сохранять свою раскладку.
setxkbmap -layout 'us,ru(winkeys)' -option 'grp:ctrl_shift_toggle,grp_led:scroll'
В KDE 3.5 это можно сделать через KDE Control Center - http://wiki.linux.ru/index.php/FAQ:kxkb
Штатными средствами X-сервера этого сделать нельзя. Придется ставить xxkb. Далее по его руководству настраиваете себе переключатель как хотите.
Приходится выносить этот вопрос отдельно
Option "XkbOptions" "grp:menu_toggle"
(вместо "menu" - "Super_L"/"Super_R")
Поскольку раскладки трех языков (русского, украинского, беларусского) отличаются на небольшое число символов, то идея объединить все раскладки в одну появляется сама собой.
Мне известно два пути решения: через level3 и через compose.
level3:
level3 позволяет набирать альтернативные символы с помощью удержания level3 модификатора (к примеру, win-кнопки). Для этого:
1. Создаем на основе, например, русской раскладки свою:
cd /usr/X11R6/share/X11/xkb/symbols cp ru cyr
2. Редактируем в любимом текстовом редакторе:
2.1. Модифицируем секцию xkb_symbols "basic"
key <TLDE> { [ apostrophe, asciitilde, Cyrillic_io, Cyrillic_IO ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, Byelorussian_shortu, Byelorussian_SHORTU ] };
key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ] };
key <BKSL> { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
2.2. В конце секции вставляем
include "level3(lwin_switch)"
Т.е. символы будут получаться при зажатой левой win-кнопке.
2.3. В остальных секциях меняем первую команду с include "ru(<что-то>)" на include "cyr(<что-то>)".
3. Добавляем нашу раскладку в список раскладок (/usr/X11R6/share/X11/xkb/symbols.dir):
-dp----- a------- ru(basic) --p----- a------- ru(winkeys) --p----- a------- ru(typewriter)
Строчек может быть больше, в зависимости от того, какие модификации были оставлены в файле раскладок.
4. Включаем, тестируем:
setxkbmap -layout 'us,cyr'
5. Добавляем раскладку в настройки X-сервера и наслаждаемся.
compose:
1. Создаем файл ~/.XCompose с таким содержимым:
include "/usr/X11R6/share/X11/locale/en_US.UTF-8/Compose" <Multi_key> <Cyrillic_yeru> <Cyrillic_yeru> : "і" U0456 <Multi_key> <Cyrillic_YERU> <Cyrillic_YERU> : "І" U0406 <Multi_key> <Cyrillic_hardsign> <Cyrillic_hardsign> : "ї" U0457 <Multi_key> <Cyrillic_HARDSIGN> <Cyrillic_HARDSIGN> : "Ї" U0407 <Multi_key> <Cyrillic_e> <Cyrillic_e> : "є" U0454 <Multi_key> <Cyrillic_E> <Cyrillic_E> : "Є" U0404 <Multi_key> <backslash> <backslash> : "ґ" U0491 <Multi_key> <bar> <bar> : "Ґ" U0490 <Multu_key> <Cyrillic_shcha> <Cyrillic_shcha> : "ў" 045E <Multu_key> <Cyrillic_SHCHA> <Cyrillic_SHCHA> : "Ў" 040E
Таким образом, для того, чтобы набрать нужный символ, нужно нажать сначала compose кнопку (обычно menu-кнопка), а потом дважды на кнопку требуемоего символа.
2. Перегружаем X-сервер, наслаждаемся.
Нужно прописать в конфигурационном файле X-сервера нечто такое:
Section "Monitor" Identifier "My Monitor" HorizSync 31.5 - 79.0 VertRefresh 50-90 EndSection
HorizSync и VertRefresh нужно взять из книжки к монитору.
Если это способ по каким-либо причинам не устраивает, можно вычислить нужную modeline и прописать ее.
Узнать нужную modeline можно с помощью стандартной утилиты gtf, KDE'шной kvideogen, http://www.dynaweb.hu/opensource/videogen videogen], и прочих. Или on-line калькулятора - http://koala.ilog.fr/cgi-bin/nph-colas-modelines
Например:
user@linux# gtf 1024 768 85
выдаст
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz Modeline "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
Полученную строчку нужно прописать в xorg.conf в раздел Monitor, чтобы получилось примерно так:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "CTX5378" DisplaySize 330 250 HorizSync 30.0 - 72.0 VertRefresh 50.0 - 130.0 ModeLine "1152x864" 108.0 1152 1200 1328 1528 864 865 868 904 +hsync +vsync ModeLine "1024x768" 94.5 1024 1076 1172 1372 768 769 772 812 +hsync +vsync ModeLine "800x600" 56.3 800 832 896 1032 600 601 604 619 +hsync +vsync ModeLine "640x480" 36.0 640 712 768 808 480 485 488 525 -hsync -vsync ModeLine "400x300" 28.1 400 412 444 508 300 304 306 327 +hsync +vsync doublescan ModeLine "320x200" 15.8 320 360 392 396 200 204 206 222 -hsync +vsync doublescan Modeline "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync Option "dpms" EndSection
После перезапуска X-сервера можно провести тонкую настройку (чтобы края не вылезали и т.п.) программой xvidtune - заходим в консоль, делаем xvidtune, когда нам все понравится, делаем apply и получаем в консоли исправленную строчку для modline. Ее записываем вместо первоначальной.
Х-сервер перезапустили? Тогда читаем вот этот вопрос, точнее его конец об именовании моделайнов.
Зато есть 24-битная, по восемь бит на каждый канал из RGB, а больше всё равно ваш монитор не умеет. И четвёртый канал для значения прозрачности не поможет вашему дисплею отобразить кусок стенки за ним. 32-битная адресация включается на уровне драйверов автоматически.
Нигде. Если вы не в курсе, в "драйверах для монитора" для Windows обычно пишутся его рабочие частоты (которые современные мониторы и так отдают операционной системе с помощью EDID) иногда рабочую температуру цвета, цветовые профили.
Кстати, если вы думаете, что у вас нельзя поставить 100Гц вместо 85Гц из-за того, что у вас отсутствуют данные драйверы, то вы ошибаетесь. Виноват драйвер видеокарты (например, такое наблюдается на картах S3).
В новых версиях Xorg достаточно скопировать шрифты в ~/.fonts (только для пользователя) или /usr/share/fonts (для всех). Они будут доступны для GTK2 и QT приложений без перезапуска Х-сервера.
Выгрузить X-сервер можно нажав ctrl+alt+backspace, если вы грузили их с помощью startx (т.е. система грузилась по сценарию загрузки 3, известному под названиями init 3 или runlevel 3).
Если же используется Display Manager (kdm, gdm, xdm, etc), то достаточно остановить соответствующий демон:
root@linux# /etc/init.d/kdm stop
В различных дистрибутивах это может быть /etc/rc.d/ вместо /etc/init.d
Альтернативный способ это выполнить от рута /sbin/telinit 3, перейдя из runlevel 5 в runlevel 3. Обратно вернуться можно командой /sbin/telinit 5
Чтобы при загрузке система не загружалась в графический режим, нужно в /etc/inittab выбрать другой сценарий загрузки (runlevel). Графический режим - это 5 runlevel (в Slackware - 4), а текстовый - 3 (в Debian - 2).
Для этого находим строчку
/etc/inittab: id:N:initdefault:
где N - номер режима загрузки и меняем на '3' или '2' (текстовый). Не забудьте, что после этого будут грузиться сервисы, указанные в /etc/rc3.d, а не /etc/rc5.d (это для RedHat).
см. /etc/X11/xorg.conf на предмет опции dpms в секции Monitor
Командой startx -- :N, где N - номер сервера. Нумерация начинается с нуля и если один сервер уже запущен, то он, скорее всего, имеет нулевой номер.
Сначала рассмотрим простой вариант - обе машины работают под управлением Linux.
Назовем компьютер, с которого вы хотите запустить программу и ресурсами которого вы хотите пользоваться сервером и компьютер, на котором будет отображаться программа, рабочей станцией.
На сервере должен быть установлен и запущен openssh. Тогда вы в терминале своей рабочей станции пишете:
user@workstation$ xhost +server
и логинитесь на сервер по ssh:
user@workstation$ ssh server -l user
Затем после логина пишете в терминале (для ssh можно не писать, переменная выставляется автоматом):
user@server$ export DISPLAY=workstation:0.0
После можете запускать программы с сервера - все должно работать.
Теперь рассмотрим вариант сложнее: Linux - сервер, MS Windows - клиент.
Это сделать очень легко. Ставим Cygwin, в них поднимаем X-сервер (это делается выбором софта во время установки). К X-серверу дополнительно ставится пакет OpenSSH. Далее на машине с Linux запускается демон openssh.
Далее в запущенном в Cygwin X-сервере, в консоли набираем:
ssh -Y -l username remote_hostname_or_ip_address
логинимся на машину с Linux и все работает.
Можно из под MS Windows использовать putty совместно с cygwin. Зачем это надо не знаю :-), но что бы из putty запускать иксовые приложения, необходимо сделать следущее: указываем в hostname IP адрес linux-машины и в Connection-->SSH->Tunnels отмечаем чекбокс Enable X11 forwarding. Коннектимся и просто запускаем X приложения. Всё.
Для этого на машине, с которой вы собираетесь запускать X-сервер, должен работать xdm (или его ориентированные под kde и gnome аналоги - kdm и gdm). Вам придется или запустить его вручную или сервер (машина с которой мы будем запускать X-сервер) должна изначально грузиться в графический режим (runlevel 5)
Теперь на сервере надо привести в соответствие следующие файлы:
/etc/xdm/Xaccess здесь мы ничего не меняем * CHOOSER BROADCAST #any indirect host can get a chooser /etc/xdm/Xservers здесь мы ничего не меняем :0 local /usr/X11R6/bin/X /etc/xdm/xdm-config меняем одну строчку (ставим перед ней !) ! DisplayManager.requestPort: 0 /etc/xmd/kdmrc меняем один параметр (ставим true) # Whether KDM should listen to XDMCP requests. Default is true. Enable=true
X-сервер на клиенте запускается командой
user@localhost$ X --query server_with_xdm
Вот хорошая статья на эту тему http://linuxportal.ru/entry.php/P1318_0_3_0/
Можно - воспользуйтесь Xnest и переопределите для новых иксов переменную DISPLAY=":1"
Для чего это нужно? Например, для запуска игр, не работающих в оконном режиме.
Ответ есть тут
Настройка мультимониторной конфигурации. Автор Вадим Лихота
Оно уже устарело, но при желании можно адаптировать под современные дистрибутивы
Можно использовать планировщик заданий at. Например так:
DISPLAY=:0 at ktorrent 0220
Это запустит приложение ktorrent в 02:20
В рабочей среде KDE существует графическая программа для запуска программ по времени - kalarm.
В /etc/X11/app-defaults
Для того, чтобы настроить их под конкретного пользователя нужно в файле ~/.Xdefaults или ~/.Xresources прописать свои параметры
Добавить в ~/.Xresources:
XTerm*eightBitInput: false XTerm*metaSendsEscape: true
Нужно добавить в /etc/X11/xorg.conf такие строчки:
Section "DRI"
Mode 0666
EndSection
или если надо ограничить доступ только одной группе (users в данном случае)
Section "DRI"
Group users
Mode 0660
EndSection
http://linuxportal.ru/entry.php/P12_0_3_0
Этот документ должен помочь - http://forall.ru-board.com/Demetrio/lor/imwheel.txt
http://www.ibm.com/developerworks/opensource/library/os-touchpad/
xset m Х
где Х - желаемая скорость (обычно 4-6)
Можно задать скорость сразу в конфигурационном файле в разделе Section "Pointer":
Resolution число
Разрешение задается в точках на дюйм - чем меньше число, тем медленнее будет перемещаться указатель мыши.
Нужно добавить или закомментировать в xorg.conf следующую секцию:
Section "Extensions" Option "Composite" "true" Option "RENDER" "true" EndSection
В последних версиях Xorg Composite включен по умолчанию.
1. Скачиваем драйвер с сайта, http://www.nvidia.com/object/linux.html
2. Устанавливаем все необходимое для сборки. Как минимум это компилятор gcc и заголовочные файлы ядра (пакет kernel-headers, в разных дистрибутивах может называться слегка иначе)
3. Запускаем инсталятор, на вопрос о скачивании прекомпиленых модулей отвечаем отрицательно и начнется сборка модуля. Если сборка оканчивается ошибкой, то открываем nvidia-insteller.log и смотрим в чем дело.
4. Проверяем загружается ли модуль - modprobe nvidia. В dmesg должно быть что то вроде такого:
[ 10.269110] nvidia: module license 'NVIDIA' taints kernel. [ 10.544921] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 177.70 Wed Aug 27 12:46:19 PDT 2008
5. Открываем /etc/X11/xorg.conf и меняем Driver "nv" на Driver "nvidia"(хотя при установке оно там "само" пропишется),если вам не нравится выскакивающее лого нвидии добавляем параметр Option "NoLogo" "True". Вместо "nv" у вас может быть "vesa"
6. Запускаем иксы и проверяем наличие ускорения:
glxinfo |grep direct direct rendering: Yes
7. Если что то не работает, то внимательно смотрим лог /var/log/Xorg.0.log на предмет ошибок, они отмечены "EE"
Добавляем в xorg.conf параметр Option "CoolBits" "1", после чего в nvidia-settings появится возможность оверклокинга. Еще для этого существует утилита NVClock.
FIXME: Написать про ручную установку fglrx и про опенсорсные драйвера