15.9. Одновременный запуск разных оконных менеджеров

Проблема

В вашей системе установлены замечательные оконные менеджеры и графические среды — KDE, Gnome, Enlightenment, Fluxbox, XFce и т. д. Вам хотелось бы запускать их одновременно. Конечно, можно запустить отдельные сеансы X или выйти из X и запустить другой оконный менеджер, но можно ли запустить их одновременно?

Решение

Xnest позволяет запускать дополнительные сеансы X из текущих сеансов. Откройте командный процессор в любом сеансе X (допустим, вы работаете в IceWM) и запустите Xnest:

$ Xnest -ac :1

Вы увидите пустой экран с курсором X. Запустите оконный менеджер (предположим, WindowMaker):

$ wmaker -display :1

Теперь в командном процессоре IceWM введите:

$ Xnest -ac :2

Некоторые оконные менеджеры или графические среды (скажем, Gnome) должны запускаться из xterm в окне Xnest. Сначала запустите xterm:

$ xterm -display :2

Затем запустите Gnome из xterm:

$ gnome-session

Из любого доступного терминала в любом из окон можно запустить новый сеанс Xnest:

$ Xnest -ac :3

Xnest example

Комментарий

Нумерация сеансов X начинается с 0, поэтому сеанс X по умолчанию всегда обозначается :0. Параметр -ac в командной строке Xnest определяет номер сеанса для нового экрана. Он также блокирует контроль доступа, иначе X не позволит открывать приложения. Xnest использует те же параметры, что и команда X — см. xserver(lx).

Когда в системе одновременно работают несколько оконных менеджеров, то при попытке запуска очередного менеджера может появиться сообщение об ошибке:

$ gnome-session
gnome-session: you're already running a session manager

Ничего страшного — найдите его и "убейте":

$ echo $SESSION_MANAGER
local/windbag:/tmp/.ICE-unix/2774
$ rm /tmp/.ICE-unix/2774

Теперь Gnome запустится нормально.

См. также

Xnest(l), xserver(l); оконные менеджеры для X (http://www.pLig.org/xwinman).