Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
fullcircle:25:ускорение_игр_под_х [2010/05/06 19:47] |
fullcircle:25:ускорение_игр_под_х [2011/11/27 13:51] (текущий) [Ссылки] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== HOW-TO Ускорение игр под X ====== | + | ====== HOW-TO: Ускорение игр под X ====== |
<style right> | <style right> | ||
Строка 12: | Строка 12: | ||
<code> | <code> | ||
sudo nano /etc/X11/Xwrapper.config | sudo nano /etc/X11/Xwrapper.config | ||
- | |||
- | nano – это простой текстовый редактор, работающий в консоли. | ||
</code> | </code> | ||
+ | **nano** – это простой текстовый редактор, работающий в консоли. | ||
+ | |||
Чтобы узнать больше о **/etc/X11/Xwrapper.config**, откройте консоль и выполните: | Чтобы узнать больше о **/etc/X11/Xwrapper.config**, откройте консоль и выполните: | ||
<code> | <code> | ||
man Xwrapper.config | man Xwrapper.config | ||
- | <code> | + | </code> |
+ | |||
+ | Открыв **Xwrapper.config**, найдите строку **«allowed_users=console»** и измените ее на **«allowed_users=anybody»**. Чтобы сохранить изменения, нажмите **Ctrl+X**; nano спросит, действительно ли вы хотите сохранить внесённые изменения, нажмите Y, далее редактор выведет имя файла, в который будет сохранён текст, в этой строке просто нажмите **Enter** – мы же хотим заменить старый файл. | ||
+ | |||
+ | Теперь мы можем запускать дополнительные Х-серверы из-под уже работающего X-сервера, но для этого не помешает перезапустить уже запущенный сервер. Я не уверен, что этот шаг необходим, но он не повредит. После перезапуска сервера настроим игры для запуска в отдельном сеансе. Сначала убедитесь, что игры запускаются не в «виртуальном рабочем столе»: запустите winecfg или откройте | ||
- | Открыв Xwrapper.config, найдите строку «allowed_users=console» и измените ее на «allowed_users=anybody». Чтобы сохранить изменения, нажмите Ctrl+X; nano спросит, действительно ли вы хотите сохранить внесённые изменения, нажмите Y, далее редактор выведет имя файла, в который будет сохранён текст, в этой строке просто нажмите Enter – мы же хотим заменить старый файл. | + | **Программы — Wine — Configure Wine.** |
- | Теперь мы можем запускать дополнительные Х-серверы из-под уже работающего X-сервера, но для этого не помешает перезапустить уже запущенный сервер. Я не уверен, что этот шаг необходим, но он не повредит. После перезапуска сервера настроим игры для запуска в отдельном сеансе. Сначала убедитесь, что игры запускаются не в «виртуальном рабочем столе»: запустите winecfg или откройте Программы — Wine — Configure Wine. Если на закладке «Приложения» упомянут EXE-файл вашей игры, щелкните по нему и откройте закладку «Графика», там не должно быть галочки в пункте «Эмулировать виртуальный рабочий стол». Если она там есть, то игра будет запущена в верхнем правом углу монитора, а это совсем не то, что нам нужно. | + | Если на закладке «Приложения» упомянут **EXE-файл** вашей игры, щелкните по нему и откройте закладку «Графика», там не должно быть галочки в пункте «Эмулировать виртуальный рабочий стол». Если она там есть, то игра будет запущена в верхнем правом углу монитора, а это совсем не то, что нам нужно. |
После этого я написал несколько сценариев для запуска нужных мне игр в отдельном сеансе. То есть я могу запустить их как в основном, так и в отдельном Х-сервере. Если вы не знаете, как писать сценарии оболочки, вот пример (для игры StarCraft и пользователя cherva. Не забудьте исправить параметры под свою обстановку): | После этого я написал несколько сценариев для запуска нужных мне игр в отдельном сеансе. То есть я могу запустить их как в основном, так и в отдельном Х-сервере. Если вы не знаете, как писать сценарии оболочки, вот пример (для игры StarCraft и пользователя cherva. Не забудьте исправить параметры под свою обстановку): | ||
Откройте текстовый редактор, например GEdit для GNOME или KWrite для KDE, и наберите: | Откройте текстовый редактор, например GEdit для GNOME или KWrite для KDE, и наберите: | ||
+ | <code> | ||
#!/bin/bash | #!/bin/bash | ||
- | X :2 -ac -terminate -config only_one_monitor.conf & | + | X :2 -ac -terminate -config only_one_monitor.conf & sleep 2 |
- | + | ||
- | sleep 2 | + | |
DISPLAY=:2 nice -20 env WINEPREFIX="/home/cherva/.wine" wine "C:\Games\Starcraft\Starcraft.exe" | DISPLAY=:2 nice -20 env WINEPREFIX="/home/cherva/.wine" wine "C:\Games\Starcraft\Starcraft.exe" | ||
+ | </code> | ||
+ | **Х** — это команда запуска нового сеанса Х-сервера. | ||
- | Х — это команда запуска нового сеанса Х-сервера. | + | **-ac** — запрещает контроль доступа на уровне узлов, разрешая доступ с любого узла и позволяя любому узлу изменять список управления доступом. Используйте очень осторожно! Этот параметр обычно используется для проведения дистанционного тестирования. |
- | -ac — запрещает контроль доступа на уровне узлов, разрешая доступ с любого узла и позволяя любому узлу изменять список управления доступом. Используйте очень осторожно! Этот параметр обычно используется для проведения дистанционного тестирования. | + | **-terminate** — заставляет сервер отключиться после завершения запущенной в нем программы. |
- | -terminate — заставляет сервер отключиться после завершения запущенной в нем программы. | + | **-config** — использовать отдельный файл конфигурации для Х-сервера (помните проблемы с прокруткой в StarCraft?). Файл only_one_monitor.conf — по сути тот же самый /etc/X11/xorg.conf, из которого удалены настройки для второго монитора, так что мышка, подведённая к краю монитора, останется в пределах этого монитора, и игровое поле StarCraft будет прокручиваться. Остальные подробности можно прочесть по адресу: http://linux.die.net/man/1/xserver |
- | + | ||
- | -config — использовать отдельный файл конфигурации для Х-сервера (помните проблемы с прокруткой в StarCraft?). Файл only_one_monitor.conf — по сути тот же самый /etc/X11/xorg.conf, из которого удалены настройки для второго монитора, так что мышка, подведённая к краю монитора, останется в пределах этого монитора, и игровое поле StarCraft будет прокручиваться. Остальные подробности можно прочесть по адресу: http://linux.die.net/man/1/xserver | + | |
Далее команда sleep 2 задерживает выполнение сценария на 2 секунды, чтобы дать новому Х-серверу достаточно времени для запуска. | Далее команда sleep 2 задерживает выполнение сценария на 2 секунды, чтобы дать новому Х-серверу достаточно времени для запуска. | ||
- | DISPLAY=:2 — запустить следующую команду в нашем новом Х-сервере, а не в основном. | + | **DISPLAY=:2** — запустить следующую команду в нашем новом Х-сервере, а не в основном. |
- | nice -20 — запустить процесс с наивысшим приоритетом (для большей производительности), далее указан запускаемый процесс: обычная команда, которую Wine формирует при создании ярлыка для программы в меню или на рабочем столе. | + | **nice -20** — запустить процесс с наивысшим приоритетом (для большей производительности), далее указан запускаемый процесс: обычная команда, которую Wine формирует при создании ярлыка для программы в меню или на рабочем столе. |
- | env WINEPREFIX — каталог настроек wine. | + | **env WINEPREFIX** — каталог настроек wine. |
- | wine — собственно команда запуска эмулятора Wine. "C:\Games\Starcraft\Starcraft.exe" — запускаемая игра. | + | **wine** — собственно команда запуска эмулятора Wine. "C:\Games\Starcraft\Starcraft.exe" — запускаемая игра. |
- | Набрав сценарий, сохраните его в какой-нибудь каталог. Затем откройте этот каталог в файловом менеджере (Nautilus или еще каком). Найдите сохранённый файл: нам надо сделать его исполняемым, для чего щёлкните по нему правой кнопкой мышки и выберите «Свойства». Перейдите на вкладку «Права» и поставьте галочку в строке «Позволять выполнение файла как программы». Закройте окно «Свойства» и откройте сценарий двойным щелчком. На Ubuntu вам будет предложено выбрать желаемое действие: «Запустить в терминале / Показать / Отменить / Запустить». Выбирайте «Запустить» и наслаждайтесь FPS >20, прокруткой в стратегиях и отсутствием проблем с переключением между окнами. Если вам понадобится вернуться в изначальный Х-сервер, нажмите Ctrl+Alt+F7, а оттуда в игру — Ctrl+Alt+F9 (или иногда — Ctrl+Alt+F8). Имейте в виду: я не бог весть какой знаток Linux, так что могут быть и другие способы сделать то же самое, но у меня и так работает, чему я очень рад. | + | Набрав сценарий, сохраните его в какой-нибудь каталог. Затем откройте этот каталог в файловом менеджере (Nautilus или еще каком). Найдите сохранённый файл: нам надо сделать его исполняемым, для чего щёлкните по нему правой кнопкой мышки и выберите «Свойства». Перейдите на вкладку «Права» и поставьте галочку в строке «Позволять выполнение файла как программы». Закройте окно «Свойства» и откройте сценарий двойным щелчком. На Ubuntu вам будет предложено выбрать желаемое действие: |
+ | |||
+ | **«Запустить в терминале / Показать / Отменить / Запустить»**. | ||
+ | |||
+ | Выбирайте «Запустить» и наслаждайтесь FPS >20, прокруткой в стратегиях и отсутствием проблем с переключением между окнами. Если вам понадобится вернуться в изначальный Х-сервер, нажмите **Ctrl+Alt+F7**, а оттуда в игру — **Ctrl+Alt+F9** (или иногда — **Ctrl+Alt+F8**). Имейте в виду: я не бог весть какой знаток Linux, так что могут быть и другие способы сделать то же самое, но у меня и так работает, чему я очень рад. | ||
--------------------------------------- | --------------------------------------- | ||
+ | ===== Ссылки ===== | ||
+ | * [[http://help.ubuntu.ru/wiki/запуск_игры_в_отдельном_x-сервере|Запуск игры в отдельном X-сервере]] | ||
+ | * [[http://kubuntu.ru/node/7095|Полезные советы по данному вопросу на kubuntu.ru]] | ||
+ | * [[https://wiki.archlinux.org/index.php/Запуск_игр_и_других_приложений_в_отдельном_X-сервере|Запуск игр и других приложений в отдельном X-сервере]] | ||
<style center> | <style center> | ||
Строка 63: | Строка 73: | ||
</style> | </style> | ||
- | {{tag>Система Администрирование Full_Circle BASH Скрипт Резервирование}} | + | {{tag>Игры howto Full_Circle}} |