Страница 42 из 65 8. Использование X Window8.1. Я хочу запустить X, как это сделать?Самый простой способ - это указать во время инсталляции, что вы хотите использо вать X. Затем следуйте указаниям в документации по утилите xf86config, которая предназначена для конфигурирования работы XFree86(tm) с вашим графическим адаптером/мышью/итд. Вы можете также попробовать сервер Xaccel. За подробной информацией обратитесь к разделу, посвящённому продуктам фирм Xi Graphics и Metro Link. 8.2. Почему моя мышь не работает с X?Если вы используете syscons (стандартный драйвер консоли), то можете настроить поддержку указателя мыши во всех виртуальных экранах. Во избежание конфликтов с X, драйвер syscons поддерживает виртуальное устройство /dev/sysmouse. Все события, получаемые от реальной мыши, пишутся в устройство sysmouse через moused. Если вы хотите использовать вашу мышь на одной или нескольких в иртуальных консолях, продолжая использовать X, посмотрите Q: 2.10. и настройте moused. Затем отредактируйте /etc/XF86Config так, чтобы в нём были следующие строки. Section Pointer Protocol "SysMouse" Device "/dev/sysmouse" .....
Пример выше предназначен для XFree86 3.3.2 и выше. Для более ранних версий параметр Protocol должен быть MouseSystems. Некоторые предпочитают использовать в X устройство /dev/mouse. Чтобы оно работало, файл устройства /dev/mouse должен являться ссылкой на /dev/sysmouse: # cd /dev # rm -f mouse # ln -s sysmouse mouse 8.3. У моей мыши есть колёсико. Могу ли я его использовать при работе в X?Да. Но вам нужно будет настроить программы-клиенты для X. Посмотрите страничку Коласа Наабу (Colas Nahaboo) (https://www.inria.fr/koala/colas/ mouse-wheel-scroll/). Если вы собираетесь использовать программу imwheel, следуйте этим простым указаниям: 1. Трансляция событий от колёсика Работа программы imwheel основана на трансляции событий от кнопок мыши 4 и 5 в события от клавиатуры. То есть вам нужно заставить драйвер мыши транслировать события от колёсика в события от кнопок 4 и 5. Есть два способа сделать это, в первом из которых трансляцию выполняет moused(8). Во втором методе трансляцию событий выполняет сам X-сервер. a. Использование moused(8) для трансляции событий от колёсика Для того, чтобы moused(8) выполнял преобразование событий, просто добав ьте опцию -z 4 к команде, запускающей moused(8). Например, если обычно вы запускаете moused(8) командой moused -p /dev/psm0, то теперь вы должны будете использовать moused -p /dev/psm0 -z 4. Если moused(8) запускается у вас автоматически во время загрузки через /etc/rc.conf, то вы можете просто добавить опцию -z 4 к переменной moused_flags в файле /etc/rc.conf. Теперь вам нужно указать X, что вы используете 5-кнопочную мышь. Для этого просто добавьте строчку Buttons 5 в секцию "Pointer" файла /etc/ XF86Config. Например, в вашем файле /etc/XF86Config секция "Pointer" может принять такой вид: Example 8-1. Секция "Pointer" файла XF86Config для мыши с колёсиком и трансляцией через moused Section "Pointer" Protocol "SysMouse" Device "/dev/sysmouse" Buttons 5 EndSection b. Использование X-сервера для трансляции событий от колёсика Если moused(8) у вас не запущен или если вы не хотите, чтобы moused(8) занимался трансляцией событий от колёсика, то это может сделать X-серв ер. Это требует некоторых модификаций в вашем файле /etc/XF86Config. В о-первых, вам нужно правильно выбрать протокол для вашей мыши. Большинство манипуляторов с колёсиками используют протокол "IntelliMouse". Однако XFree86 поддерживает другие протоколы, такие, как "MouseManPlusPS/2" для мышей Logitech MouseMan+. После того, как вы выберите используемый протокол, в секцию "Pointer" нужно будет добавить строчку Protocol. Во-вторых, вам нужно указать, что X-сервер будет переопределять события от колёсика в события от кнопок 4 и 5. Это делается заданием опции ZAxisMapping. Например, если вы не используете moused(8) и ваша мышь IntelliMouse подключена к порту для мыши PS/2, в вашем файле /etc/XF86Config должно быть указано следующее: Example 8-2. Секция "Pointer" для мыши с колёсиком из файла XF86Config с трансляцией с помощью X-сервера Section "Pointer" Protocol "IntelliMouse" Device "/dev/psm0" ZAxisMapping 4 5 EndSection 2. Установка программы imwheel Теперь установите программу Imwheel из Коллекции Портов. Она находится в категории x11. Эта утилита будет преобразовывать события от колёсика вашей мыши в события от клавиатуры. Например, она может послать в программу последовательность Page Up, когда вы крутите колёсико вперёд. Для преобразо вания событий от колёсика в нажатия клавиш imwheel использует конфигурационный файл, причём для разных приложений возможна посылка разных последовательностей. Конфигурационным файлом, используемым по умолчанию, яв ляется /usr/X11R6/etc/imwheelrc. Вы можете скопировать его в ~/.imwheelrc и отредактировать, если хотите изменить параметры работы imwheel. Формат конфигурационного файла описан на странице Справочника о imwheel(1). 3. Настройка редактора Emacs для работы с Imwheel (по желанию) Если вы используете emacs или Xemacs, то в ваш файл ~/.emacs нужно добавить маленький раздел. Для редактора emacs, добавьте следующее: Example 8-3. Конфигурация Emacs для работы с Imwheel ;;; For imwheel (setq imwheel-scroll-interval 3) (defun imwheel-scroll-down-some-lines () (interactive) (scroll-down imwheel-scroll-interval)) (defun imwheel-scroll-up-some-lines () (interactive) (scroll-up imwheel-scroll-interval)) (global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines) (global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines) ;;; end imwheel section
Для редактора Xemacs, в ваш файл ~/.emacs добавьте следующее: Example 8-4. Конфигурация Xemacs для работы с Imwheel ;;; For imwheel (setq imwheel-scroll-interval 3) (defun imwheel-scroll-down-some-lines () (interactive) (scroll-down imwheel-scroll-interval)) (defun imwheel-scroll-up-some-lines () (interactive) (scroll-up imwheel-scroll-interval)) (define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines) (define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines) ;;; end imwheel section 4. Запуск Imwheel Вы можете просто набрать команду imwheel в вашем в окне xterm после установ ки. Она сама перейдёт в фоновый режим и немедленно начнёт работу. Если вы хотите использовать imwheel всегда, просто добавьте её запуск в ваш .xinitrc или .xsession. Все предупреждения о PID-файлах, которые выводит imwheel, можно проигнорировать. Эти предупреждения имеют смысл только в Linux-версии imwheel. 8.4. Меню и диалоговые окна в X Window работают неправильно!Попробуйте выключить Num Lock. Если клавиша Num Lock во время загрузки по умолчанию включена, добавьте в секцию Keyboard файла XF86Config следующую строку. # Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock |