Online video hd

Смотреть русское с разговорами видео

Официальный сайт aktuell 24/7/365

Смотреть видео бесплатно

12.02.11 16:34 HellTommy

Linux GamesЗапуск игр в отдельном X сервере

Многие игры не сворачиваются, не табаются, глючат при включенном компизе и.т.д. Меня это очень не нравилось. Гугля просторы интернета я наткнулся на чудесный скрипт, под названием xlaunch. Создаем папку

sudo mkdir ~/.scripts
Сохраняем этот скрипт в /home/scripts/xlaunch. Далее выполняем:


chmod 755 /home/scripts/xlaunch
chown your_name_here:users /home/scripts/xlaunch
echo PATH=\"\$PATH:/home/scripts\" >> ~/.bashrc

Далее перезапускаем терминал, переходим в папку с игрой, и выполняем:

xlaunch wine fifa.exe

Все, теперь наша игра запустилась в новом Х сервере. Переключиться обратно на рабочий Х сервер можно комбинацией CTRL+ALT+F1.

Что же это нам дает?

Удобное переключение между игрой и рабочим пространоством, избавимся от глюков игры при включенном компизе, прирост в производительности (да, да. игры запущенные в wine действительно стали быстрее работать).

UPD: Действительно забыл,чтобы на новом х сервере работал звук, выполните:
sudo gpasswd -a username audio



Теги:

ZED 12.02.11 16:55 # +1
Во-первых, можно использовать и startx
Во-вторых надо выполнить "sudo gpasswd -a username audio" чтобы был звук.
alius 12.02.11 17:10 # +0
Как именно через startx?
ZED 12.02.11 17:29 # +1
startx ~/.config/bin/game.sh -- :1

В скрипте можно попутно отключать компиз:
metacity --replace & $@; compiz --replace

А то автор мельком написал про компиз, но не написал что простой запуск 2-го X-сервера будет так же с компизом, который часто замедляет OpenGL приложения, особенно wine-игры.
HellTommy 12.02.11 17:56 # +0
Этот скрипт все делает за вас, и в случае закрытия игры так-же закрывает х сервер и.т.д
ZED 12.02.11 18:03 # +0
Я через startx запускал пару игр и при закрытии X также закрывался. Не вижу разницы. Просто привел альтернативный вариант.
HellTommy 12.02.11 18:19 # +0
Я вас не упрекал :)
alius 12.02.11 17:09 # +1
А разве не нужно скопировать скрипт в /usr/local/bin? Иначе как заставить его запустится из папки с игрой?
Кроме того, возвращение на робочий сервер через CTRL+ALT+F7, игра -- на CTRL+ALT+F8.
А так у меня все заработало, спасибо!
HellTommy 12.02.11 17:44 # +0
У меня игра на ctr+alt+f8, а рабочее пространоство на ctr+alt+f1.
alius 12.02.11 22:02 # +0
интересно, однако. Я думал, иксы всегда на 7 консоли стартуют..
kstep 14.02.11 00:51 # +1
Иксы стартуют там, где ты им укажешь. Просто 7я консоль по дефолту получается.
Если консоль икс-серверу не указана, то он берёт первую свободную. Обычно, в большинстве дистров по дефолту, первые 6 консолей заняты процессами логина (getty или аналогом), а 7-я свободна, на ней никаких процессов не запущено, вот её иксы и берут.
ak3n 12.02.11 19:39 # +0
Пользуюсь старичком xgame.
Samath 12.02.11 20:16 # +2
у меня не сработало. Пишет xlaunch: команда не найдена. Делал так:
сохранил скрипт в файле /home/samath/scripts/xlaunch
chmod 755 /home/samath/scripts/xlaunch
chown samath:users /home/scripts/xlaunch
sudo gpasswd -a samath audio

Пробовал xlaunch кидать в /usr/local/bin. При запуске, например кс:
xlaunch wine hl.exe
получаю
Starting /usr/bin/wine on DISPLAY 1
и все, больше никаких признаков жизни.

P.S. Вообще на десктопе игры запускаю в отдельном икс сервере другим способом. Но решил попробовать этот, т.к. мой старый метод хреновенько срабатывает на нетбуке - кс запускается с артефактами и играть не возможно.
gardarea51 12.02.11 20:51 # +2
Я делал так:
xinit /usr/bin/openarena -- :1
Sebastian 12.02.11 23:01 # +1
Шикарный скрипт. У меня чуть-чуть попроще, не эффект, похоже, тот же.
В /usr/local/games/bin/ лежат скрипты с таким содержанием:
1
2
3
4
#!/bin/bash
X :2 -ac -terminate &
sleep 2
sudo -u gamer LC_ALL=ru_RU.UTF-8 LANG=ru_RU.UTF-8 env  WINEPREFIX='/home/gamer/heroes'  WINESERVER='/usr/bin/wineserver'  WINELOADEr/lib32/wine'  WINEARCH='win32'  DISPLAY=':2'  /bin/sh -c " cd '/home/nerewar/heroes/drive_c/Program Files/Heroes of Might and Magic V /usr/bin/wine  'H5_Game.exe'   2>&1 "

Игра запускается в отдельном Х-сервере и из под специального игрового пользователя. Ярлыки на скрипты добавлены в wbar для полного удобства.
Dark_SS 13.02.11 00:17 # +0
Я криворукий идиот, наверно. Скачал, выполнил, даже в /usr/local/bin положил, но:
%xlaunch.sh wine /mnt/D-Games/Games/Two\ Worlds\ II/TwoWorlds2.exe
Error: can't find launch.sh:
- Is it in you PATH?
or
- Do you have enough right to execute it?
Dark_SS 13.02.11 00:18 # +0
И с sudo аналогично.
Dark_SS 13.02.11 00:24 # +0
Удалил расширение и выполнил из папки с игрой: Starting /usr/bin/wine on DISPLAY 1
Но я не один такой, это радует.
derfenix 13.02.11 00:25 # +0
echo $PATH - покажет какие пути у тебя в PATH. Только по этим путям программа будет выполнена без указания самого пути до программы (или скрипта). В любом случае, никто не мешает указывать полный путь, например, /usr/local/bin/xlaunch.sh wine /mnt/D-Games/Games/Two\ Worlds\ II/TwoWorlds2.exe
Dark_SS 13.02.11 00:34 # +0
Мне никто и не помешал. но результат тот же или Starting /usr/bin/wine on DISPLAY 1
Т.е. fail
derfenix 13.02.11 00:38 # +0
Понажимай Alt+Ctrl+F[1-8] может просто не происходит переключения на новую запущенную X-сессию.
Dark_SS 13.02.11 01:04 # +0
Проверял.
derfenix 13.02.11 00:31 # +0
Вот честно, по шапке бы надавать за такую "инструкцию"
Сохраняем этот скрипт в /home/scripts/xlaunch. Далее выполняем:

chmod 755 /home/scripts/xlaunch
chown your_name_here:users /home/scripts/xlaunch

Далее переходим в папку с игрой, и выполняем:

xlaunch wine fifa.exe

Почему /home/scripts? Этот путь есть у всех?
Зачем chown?
Почему добавив в /home/scripts мы уже вдруг можем вызывать скрипт без указания пути? Это что, стандартный путь для $PATH?

Ну вот честное слово, взялся писать инструкцию - разберись сначала с азами сам, или, если уж настолько лень - то не пиши настолько подробно.
HellTommy 13.02.11 00:47 # +2
Прошу прощения...Когда писал-сильно болела голова(в моем городе заметель, а я уж сильно реагирую на погоду :( )...Только в "нормальном" состоянии понял, что много чего не указал. Естественно, для удобсват нужно создать папку:
sudo mkdir /home/scripts .
digiwhite 13.02.11 09:14 # +2
А еще после этого нужно открыть файл ~/.bashrc в текстовом редакторе и прописать:
1
2
3

export PATH=$PATH:/home/$USER/scripts
 

и перезапустить терминал, из которого будете запускать свой скрипт.

После таких манипуляций не надо будет писать полный путь к скрипту.
derfenix 13.02.11 10:31 # +0
Зачем создавать эту папку, когда есть /usr/local/bin ?
digiwhite 13.02.11 10:48 # +1
Зачем туда кидать непонятные скрипты, нужные лишь одному пользователю?
derfenix 13.02.11 10:59 # +2
Да, лучше для этого создавать левую папку в /home, добавить её в $PATH... Зачем по-твоему стандартные пути существуют? /usr/local/bin как раз для пользовательских скриптов и программ существует. Не надо изобретать велосипеды. И, если уж на то пошло, и не хочется выносить личные скрипты куда-то там, то и для этого, есть стандартный путь ~/bin - для каждого пользователя свой.
f_evgeny 13.02.11 11:51 # +2
Неправильно, /usr/local не для пользовательских скриптов, он для:
ПО, которого нет в репозитарии, которое устанавливается локально на данную машину, или на небольшое количество машин, стандартный путь - установка в /usr/local

Пользовательские скрипты устанавливаются именно в пользовательской директории. Я обычно устанавливаю их в директории ~/bin
Почему не нужно устанавливать их в /usr/local/bin?
Потому, что не всегда приходится работать на машине, где работает только один пользователь, не всегда даже права root есть на данной машине.
Когда несколько пользователей начнут класть свои скрипты в директорию /usr/local/bin, очень вероятны конфликты имен и вообще непредсказуемые вещи, типа запустили скрипт, не совсем обратив внимание на имя (оказалось похожим или вообще такое же, а Ваш затерт) и он выполнил совсем не то, что Вы хотели.
Опять таки свои скрипты, это часть рабочего окружения, удобно, когда копируешь свою заготовку для домашнего окружения и вот уже все работает.
Часто домашние директории пользователей и самих пользователей используют для размещения разных проектов на одной и той же машине (Очень удобно!) Там скрипты с одним именем могут выполнять одни и те же действия.
У меня на блоге статеечка есть, которая немного касается тих вещей.
f_evgeny 13.02.11 11:52 # +0
Там скрипты с одним именем могут выполнять одни и те же действия.

Пардон, седует читать: Там скрипты с одним именем могут выполнять разные действия.
digiwhite 13.02.11 11:54 # +0
Дайте ссылочку на почитать. Можно в личку, а то еще рекламой сочтут.
Sebastian 13.02.11 12:27 # +0
А что делать если home смонтирован с noexec?
digiwhite 13.02.11 12:32 # +1
Есть предположение, что тогда это рабочее место, где правят бал администраторы с коими тогда и предстоит обсуждать этот вопрос.
Philosoft 13.02.11 14:16 # +0
Есть мнение, что noexec на скрипты не распространяется. ☺
Sebastian 13.02.11 14:58 # +0
$ ./test.sh
-bash: ./test.sh: Permission denied
Вполне себе распространяется.
Philosoft 13.02.11 15:10 # +0
k. в следующий раз буду уточнять, что я имею ввиду.
kstep 14.02.11 00:55 # +0
$ sh ./test.sh
Вот так.
shtsh 13.02.11 14:45 # +2
/bin/bash /home/blablabla
?
Sebastian 13.02.11 15:01 # +0
$ /bin/bash ./test.sh
Hello world!
А вот это работает.
digiwhite 13.02.11 11:54 # +0
И, если уж на то пошло, и не хочется выносить личные скрипты куда-то там, то и для этого, есть стандартный путь ~/bin - для каждого пользователя свой.


Да ну. А у меня чего-то не работает.... Если конечно не добавить ~/bin в $PATH.

Так что это либо наглое 4.2 либо давайте ссылку на стандарт (или какой-то другой документ).
shtsh 13.02.11 14:51 # +0
А в арче по-умолчанию не работает /usr/local/bin

в стандарте про скрипты в /home ничего не прописано.

вот цитата про /usr/local
The /usr/local hierarchy is for use by the system administrator when installing software locally


Так что пользовательские скрипты лучше кидать туда. Ибо они и есть то самое "ПО, которого нет в репозитарии"
f_evgeny 13.02.11 16:09 # +1
Не совсем так.
Пользователей может быть много. Каноническая схема:
- иерархия /usr - софт дистрибутива, общий для всех хостов с этим дистрибутивом, ставит администратор
- иерархия /usr/local - софт не входящий в дистрибутив, общий для хоста, ставит администратор
- иерархии /home/$USER - для пользователей, ставят пользователи, каждый себе сам.
Если делать по другому, рано или поздно будут конфликты.
derfenix 13.02.11 18:35 # +0
Другими словами - /usr/local - это то место, куда скидывается то, что не из репозиториев. Для домашней машины пользователь и есть администратор, так что /usr/local - как раз для него.
Если хочешь, чтобы твои скрипты были доступны не только тебе, но и другому пользователю, то в /usr/local/bin - им как раз и место. Не хочешь или нет прав на /usr/local/bin - тогда в ~/bin.
f_evgeny 13.02.11 20:32 # +0
Есть и еще нюансы.
На пользовательские скрипты не нужно делать sudo
В общем, если общие для всего хоста, то да, /usr/local/bin
Если индивидуальные для пользователя, то $HOME, я обычно делаю $HOME/bin
чтобы не заморачиваться, это всем ясно.
derfenix 13.02.11 20:49 # +0
Так и на скрипты в /usr/local/bin не надо делать sudo. Для тех скриптов/программ, которым обязательно нужны права root - есть */sbin
f_evgeny 13.02.11 21:36 # +0
Это же пользовательские скрипты, иэ нужно редактировать, добавлять.
derfenix 13.02.11 22:05 # +0
Для домашней станции проблем с добавлением и редактированием быть не должно - здесь каждый сам себе админ и права рута есть если не у самого пользователя, то у папы/брата/дяди - точно. В остальных случаях добавлять скрипты для всех пользователей и не нужно, хватить и ~/bin
derfenix 13.02.11 15:15 # +0
Вот значит диру в /home добавить в $PATH - можно, а ~/bin - это ж так сложно.
digiwhite 13.02.11 15:43 # +0
Да, лучше для этого создавать левую папку в /home, добавить её в $PATH... Зачем по-твоему стандартные пути существуют?


Это ведь ваши слова, так ведь? :)
derfenix 13.02.11 18:37 # +0
Вот именно. ~/bin - это стандарт, во многих дистрах оно отключено по-умолчанию, но от этого оно не перестаёт быть стандартным местом для пользовательских скриптов. А всякие /home/scripts - это изврат.
digiwhite 13.02.11 18:55 # +0
Пруфлинк то будет или нет? Или номер стандарта. Это HFS или POSIX какой?
derfenix 13.02.11 19:05 # +-3
То, что есть надо ртом, а не задницей - стандарт, хотя и не записано ни в каких ГОСТах...
digiwhite 13.02.11 20:15 # +0
Есть ртом - это врожденный инстинкт. А стандарт - это документ (соглашение), созданое при участии заинтересованных экспертов конкретной области, определеяющее, как все эти люди будут работать в этой области.

Спокойнее надо быть. И подтверждать свои слова фактами.
derfenix 13.02.11 20:28 # +-3
Ну вот и подтверди мне, что есть ртом - врождённый инстинкт, ок?
digiwhite 14.02.11 07:50 # +1
Врожденные инстинкты-это аксиома, так что вы не правы. В обоих случаях, потому, что ссылку на стандарт так же не предоставили. Поэтому дальнейшее обсуждение этого вопроса с вами не целесообразно.
Nikisch 13.02.11 18:22 # +-1
Автор, поправь шапку
sudo mkdir /home/scripts
Во-первых в шапке уоманда md, которой не существует
Во-вторых, более трушно сделать mkdir ~/.scripts

echo PATH="\$PATH:/home/scripts" >> ~/.bashrc
Лучше заменить на
echo 'export PATH=$PATH:/home/$USER/.scripts' >> ~/.bashrc
Т к я лично не понял смысла экранировать кавычки, да и слово export вроде нужно.
#к сожалению, у самого .bashrc давно удален случайно. Как-то живу без него ;)
HellTommy 13.02.11 21:07 # +0
Единственное что не поборол-это переключение языков...Использует язык по-умолчанию, и не хочет переключаться.
philosoft 13.02.11 22:30 # +0
Там же новая сессия, придётся вручную/через скрипт запустить stexkbmap/gconf-daemon/kde-config-daemn/whatever.
HellTommy 14.02.11 18:57 # +0
Всетаки не понял. У меня гном. Можите привести пример скрипта?
philosoft 14.02.11 21:18 # +0
Скрипт старый и в нём многабукаф, лень разбирться. ☺ Нужно добавить вызов gnome-settings-daemon перед загрузкой игры на соответствующем дисплее.
HTaeD 13.02.11 22:55 # +0
Запускаю в отдельном икс-сервере openbox, а из его меню нужную игру. Так же в меню добавил пункт "Logout", который убивает игровые иксы. Удобнее ничего не видел.
philosoft 13.02.11 23:39 # +0
Я использую awesome, запускую игру в оконном режиме, с размером окна в размер экрана, на отдельном теге. Делаю его на весь экран и управляю им средствами вм. Никаких лишних сущностей. Удобнее ничего не видел. ☺
kstep 14.02.11 14:48 # +0
В большинстве случаев поступаю так же, но некоторые игры плохо уживаются с WM, особенно таким необычным, как awesome. Вот для них и приходится запускать отдельно голые иксы с игрой в качестве главного клиента.

Лучшие блоги (все 158)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 3202 из 232 городов)
Топ пользователей Топ блогов

Новенькие: RMNX.riff, spike1986, ms_shark, hdg700, sroot
welinux.ru

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн