Тюнинг в стиле X Alexander S. Salieff Спецвыпуск Xakep, номер #046, стр. 046-014-3 В этом случае придет на помощь технология расширения X-сервера на несколько экранов. Каждый экран будет представлять собой отдельный и полностью независимый десктоп со своим идентификатором (то есть это будут X-дисплеи :0.0, :0.1, :0.2 и т.д.), причем при правильно настроенном xinitrc на каждом дисплее запустится своя копия оконного менеджера. Итак, сначала нам нужно создать два монитора, CRT-дисплей и телевизор. Потом обманем X-сервер и создадим "две" видеокарты; у них будет одинаковый адрес на PCI-шине (который можно узнать с помощью утилиты lspci, однако, скорее всего, он будет таким же, как и приведенный мной), но одна будет смотреть в VGA-выход, а другая - в TV-Out. Теперь, когда у нас есть две видеокарты и два монитора, создадим два дисплея, каждый на своей паре карта-монитор, и - заключительный штрих - сообщим X-серверу (в секции ServerLayout), что у нас два X-дисплея, совместно использующих мышку и клавиатуру. Теперь можно запускать приложения на разных дисплеях, но таскать их с одного на другой, как в TwinView, уже нельзя. Приложения можно запускать непосредственно на нужном дисплее, уведя туда мышку, либо адресовать с помощью переменной окружения DISPLAY: localhost$ DISPLAY=:0.0 mplayer Film.avi - смотрим кино на мониторе localhost$ DISPLAY=:0.1 mplayer -fs Film.avi - смотрим кино на телевизоре Теперь ты можешь сидеть в интернете, программировать или заниматься другими своими делами, параллельно развлекая подругу показом DivX'сов на телевизоре. Хорошо писать по-русски Людям, использующим среду KDE, хорошо знаком своей глючностью встроенный в эту DE селектор раскладки клавиатуры. Во многих других WM/DE он вообще отсутствует. Так и мучаются некоторые, не подозревая, что уровнем ниже - непосредственно в X-сервере - есть стабильно работающий, многофункциональный селектор раскладок. Этот модуль зовется XKb (X11-Keyboard) и имеет широкие возможности для настройки. Из понятий, которыми он оперирует, нас интересуют правила (XkbRules), раскладки (XkbLayout), карты раскладок и некоторые дополнительные опции (XkbOptions). Настраивается вся эта красота в том же файле настроек X-сервера, в секции InputDevice: Section "InputDevice" I dentifier "Keyboard0" Driver "keyboard" Без лишней надобности фокусничать с правилами поведения модуля не рекомендуется, поэтому обычно ставят стандартные: Option "XkbRules" "xfree86" Мы будем использовать две раскладки - английскую по умолчанию и русскую. Карта русской раскладки будет такая же, как в MS Windows (то есть "?" и "7" на одной клавише и т.д.): Option "XkbLayout" "us,ru(winkeys)" Переключение раскладки будет производиться с помощью сочетания Ctrl+Shift, а индикатором альтернативной (в нашем случае русской) раскладки будет горящая лампочка ScrollLock: Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection Как видишь, все настраивается очень просто и при этом, как ты убедишься, прекрасно работает. Есть только один неприятный момент - модуль Xkb не умеет запоминать раскладку для каждого окна отдельно. В этой ситуации нам поможет замечательная программа, написанная нашим соотечественником Иваном Паскалем, - xxkb. Будучи просто запущенной после старта X-сервера, она начинает работать вместе с модулем XKb, запоминает раскладку каждого окна и восстанавливает нужную при переключении между окнами. Ее настройки хранятся в стандартном файле инициализации X11-приложения по имени XXkb (скорее всего, он будет лежать в /usr/X11R6/lib/X11/app-defaults). Поглядим, что в нем есть интересного. Главное окно приложения, отображающее иконку текущей раскладки (иконки и размеры окна можно менять, а можно окно вообще убрать): |