Иногда бывает нужно запустить полноэкранное приложение (обычно, игру) в отдельном X-сервере, например, для повышения производительности или удобства переключения между задачами.
Сначала редактируем файл
/etc/X11/Xwrapper.config
с правами суперпользователя (лучше сделать перед этим его бэкап), в нём в первой опции выставляем параметр«Anybody»
. Затем:sudo bash -c "md5sum /etc/X11/Xwrapper.config > /var/lib/X11/Xwrapper.config.md5sum" sudo dpkg-reconfigure xserver-common
Далее с правами пользователя редактируем файл
~/.Xauthority
, для этого в консоли:xauth list
Увидим что-то вроде
blind.local:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb [fe80::204:61ff:fe9e:c083]:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb blind/unix:0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb
Буквенно-цифровой хвост, конечно, будет другим.
Пишем там же, вставив свой хвост:
add :1.0 MIT-MAGIC-COOKIE-1 e087ead1f80cd5d35b6bd273222d1feb exit
Теперь либо делаем в отдельном файле скрипт на запуск игры вроде такого
#!/bin/bash xinit <путь до исполняемого файла от игрушки> $* -- :1 -nocursor
и далее пользуемся, либо, если игра запускается через иконку в Applications, то «xinit <путь до исполняемого файла от игрушки> $* – :1 -nocursor» пишем уже там. Параметр
-nocursor
позволяет избежать проблемы с появлением стандартного иксового черного курсора-креста поверх игрушки при повторном переключении в неё.Переключение между игрой и основной X-сессией происходит по Ctrl-Alt-F7 (основная сессия) и Ctrl-Alt-F8 (игрушка)
Теперь игра запускается, но без звука. Если переключиться в основную сессию - то звук от игры там. Для исправления ситуации добавляем себя в группу
audio
:usermod -G audio -a $USER
Если будут проблемы с dri на Intel видеокартах.
sudo gpasswd -a $USER video
Перезагружаемся — всё будет работать.
Ссылки
- Запуск игр в другом X сервере — статья на форуме. Содержит решения проблем, обсуждение wine, ссылки на другие инструкции.