UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

83 lines (49 loc) 7.07 kB
## Contents * [1 Преамбула](#.D0.9F.D1.80.D0.B5.D0.B0.D0.BC.D0.B1.D1.83.D0.BB.D0.B0) * [2 Требования](#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F) * [3 Подготовка](#.D0.9F.D0.BE.D0.B4.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BA.D0.B0) * [4 Использование утилиты xlaunch](#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.83.D1.82.D0.B8.D0.BB.D0.B8.D1.82.D1.8B_xlaunch) * [5 Как это выглядит](#.D0.9A.D0.B0.D0.BA_.D1.8D.D1.82.D0.BE_.D0.B2.D1.8B.D0.B3.D0.BB.D1.8F.D0.B4.D0.B8.D1.82) * [6 Профит](#.D0.9F.D1.80.D0.BE.D1.84.D0.B8.D1.82) ### Преамбула Описываемый ниже метод подойдет в принципе для любого приложения, но наибольшую пользу он приносит для полноэкранных игр (как нативных, так и запускаемых под wine'ом). Как известно, в большинстве своём свернуть полноэкранную игру в линуксе нереально — можно, конечно, попробовать переключиться на другой виртуальный рабстол, только большинство игр этого не любят и начинают глючить или вовсе вылетают. Кроме того, многие оконные менеджеры тоже вносят свою лепту в несовместимость (в основном оное касается игр, запускаемых под wine), особенно в этом деле отличается compiz. В принципе, под офтопиком тоже не все в порядке — далеко не все игры спокойно переносят вмешательство в свои дела, но процент удачных случаев там несоизмеримо выше. ### Требования Для данного метода вам не потребуется ничего дополнительного сверх того, что нужно для классического способа запуска игры. ### Подготовка Для начала создайте файл шелл-скрипта для запуска игры. У меня все такие скрипты хранятся в `~/.config/bin`, но дело ваше, где они будут, это не принципиально совершенно. Вот пример для скрипта запуска игры nexuiz: ``` %>cat ~/.config/bin/nexuiz.sh /usr/bin/nexuiz-glx-svn ``` т.е. просто указание бинарника. Вот пример для запуска Civilization 4 под wine: ``` %>cat ~/.config/bin/civ4.sh cd ~/.wine/drive_c/games/Civilization\ 4/Beyond\ the\ Sword WINEDEBUG=-all wine Civ4BeyondSword.exe ``` — для некоторых приложений лучше менять текущий каталог на тот, где лежит бинарник. Y Команда запуска предельно проста: ``` startx /foo/bar/script -- :1 ``` т.е. для nexuiz из примера выше она будет такой: ``` startx ~/.config/bin/nexuiz.sh -- :1 ``` Почему я записываю путь к бинарнику в промежуточный шелл-скрипт, вместо того чтобы сразу скормить его startx? По неведомым для меня (пока?) причинам, это работает не со всеми играми. Параметр ":1" указывает на номер виртуального дисплея для создаваемого X-сервера (первый по умолчанию запускается на дисплее ":0"). Теперь можете вешать эту команду на любую кнопку, иконку, алиас в шелле или что вы там предпочитаете и использовать. ### Использование утилиты xlaunch Незадолго после написания статьи в обновлениях [AUR](/index.php/Arch_User_Repository_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Arch User Repository (Русский)")'а обнаружил утилитку [xlaunch](https://aur.archlinux.org/packages/xlaunch/). Она удобнее описанного мной способа ручной настройки запуска, так как для её использования после установки достаточно команды `xlaunch app`. Она сама выберет свободный дисплей для запуска приложения. Кроме способа запуска механизм использования от вышеприведённого способа ничем не отличается. ### Как это выглядит При запуске экран почернеет, создастся новый X-сервер и в нем запустится указанное приложение. Завершение работы приложения будет означать автоматическую остановку этого дополнительного X-сервера. Переключаться между старым и новым можно с помощью хоткеев Ctrl+Alt+F7 для старого, Ctrl+Alt+F8 для нового. ### Профит Что это нам в итоге дает? * Большую совместимость — оконный менеджер больше не может помешать работе игры, т.к. на новом X-сервере оконного менеджера нет как такового — игра сама себе оконный менеджер. Другие приложения тоже не будут мешать (скажем попапами), т.к. исполняются на другом дисплее. * Большую производительность — во многих ненативных играх прирост заметен безоружным глазом (например в цив4). * Возможность переключиться на другие приложения — этот плюс трудно переоценить. Можно, например, вернуться в jabber-клиент для координации действий, скажем — на каком сервере вы с друзьями будете играть. При том безглючность переключения 100% (по крайней мере я не видел проблем ни разу), что оставляет офтопик далеко позади по результативности. Наслаждайтесь. *Strafer*