Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky  (Přečteno 9442 krát)

Jan Nekvasil

  • Stálý člen
  • ***
  • Příspěvků: 620
  • Karma: +61/-0
    • Zobrazit profil
Tento návod je již zastaralý, zbytečně kompikovaný a vyžadující instalaci nadbytečných knihoven (gdiplus.dll) a balíků (xautolock). Nový, notně zjednodušený návod naleznete ZDE.


Tento návod krok za krokem ukazuje jak nainstalovat a zprovoznit Dream Aquarium, šetřič obrazovky pro Windows, jako zcela plnohodnotný šetřič v Linuxu. Dá se však obecně použít i pro libovolný jiný šetřič či aplikaci automaticky spouštěnou při nečinnosti počítače.

Předpokládá se pouze základní znalost práce v terminálu a grafická karta zvládající 3D. Zkoušená Nvidia GeForce 7300 GT na mém desktopu vykresluje zcela plynule, integrovaná Intel 945GM v notebooku už mnohem hůře, navíc s ní DA občas nenaběhne a vytíží CPU na 100%. Výsledky se tedy mohou lišit.

Návod je míněn i pro úplné začátečníky, snaží se vysvětlit nejen co se odehrává, ale i jak a proč. Prosím proto ostřílené harcovníky o shovívavost k někdy až příliš polopatickým komentářům.



Nejdříve je třeba si nainstalovat balíčky wine (podpora běhu aplikací pro Windows v UNIXu) a xautolock (spouštění libovolné aplikace po určité době nečinnosti):

Kód: [Vybrat]
sudo apt-get install wine xautolock
Dále si připravíme novou „vinnou láhev“, tj. běhové prostředí wine rezervované čistě pro Dream Aquarium. Má to tu výhodu, že se nám DA nebude plést dohromady s ostatními aplikacemi a půjde snadno zazálohovat i obnovit. V okně „Konfigurace Wine“ nic neměňte, pouze potvrďte výchozí nastavení.

Kód: [Vybrat]
export WINEPREFIX=$HOME/.wine-DreamAquarium
mkdir $WINEPREFIX
winecfg

Důležité upozornění: Pokud si v průběhu instalace nebo experimentování omylem zavřete okno terminálu, nezapomeňte opět nastavit proměnnou WINEPREFIX příkazem export WINEPREFIX=$HOME/.wine-DreamAquarium. Pokud vám začne zlobit samotné wine, zkuste příkaz wineboot, simulující restart Windows. Při případném vytížení procesoru na 100% a mohutném rozhučení se ventilátorů ukončete co nejdříve proces, který toto způsobil.

Nyní si stáhneme podpůrnou knihovnu, nezbytnou pro běh DA ve wine, poté samotné DA a hned jej i nainstalujeme. Instalátor nabízí možnost DA rovnou vyzkoušet – určitě ji využijte.

Kód: [Vybrat]
wget -O $WINEPREFIX/drive_c/windows/system32/gdiplus.dll http://dreamaquarium.com/gdiplus.dll
wget http://dreamaquarium.com/DreamAquariumXP.exe
wine DreamAquariumXP.exe

Teď k samotnému zprovoznění DA coby šetřiče obrazovky. V oblíbeném textovém editoru (zde gedit) vytvořte soubor ~/.wine-DreamAquarium/start.sh:

Kód: [Vybrat]
gedit $WINEPREFIX/start.sh
Zkopírujte do něj následující kód a uložte. Do proměnné processblock si můžete přidat další aplikace, při jejichž běhu nebude šetřič spouštěn (většinou přehrávače multimédií). Proměnná titleblock pak obsahuje řetězce, při jejichž výskytu v titulku aktivního okna šetřič rovněž nenaběhne (hodí se zejména pro videa ve flashi na Youtube). Jednotlivé výrazy je třeba oddělit znakem roury (pipe),  „|“.

Kód: [Vybrat]
#!/bin/sh

processblock="totem|totem-gstreamer|totem-xine|mplayer|vlc"
titleblock="YouTube - |Vimeo, | on Vimeo"

[ "$(pgrep -u $USER "(DreamAquarium.scr|$processblock)$")" ] && exit
[ "$(xwininfo -id $(xprop -root | sed -n "/_NET_ACTIVE_WINDOW(WINDOW)/s/.* //p") | egrep "\".*($titleblock).*\"")" ] && exit

sudo -u $USER WINEPREFIX=$HOME/.wine-DreamAquarium wine 'C:\windows\DreamAquarium.scr' -S

Povšimněte si prosím příkazu sudo -u $USER v posledním řádku. Říká, že wine má být spuštěno explicitně pod vaším uživatelským účtem. Jde o důležitou obezličku, bez níž by automatické spouštění pomocí xautolock u aplikací pro Windows nefungovalo. Proč tomu tak je, nevím (přišel jsem na to metodou pokus-omyl-intuice), třeba to objasní někdo zkušenější dole v diskuzi.

Ješte povolte spouštění tohoto souboru nastavením spustitelného příznaku a rovnou vyzkoušejte:

Kód: [Vybrat]
chmod +x $WINEPREFIX/start.sh
$WINEPREFIX/start.sh

Pokud neběží některý proces ze seznamu blockers, DA by se mělo nyní spustit.

V dalším kroku už vyzkoušíme DA přímo jako šetřič:

Kód: [Vybrat]
xautolock -time 1 -resetsaver -locker $WINEPREFIX/start.sh
Parametr -time udává, po kolika minutách se má šetřič spustit, -resetsaver zabraňuje ve spuštění standardně používanému šetřiči, a konečně -locker udává, co se má spustit místo něj. Nyní buďto můžete minutu počkat, nebo v dalším okně terminálu spustit:

Kód: [Vybrat]
xautolock -locknow
čímž se spořič spustí okamžitě.

Zbývá jen nastavit automatické spouštění xautolocku po přihlášení. V GNOME můžete přidat  v Systém —> Volby —> Sezení příkaz:

   xautolock -time minuty -resetsaver -locker .wine-DreamAquarium/start.sh

Hodnotu minuty nahraďte údajem, po kolika minutách nečinnosti se má šetřič spouštět. Po znovunalogování už by mělo vše fungovat, jak má.


A hlavně: Nezapomínejte občas nakrmit své rybičky! (klávesou F)  :)


Změny a opravy:
  • 080108: Opravena detekce již běžící instance DA v start.sh:  DreamAquarium.scr —> Dream_Aquarium\.
  • 080108: Odstraněno vyžadování kompletní cesty při přidávání xautolock do programů spouštěných při přihlášení – funguje to i bez toho.
  • 080109: Přidána detekce titulku aktivního okna pro flashová videa v prohlížeči.
« Poslední změna: 25 Květen 2010, 21:44:40 od Jan Nekvasil »

Jan Nekvasil

  • Stálý člen
  • ***
  • Příspěvků: 620
  • Karma: +61/-0
    • Zobrazit profil
Přidal jsem oproti prvotní verzi velmi zajímavou „fíčurku“, kterou běžné šetřiče nemívají: blokování spuštění šetřiče v závislosti na titulku aktivního okna. Výborně se to hodí pro flashová videa na Youtube, Vimeo atd., která běží zapouzdřena v prohlížeči a nejsou sama o sobě schopna se se šetřičem nijak rozumně domluvit.

Změna je v obsahu souboru ~/.wine-DreamAquarium/start.sh, jednoduše nahraďte ten stávající výše uvedeným v návodu.
« Poslední změna: 09 Leden 2009, 23:47:59 od Jan Nekvasil »

Fsdrak

  • Návštěvník
  • *
  • Příspěvků: 12
  • Karma: +0/-1
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #2 kdy: 16 Leden 2009, 01:06:23 »
Toto je rpostě vynikající, jsem začátečník, a od samého začátku co dělám s ubuntu, jsem nečetl lepší návod než je tento!.Vynikající!Dream aquarium je super, jediná vada na kráse je ze to je pouze deamo verze..myslíte ze by to šlo nějak zlomit i pod Linuxem?Vím windows to není, ale kdo ví, brácha to má na Vistě a je na to crack, proto se ptám.Jinak tleskám za skvělý návod!!!!!Vřele doporučuji všem!

ubuntuman

  • Host
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #3 kdy: 16 Leden 2009, 09:38:26 »
Mno to je parádní, že jste tady všichni tak inteligentní :D já jen potvrzuju pravidlo ;) nějaká rada?

Kód: [Vybrat]
johny@johny:~$ xautolock -locknow
No process with PID 18710, or the process is owned by another user.
johny@johny:~$

Jan Nekvasil

  • Stálý člen
  • ***
  • Příspěvků: 620
  • Karma: +61/-0
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #4 kdy: 16 Leden 2009, 23:58:27 »
Toto je rpostě vynikající, jsem začátečník, a od samého začátku co dělám s ubuntu, jsem nečetl lepší návod než je tento!.Vynikající!Dream aquarium je super, jediná vada na kráse je ze to je pouze deamo verze..myslíte ze by to šlo nějak zlomit i pod Linuxem?Vím windows to není, ale kdo ví, brácha to má na Vistě a je na to crack, proto se ptám.Jinak tleskám za skvělý návod!!!!!Vřele doporučuji všem!

Opravdu moc by mne mrzelo, kdyby můj návod posloužil k tomu, aby někdo provozoval cracklou verzi Dream Aquarium v Linuxu. Alan Kapler, vývojář DA, do něj investoval spoustu svého času, úsilí a umu, navíc jej nadále neustále vylepšuje. Těch 20$, které žádá za plnou verzi, mi i přes klesající kurz koruny přijde jako rozumná a odpovídající částka. 20% ze zisku navíc jde na enviromentální charitu, tj. záchranu životního prostředí. S plnou verzí také dostáváte updaty obsahující nové rybky a jiná vylepšení, což dle popisu cracku, o kterém je zde zřejmě řeč, není možné, protože vyžaduje (ve Windows) zablokování přístupu DA k Internetu.

Svět Linuxu není světem warezu.

Zkuste se nad tím zamyslet.
« Poslední změna: 17 Leden 2009, 00:20:41 od Jan Nekvasil »

Jan Nekvasil

  • Stálý člen
  • ***
  • Příspěvků: 620
  • Karma: +61/-0
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #5 kdy: 17 Leden 2009, 00:17:50 »
Mno to je parádní, že jste tady všichni tak inteligentní :D já jen potvrzuju pravidlo ;) nějaká rada?

Kód: [Vybrat]
johny@johny:~$ xautolock -locknow
No process with PID 18710, or the process is owned by another user.
johny@johny:~$

Zkuste poté, co vám to vypíše zmíněnou chybovou hlášku, zadat:

  ps -F p cisloprocesu

přičemž cisloprocesu bude to číslo za PID.

Pokud to nevypíše nic, xautolock zřejmě neběží – zkontrolujte terminál, ze kterého byl spuštěn. Pokud jako vlastník procesu bude uveden jiný uživatel než vy (johny),  napište sem kdo to je a my už si jej podáme. ;)

ABCD

  • Návštěvník
  • *
  • Příspěvků: 7
  • Karma: +0/-0
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #6 kdy: 29 Leden 2009, 21:01:45 »
Naprosto souhlasím s tím co řekl Jan Nekvasil ohledně použití cracku pro tento prográmek.
To věci nikterak nepřispěje, spíše naopak.
Sám uvažuji o zakoupení plné verze a teď, když se mi podařilo díky skvělému návodu rozjet DA i na mém
PC s UBUNTU tak moje úvahy sílí.

Protože jsem ale linuxová lama, která se ráda vrtá ve věcech kterým moc nerozumí,
tak jsem si ze cvičných důvodů DA na ubuntu cracknul. :(

Stydím se za to. ;)
A slibuji, že jakmile si plnou verzi zakoupím, všechny své cracklé verze tohoto programu smažu!!! :D :D
« Poslední změna: 29 Leden 2009, 23:02:34 od ABCD »

kafooo

  • Návštěvník
  • *
  • Příspěvků: 95
  • Karma: +2/-2
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #7 kdy: 02 Únor 2009, 21:12:55 »
Vypadá to moc pěkně, jen mám menší problém,
při tomto kroku :

xautolock -time 1 -resetsaver -locker $WINEPREFIX/start.sh

po napsani do terminalu se hodi kurzor o radek niz, blika a to je vse.
Pri napsani prikazu xautolock -locknow to vypise :
No process with PID 10589, or the process is owned by another user

pri prikazu kafooo@laptop:~$ ps -F p 10589   to vypise :
UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
root     10589     1  0   742  1080   0 20:58 ?        S      0:00 xautolock -ti

Co s tim???

Jan Nekvasil

  • Stálý člen
  • ***
  • Příspěvků: 620
  • Karma: +61/-0
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #8 kdy: 03 Únor 2009, 01:50:55 »
Problém bude zřejmě v tom sudo -u $USER v souboru start.sh. Nespouštěl jste jej náhodou z rootovského terminálu? Podle vašeho výpisu vidím, že je ten proces vlastněn uživatelem root, měl by to být kafooo. Zkuste dát v terminálu sudo -u $USER nautilus (na spouštění grafických aplikací by se sice mělo používat gksudo, ale projednou se svět nezboří). Měla by se vám otevřít vaše domovská složka, ne rootovská, jinak je něco špatně.

Pak mne ještě tak napadá, že by to mohlo být prvním řádkem v start.sh, který říká, že skript bude spuštěn ve výchozím shellu. Zkuste jej změnit z toho #!/bin/sh na #!/bin/bash, ať se to spouští explicitně v bashi. Mám takové podezření, že to bude právě tím.

Dejte vědět, jestli to zabralo, upravil bych pak podle toho návod.

kafooo

  • Návštěvník
  • *
  • Příspěvků: 95
  • Karma: +2/-2
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #9 kdy: 03 Únor 2009, 14:36:20 »
Dnes po spusteni pc a minute necinnosti sporic nabehl, presto jsem vyzkousel rady...

sudo -u $USER nautilus otevre domovskou slozku, ne rootovskou

Vyzkousel jsem zmenu prvniho radku ve start.sh a v terminale to dela uplne to stejne, jen po vypnuti a naslednem zapnuti pc uz sporic nejede...

Vyzkousim to komplet smazat a nainstalovat znova
Edit
Tak jsem to komplet premazal, pri napsani xautolock -time 1 -resetsaver -locker $WINEPREFIX/start.sh mi to vypsalo hlasku, ze xautolock is already running (mozna proto, ze ho mam v sezeni, aby se spoustel po startu pc)
Kazdopadne to vypada, ze to funguje, kdyby se vyskytl problem, dam vedet
« Poslední změna: 03 Únor 2009, 14:48:59 od kafooo »

play3man

  • Člen
  • **
  • Příspěvků: 287
  • Karma: +10/-3
    • Zobrazit profil
Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #10 kdy: 28 Leden 2010, 20:17:14 »
wine DreamAquariumXP.exe
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  19 (X_DeleteProperty)
  Resource id in failed request:  0x6e00005
  Serial number of failed request:  1064
  Current serial number in output stream:  1072

nejaká pomoc???
Stovky článků o hrách pro konzole značek Sony PlayStation, Microsoft Xbox a Nintendo. Sortiment se každým dnem rozšiřuje! Konzolista.cz
https://www.facebook.com/konzolista.cz
http://konzolista.tiscali.cz/

radin

Re: Krok za krokem: Dream Aquarium jako funkční šetřič obrazovky
« Odpověď #11 kdy: 22 Únor 2010, 21:12:36 »
Hm..., dopadl jsem v podstatě stejně:
Kód: [Vybrat]
~$ wine DreamAquariumXP.exe
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  18 (X_ChangeProperty)
  Resource id in failed request:  0x6200005
  Serial number of failed request:  979
  Current serial number in output stream:  1003
/code]
Nobody is perfect!