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

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: render (Linux) - automatické přesunutí do adresáře, spuštění příkazů [vyřešeno]  (Přečteno 3004 krát)

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
Dobrý den

mám následující problém, který nevím jak vyřešit.
Svůj linuxový stroj používám jako renderfarmu. Nainstaloval jsem na ní program 3delight (http://www.3delight.com/en/) podle návodu viz příloha. Problémem je, že rendrování funguje jenom když jsem v csh shellu a když postoupím následující kroky z návodu:

% cd ~/software/3delight-2.1.0/
% unsetenv DELIGHT
% source .3delight_csh


To je ale celkem opruz, protože když chci rendrovat přes ssh (renderdl ssh server /cesta k souboru pro rendrování) tak to nefunguje. Musím se klasicky přes ssh přihlásit na renderfarmu a tam napsat výše uvedené tři řádky a až pak (a to přímo na renderfarmě) zadat příkaz pro rendrování.
Potřebuji tedy poradit co udělat pro to, aby se dané kroky (zadání těch tří řádků) provedlo automaticky při startu systému a aby rendrování fungovalo i z nově otevřeného terminálu (Zatím funguje jenom v tom terminálovém okně, ve kterém zadám ty tři řádky). Ještě jedna věc - program je nainstalovaný v /usr/local/, ale to tomu nevadí.

Děkuji za rady

[attachment deleted by admin]
« Poslední změna: 10 Dubna 2008, 18:30:24 od Anna Taliánová »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Vytvořit kratičký script (jehož obsahem budou vlastně jen ty 3 řádky + úvodní #!/bin/bash), umístit ho do /etc/init.d a zavolat na něj  update-rc.d
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
no já tak trochu tušil, že tajemství je ve skriptu, ale já nevím jak ho vytvořit... má vypadat takhle (?):
#!/bin/csh/
cd ~/software/3delight-2.1.0/
% unsetenv DELIGHT
% source .3delight_csh


použil jsem  /bin/csh/ protože má to být v csh shellu, je to tak správně?

děkuji

« Poslední změna: 09 Dubna 2008, 23:04:31 od Anna Taliánová »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
No v csh sice nedělám, ale tipnu to takto:
Kód: [Vybrat]
#!/bin/csh
unsetenv DELIGHT
source .3delight_csh
cd $DELIGHT/examples/opacity/

PS: ty cesty musíte volit absolutní z hlediska / tj. nepoužívat cd ~ ale např. cd /home/dharjee/software/3delight-2.1.0/
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
Tak jsem ho vytvořil a vypadá takhle:
#!/bin/csh
cd /home/software/3delight-7.0.0
unsetenv DELIGHT
source .3delight_csh


když ale zadám
$update-rc.d

tak mi to vyhodí:
root@Ubuntu:/home/dharjee# update-rc.d
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults|multiuser [NN | sNN kNN]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
                -n: not really
                -f: force


Co dělám špatně?

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
No možná by bylo dobré si přečíst man update-rc.d případně se podívat co to vlastně vypsalo. Dal jsem vám ideu, nikoliv přesné řešení :) PS: update-rc.d už se na fóru řešilo několikrát, zkuste hledat :)

PS: To není neochota, nebo "buzerace", ale snaha něčemu naučit :) ;)
« Poslední změna: 09 Dubna 2008, 23:16:37 od Petr 'Merlin' Vaněček »
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
rozumim  :)

tak jsem to zkusil (jak s #!/bin/bash tak s #!/bin/csh)
zadal jsem sudo update-rc.d jmenosouboru defaults, vše proběhlo v pořádku, ale pořád to zdá se nefunguje.

děkuji
« Poslední změna: 10 Dubna 2008, 09:15:58 od Anna Taliánová »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Tak jinak - co tyhle tři příkazy mají za úkol udělat? Pokud jsem to pochopil, tak načíst nějaký standardně používaný soubor, který je potřeba pro render (který se spouští jinak)?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
Ano, taky tak tomu rozumím, že by to měli provést. Unsetenv smaže nějakou systémovou proměnnou (ale to asi víte) a source .3delight_csh určuje který shell na to budu používat. Pro zajímavost, když namísto csh zadám bash, tak mi vyskočí hláška: DL_PLAT: Undefined variable.
Ještě jedna věc co jsem zjistil. V návodě je napsáno:
Finally, you should add the following line to your `.login' file:
source ~/software/3delight-2.1.0/.3delight_csh


-z čeho jsem porozuměl, že příkaz mám zadat do rc.local (/etc/rc.local) -s absolutní cestou, aby se to provádělo při startu systému. Ale jak pozoruji, tak to nefunguje. Prohlédl jsem si i fórum, ale pomoc jsem nespatřil  :(

Děkuji
« Poslední změna: 10 Dubna 2008, 09:15:46 od dharjee »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
No tak tak to není :) Odstraňte ten script po spuštění a smažte jej.
Do Vašeho ~/bash_profile přidejte na konec
Kód: [Vybrat]
cd ~/software/3delight-2.1.0/
% unsetenv DELIGHT
% source .3delight_csh

Tento soubor slouží k vykonání určitých příkazů při přihlášení uživatele.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
tak ja u sebe ten soubor nevidim. Mam tam napr.: .bashrc anebo .profile. Na netu jsem nasel, ze .bashrc je to same bash_profile. Je to pravda?

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
No úplně to samé to sice není (login x non-login shell), ale dát to tam můžete také.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

dharjee

  • Aktivní člen
  • *
  • Příspěvků: 129
Tak vyreseno nasledujicim zpusobem:

1. do /etc/init.d/boot.local pridat "source /usr/local/3delight-7.0.0/.3delight_csh
2. do /etc/csh.cshrc pridat na konec:
   cd /usr/local/3delight-7.0.0/
   unsetenv DELIGHT
   source .3delight_csh
3. do /etc/csh.login pridat na konec to same jako v bode 4
4. v /etc/passwd zmenit shell u uzivatelu a u roota na csh

pak samozrejme vytvorit stejneho uzivatele s root pravy jako na vzdalene masine. Popripade se stejnou cestou k domovskemu adresari.A funguje to perfektne

Dekuji vsem




Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5058
    • Lomítkáři
Výborně :)
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

 

Provoz zaštiťuje spolek OpenAlt.