Xephyr (Русский)
Xephyr — это X-сервер, который запускается внутри окна другого X-сервера.
Он может быть полезен для обхода проблем плохо написанного приложения. Например, серверами Supermicro можно управлять с помощью java-приложения ipmi kvm viewer. Во время перезагрузки сервера приложение часто пересоздаёт свое окно и таким образом переводит фокус на себя. Это происходит несколько раз в минуту и фактически делает работу невозможной. При этом не очевидно, как сделать правило окна, которое не позволит окну такого приложения получить фокус при создании, потому что вы хотите, чтобы оно получило фокус при первом запуске. Использование xephyr позволит изолировать такие окна в отдельном окне, что предотвратит изменение фокуса на основном X-сервере.
Установка
Установите пакет xorg-server-xephyr.
Использование
Для запуска вложенного сеанса X выберите свободный номер дисплея и выполните примерно такую команду:
$ Xephyr -br -ac -noreset -screen 800x600 :1
Она создаст окно Xephyr, которое в данном примере использует номер дисплея :1
. Чтобы запустить приложение внутри этого окна, укажите этот номер дисплея перед запуском:
$ DISPLAY=:1 xterm
Запуск оконного менеджера
Аналогичным образом можно запустить оконный менеджер внутри Xephyr, например:
$ DISPLAY=:1 spectrwm
Или запустить xinitrc с помощью startx:
$ startx -- /usr/bin/Xephyr :1
Захват мыши и клавиатуры
Нажатие Ctrl+Shift
захватит мышь и клавиатуру, так что весь ввод будет перенаправляться в окно Xephyr. Повторное нажатие отключает захват.
Отправка Alt+Tab
Если вы используете KDE, создайте правило окна, чтобы игнорировать глобальные сочетания клавиш. Тогда вы сможете использовать Alt+Tab
внутри Xephyr.
Советы и рекомендации
Другие примеры ситуаций, в которых Xephyr может быть полезен:
- Тестирование X-приложения или функции, при котором тестировщик хотел бы продолжать работать в своей обычной среде X, защищая при этом другие приложения от сбоев тестируемого приложения.
- OpenSSH (Русский)#Проброс X11 описывает три настройки сервера sshd для проброса X11 через ssh. Две из них являются настройками по умолчанию. Если клиент не может попросить администратора ssh-сервера изменить третий параметр
X11Forwarding
на yes, обходной путь, описанный на странице Forwarding X11 over ssh, предлагает использовать Xephyr.