Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: plandz в May 21, 2012, 20:51



Титла: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: plandz в May 21, 2012, 20:51
Здравейте,колеги!

Имам молба от една госпожица да и направя нещата така,че да не се занимава с конзола и да си играе игрите в PlayOnLinux.Сценарият е такъв:

1. Системата е Кубунту 12.04.
2. Игрите са инсталирани на лаптоп със система от две карти (Интел и НВидиа),т.нар.Optimus,който се задейства от приложението BumbleBee и когато се играят игри се включва втората карта (НВидиа).Това е направено и работи.
3. Игрите се състоят от по две СД-та,като първото от тях е инсталирано в PlayOnLinux,а второто трябва предварително (т.е. преди да се стартира съответната игра),да се маунтне и то точно в /media/cdrom.Всички втори СД-та са iso-файлове.
4. PlayOnLinux се стартира с командата optirun playonlinux,която включва втората карта да работи с PlayOnLinux

Аз и направих един скрипт,който предварително маунтва съответното второ СД:
sudo mount -o loop път-до-второто-сд-на-играта /media/cdrom
и тя трябваше да го стартира в конзола и да пише паролата си всеки път преди да стартира PlayOnLinux,но това и се видя сложно.

Може ли да се направи така,че да се напише скрипт,който да маунтва съответното второ СД автоматично и да стартира и PlayOnLinux без тя да се занимава с конзола?

Маунтването е с руут права,та не знам дали е възможно.

Благодаря ви предварително!


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: Bagatur в May 21, 2012, 21:07
Има един начин при който не е нужен никакъв скрипт. Но не знам дали те устройва? До колкото рабирам играта е закупена така че надявам се да не обидя никого. Все пак дай малко инфо коя е играта и т.н.
 
Например no-cd crack  :)

Мисля че ще е много по лесно от писането на скрипт. А и едва ли щее по лесно да го изпълни от колкото това да монтира исото.
Инъче се сещам за един вариант. промерно можеш да го добавиш в fstab  и ще се монтира автоматично.
За целта:
Код:
sudo nano /etc/fstab
добавяш следния ред (надявам се да не съм объркал нещо)/home/$username/game.iso /media/cdrom 0 iso9660 ro,loop,auto 0 0
в твоя случай мисля че трябва да добавиш само /media/cdrom  iso9660 ro,loop,auto 0 0
Код:
mount -a


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: plandz в May 21, 2012, 21:19
Ами например една от игрите е GTA 3 на 2 СД-та.Нейна собственост е.


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: Bagatur в May 21, 2012, 21:24
Ами например една от игрите е GTA 3 на 2 СД-та.Нейна собственост е.

Еми значи не ощетяваш никого  ^-^ Тегли един крак и го слагай. Само че ако можеш разбери дали сработва във виното съответно playonlinux ама то се там


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: v_badev в May 22, 2012, 09:48
Може да монтираш iso-тата с fuseiso. Тази програма не изисква root права, но за да става монтирането без sudo в /media/cdrom ще трябва да направиш текущият потребител собственик на директорията.


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: tolostoi в May 22, 2012, 22:51
Виж cdemu. С него се монтират, с десен клик на мишката от файловият мениджър, права не иска. Има си команди от конзола, ако искаш скриптове да пишеш.

http://cdemu.sourceforge.net/
https://launchpad.net/~cdemu/+archive/ppa


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: plandz в May 24, 2012, 22:34
Виж cdemu. С него се монтират, с десен клик на мишката от файловият мениджър, права не иска. Има си команди от конзола, ако искаш скриптове да пишеш.

http://cdemu.sourceforge.net/
https://launchpad.net/~cdemu/+archive/ppa

Благодаря за всички предложения досега!
По-горе ми говореха за крак,но игрите са си нейна собственост,затова си позволих да пусна тази тема.Всичко е легално,темата е за създаване на удобство,а не за кракване.

@tolostoi
Ще пробвам предложението ти,засега май то е най-приложимото към изискванията.

@v_badev
Не виждам с какво fuseiso е по-различно от от ръчното монтиране.

Благодаря на всички за изказаните мнения досега!


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: zeridon в May 25, 2012, 11:19
Нека започна с няколко предположения:

* легални игри (купени и т.н.)
* необходимите ISO-та се намират в една директория (или нейни поддиректории)
* машината има инсталирано судо.

Като цяло не е никакъв проблем потребител да монтира някои исо-та без да го пита за парола

идеята е че посредством судо могат да се дадат ограничени права

пример:
Код
GeSHi (Bash):
  1. Alias MOUNT_UNMOUNT_PLAYON_ISO=mount -o loop,ro -t iso9660 /home/user/playonlinux/isos/*.iso /media/cdrom,umount /media/cdrom
  2.  
  3. user NOPASSWD: MOUNT_UNMOUNT_PLAYON_ISO

В последствие трябва да се измисли скрипт (примерно по един на игра или някакъв комбиниран) който да монтира исо-то, да пуска играта и след като свърши да го размонтира

Пример:
Код
GeSHi (Bash):
  1. #!/usr/bin/env bash
  2. # set -xe
  3. #
  4. # simple playonlinux wrapper
  5.  
  6. ISO_HOME='/home/user/playonlinux/isos'
  7. GAME=$1
  8.  
  9. if [ -r ${ISO_HOME}/${GAME}.iso ] ; then
  10.  # go nuts
  11.  sudo mount -o loop,ro -t iso9660 ${ISO_HOME}/${GAME}.iso /media/cdrom
  12.  optirun playonlinux
  13.  sudo umount /media/cdrom
  14. else
  15.  # upps no game
  16.  echo 'Game not found ... Do you have it??'
  17. fi
  18.  

Допълнителни забележки:
 * SUDO е малко заядлив за синтаксис и формат на редовете за това се препоръчва да се ползва командата visudo за редактиране на конфигурацията му. Спестява много главоболия
 * предполага се че optirun не се форква и реално шела ще си остане работещ докато се цъка играта.
 * скрипта може да е един и да се сложи примерно в ~/bin и да се вика с параметър името на исото
 * могат да се направят различни launcher-и които да подават на скрипта параметър името на исото.
 * Нотификацията при липсващо исо може да се направи графична (има предостатъчно софтуер инсталиран на мшината със сигурност: примерно dialog, nepomuk и т.н.)


Титла: Re: Скрипт за стартиране на игри в PlayOnLinux
Публикувано от: v_badev в May 28, 2012, 10:24
plandz, да взема да повторя, че явно не четеш какво точно съм писал. fuseiso не иска root права за монтиране на диска, стига да го монтираш в директория, която е собственост на твоят потребител/група. За да работи ще трябва и да добавиш потребителя в групата fuse. Правата на /media/cdrom може да смениш с командата „sudo chown $USER /media/cdrom“.