В принципе по данной теме в интернете информации хватает, но раз уж сайт посвящен Wine было бы не простительным обойти эту тему стороной, поэтому хочу поделиться своим методом по данной теме. Статью оформляю на ПК с Ubuntu 11.10 и Wine 1.3.37 — на ней же буду экспериментировать.
Что такое X-сервер? X-сервер, а точнее 'X.Org X Server' это свободная открытая реализация оконной системы X11, обеспечивающая интерфейс между устройствами вашего ПК и нужными вам программами, работающих в графическом режиме. Вы можете: управлять его запуском (запускать дополнительные); останавливать (система при этом остается работоспособной); отображать на другой системе ('X.Org X Server' является полностью сетевым).
Для начала определимся, для чего нужен запуск Wine-приложений в отдельном X-сервере:
1 Не все приложения, запущенные из под Wine в полноэкранном режиме, можно «безболезненно» свернуть или перейти из под них на другой рабочий стол (что иногда бывает необходимо);
2 При закрытии полноэкранных Wine-приложений иногда «ломается» (не корректно восстанавливается) родное разрешение вашего рабочего стола(монитора), при чем иногда устанавливается такое низкое разрешение, что не возможно даже открыть настройки графического адаптера (настолько все растянуто); 3 Случается что, "зависшее" в полноэкранном режиме Wine-приложение, не дает вернуться на рабочий стол и приходится переходить в консоль.
От этих, основных проблем мы и избавимся, открывая наше Wine-приложение (игру) в отдельном X-сервере. Существует также мнение, что такой метод запуска позволяет ускорить производительность игр, хотя на мой взгляд это возможно только в случае отключения основного X-сервера.
Посмотрим как перенаправить работу Wine-игры на отдельный X-сервер. Первое что вы должны учесть - ваше приложение должно открываться без проблем в полноэкранном режиме и без эмуляции рабочего стола, это означает что в случае если ваша игра работает только в оконном режиме, или с настройкой Wine в режиме эмуляции рабочего стола, то запускать такую игру в отдельном X-сервере нельзя. Также некоторые типы видеокарт могут не поддерживать DRI ( Direct Rendering Infrastructure -аппаратное ускорение Mesa или OpenLG) на второй X-сервер (например этим грешат некоторые изделия Intel).
Второе что нужно сделать, это разрешить открывать дополнительные X-сервера от любого пользователя: наберите в терминале команду
sudo dpkg-reconfigure x11-common
после ввода пароля высветится окно с предупреждением
нажимаем 'Enter' и меняем пользователей, которым разрешено запускать X-сервер, на "Кто угодно".
Третье — внесем себя (пользователя) в группу аудио (без этого действия звук не будет воспроизводиться):
выполняем в терминале команду
sudo gpasswd -a username audio
username поменяйте на свой профиль!
Четвертое — набираем нашу команду для запуска приложения.
В качестве примера и для удобства рассмотрения возьмем вымышленную игру GAME установленную в директорию /home/UserName/.wine/drive_c/Program Files/GAME/ и запускающим фалом game.exe (не волнуйтесь данный метод был проверен на реальных играх).
Создаем в удобном для вас месте — хоть в папке с вашей игрой - текстовый файл, переименовываем его в game.sh (вместо game можете поставить любое имя, расширение .sh оставьте как есть). Откройте этот файл в текстовом редакторе и впишите следующий скрипт:
#!/bin/bash
cd /home/UserName/.wine/drive_c/Program\ Files/GAME/
WINEDEBUG=-all xinit /usr/bin/wine game.exe -- :1
Где: #!/bin/bach это объявление вашего командного итерпретатора (в Ubuntu по умолчанию — Bash);
cd - команда перехода в директорию; /home/UserName/.wine/drive_c/Program\ Files/GAME/-полный путь до файла запуска игры game.exe (вам естественно нужно набрать свой!); WINEDEBUG=-all запрещает выводить на терминал лишнюю информацию; xinit – :1 запускает новый X-сервер 1 (основной X-сервер по умолчанию считается нулевым); /usr/bin/wine game.exe это команда запуска вашей игры из под Wine (вместо game.exe поставите имя вашего файла!).
Закройте этот файл и сохраните. Далее щелкните правой кнопкой мыши на этом файле и выберете пункт «Свойства», на вкладке «Права» поставьте галочку у пункта «Разрешить исполнение файла как программы».
Теперь по двойному щелчку на нашем файле выскочит окно «Запустить файл 'game.exe' или посмотреть его содержимое?»
- нажимаете «Запустить в терминале» и если ни где не ошиблись игра запустится в новом X-сервере. Для перехода из игры на рабочий стол нажимаете «Ctrl+Alt+F7», обратно в игру «Ctrl+Alt+F8». После выхода (закрытия) из игры вы попадете на ваш рабочий стол, с родным разрешением экрана.
Важно! При запуске приложений в отдельном X-сервере - эмуляция рабочего стола, в настройках Wine, должна быть выключена.