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: Spuštění scriptu při startu systému  (Přečteno 1928 krát)

Richard Závodný

  • Návštěvník
  • Příspěvků: 17
  • Programátor, Webař, Grafik - Ubuntu 16.04 64-bit
    • Richard Závodný (Portfolio)
Spuštění scriptu při startu systému
« kdy: 09 Dubna 2016, 17:38:43 »
Zdravím,
snažím se docílit spuštění scriptu po startu/rebootu systému, ale jaksi se mi to nedaří. :(

Mám cestu k souboru (dávám příklad): /cesta/k/memu/scriptu.sh a chci, aby se po každém spuštění systému ten script spustil a vykonal, co má.

Zkusil sem Crontab, Initscript, Příkaz v rc.local a prostě to nefunguje a já nevím proč. :(
Už jsem z toho docela mrzutý.

Díky,
Richard
Programátor, Webař, Grafik - Ubuntu 14.04 64-bit

juwa2

  • Závislák
  • ***
  • Příspěvků: 4935
Re:Spuštění scriptu při startu systému
« Odpověď #1 kdy: 09 Dubna 2016, 18:23:20 »
Použij "Aplikace spouštěné při přihlášení" A máš u toho scriptu nastavenou spustitelnost?
http://askubuntu.com/questions/48321/how-do-i-start-applications-automatically-on-login
Můžeš rovněž vytvořit  [Desktop Entry] a uložit jako  ~/.config/autostart/můj_autostart.desktop
příklad:
Kód: [Vybrat]
[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true
------------------------------------------------------------------------
Pokud tě zajímá spuštění po rebootu:
Kód: [Vybrat]
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename
sudo update-rc.d filename defaults
kde "filename" je název tvého skriptu
« Poslední změna: 09 Dubna 2016, 18:43:26 od juwa2 »

Jakub Vaněk

  • Stálý člen
  • **
  • Příspěvků: 752
    • Web programátora a studenta Jakuba Vaňka
Re:Spuštění scriptu při startu systému
« Odpověď #2 kdy: 09 Dubna 2016, 18:32:32 »
Použij "Aplikace spouštěné při přihlášení" A máš u toho scriptu nastavenou spustitelnost?
http://askubuntu.com/questions/48321/how-do-i-start-applications-automatically-on-login
Tipuji že vzhledem k dotazu http://forum.ubuntu.cz/index.php?topic=75758 to asi nebude desktop. Funguje ten skript, když jej spustíš z konzole? Zkus do toho skriptu dát ladící hlášky. Ten v rc.local může potřebovat spustit na pozadí pomocí znaku &, ale to asi nebude ono.
Notebook: Lenovo Thinkpad X200, Xubuntu 16.04

Richard Závodný

  • Návštěvník
  • Příspěvků: 17
  • Programátor, Webař, Grafik - Ubuntu 16.04 64-bit
    • Richard Závodný (Portfolio)
Re:Spuštění scriptu při startu systému
« Odpověď #3 kdy: 09 Dubna 2016, 20:46:31 »
Takže, jsem to "vyřešil" následovně. V /etc/rc.local mám příkaz, který volá start-servers.sh, který je umístěn v /etc/init.d a ten volá /home/minecraft/server01/start.sh a ten zase volá .jar (v tom samém úložišti), který vytváří adresářovou struktůru (pokud ještě není vytvořená).

Problém je, že start-servers.sh ten soubor (start.sh) jakoby includuje, tj. on ho vloží do "svého těla" a potom vykoná příkazy, které v něm jsou obsaženy jakoby na sebe (tj. do svého úložiště /etc/init.d).

Když toto nefixnu, tak se dál nepohnu. :/ Jdu dále zkoušet metodu pokus/omyl, takže kdyby někdo věděl, budu moc rád. :)
Programátor, Webař, Grafik - Ubuntu 14.04 64-bit

Jakub Vaněk

  • Stálý člen
  • **
  • Příspěvků: 752
    • Web programátora a studenta Jakuba Vaňka
Re:Spuštění scriptu při startu systému
« Odpověď #4 kdy: 10 Dubna 2016, 09:06:11 »
Takže, jsem to "vyřešil" následovně. V /etc/rc.local mám příkaz, který volá start-servers.sh, který je umístěn v /etc/init.d a ten volá /home/minecraft/server01/start.sh a ten zase volá .jar (v tom samém úložišti), který vytváří adresářovou struktůru (pokud ještě není vytvořená).

Problém je, že start-servers.sh ten soubor (start.sh) jakoby includuje, tj. on ho vloží do "svého těla" a potom vykoná příkazy, které v něm jsou obsaženy jakoby na sebe (tj. do svého úložiště /etc/init.d).

Když toto nefixnu, tak se dál nepohnu. :/ Jdu dále zkoušet metodu pokus/omyl, takže kdyby někdo věděl, budu moc rád. :)
Myslím že tuším, co tím myslíš. Ten start-servers.sh includuje to druhý pomocí tečky, přes exec a nebo jej jen spustí a nebo jak? Každopádně jestli potřebuješ, aby se ten skript "vykonával" v nějaké složce, použij cd, pokud chceš jít do složky, kde se nachází, tak zkus tohle:
Kód: [Vybrat]
cd -P -- "$(dirname -- "$0")"EDIT: ještě mám takovou poznámku, a to že by to chtělo, aby ten jar běžel pod jiným uživatelem než root.
« Poslední změna: 10 Dubna 2016, 09:11:32 od Jakub Vaněk »
Notebook: Lenovo Thinkpad X200, Xubuntu 16.04

Richard Závodný

  • Návštěvník
  • Příspěvků: 17
  • Programátor, Webař, Grafik - Ubuntu 16.04 64-bit
    • Richard Závodný (Portfolio)
Re:Spuštění scriptu při startu systému
« Odpověď #5 kdy: 10 Dubna 2016, 19:32:57 »
Takže, jsem to "vyřešil" následovně. V /etc/rc.local mám příkaz, který volá start-servers.sh, který je umístěn v /etc/init.d a ten volá /home/minecraft/server01/start.sh a ten zase volá .jar (v tom samém úložišti), který vytváří adresářovou struktůru (pokud ještě není vytvořená).

Problém je, že start-servers.sh ten soubor (start.sh) jakoby includuje, tj. on ho vloží do "svého těla" a potom vykoná příkazy, které v něm jsou obsaženy jakoby na sebe (tj. do svého úložiště /etc/init.d).

Když toto nefixnu, tak se dál nepohnu. :/ Jdu dále zkoušet metodu pokus/omyl, takže kdyby někdo věděl, budu moc rád. :)
Myslím že tuším, co tím myslíš. Ten start-servers.sh includuje to druhý pomocí tečky, přes exec a nebo jej jen spustí a nebo jak? Každopádně jestli potřebuješ, aby se ten skript "vykonával" v nějaké složce, použij cd, pokud chceš jít do složky, kde se nachází, tak zkus tohle:
Kód: [Vybrat]
cd -P -- "$(dirname -- "$0")"EDIT: ještě mám takovou poznámku, a to že by to chtělo, aby ten jar běžel pod jiným uživatelem než root.

No, tak jsem to vyřešil tak, že jsem nepsal absolutní cestu ke scriptu, ale nejdříve jsem se přesunul do adresáře kde se daný script nachází příkazem cd. Díky za rady, to bude všechno. Spuštění při startu systému funguje, tj. byla chyba v tom scriptu který to špatně interpretoval. :)
Programátor, Webař, Grafik - Ubuntu 14.04 64-bit

 

Provoz zaštiťuje spolek OpenAlt.