Portál AbcLinuxu, 12. května 2025 13:45

Dotaz: automatický příkaz po startu

6.1.2007 19:48 wajsup | skóre: 10
automatický příkaz po startu
Přečteno: 410×
Odpovědět | Admin
K funkčnímu wifi připojení musím po spuštění systému vždy restartovat síť. Netuším proč, ale smířil jsem se s tím, jen mě nebaví pořád psát "sudo etc/init.d/networking restart" a moji ženu jsem to navíc doteď nenaučil. Poradíte mi, jak tento příkaz spustit automaticky u všech uživatelů ? IT znalosti mám minimální. Distro Kubuntu 6.10. Díky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

kozzi avatar 6.1.2007 19:52 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Odpovědět | | Sbalit | Link | Blokovat | Admin
do /etc/rc.local dopis nakonec radek /etc/init.d/networking restart a je to a jakykoliv jinej prikaz kterej chces spoustet po startu systemu staci zapsat sem
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
7.1.2007 14:03 wajsup | skóre: 10
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Díky, ale z nějakého důvodu to nefunguje, předpokládám, že se příkaz provede, ale stejně musím síť restartovat ručně. Je možné, že se takhle restartuje příliš brzy a nějaký K-nástroj (třeba) to pak rozhodí ? Možná by pomohlo nastavit nějakou prodlevu před provedením, jde to ?
kozzi avatar 7.1.2007 14:15 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: automatický příkaz po startu
no hod jsem prosim vypis toho tveho /etc/rc.local jo a ten rc.local tam existova nebo jsi ho musel vytvorit
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
7.1.2007 14:36 wajsup | skóre: 10
Rozbalit Rozbalit vše Re: automatický příkaz po startu
/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/init.d/networking restart

exit 0
Existoval, akorát jsem odkomentoval 1. řádek a přidal ten svůj.
7.1.2007 14:52 Joly
Rozbalit Rozbalit vše Re: automatický příkaz po startu
No tak ten 1. riadok zakomentuj
7.1.2007 19:12 Ash
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Na začátku by mělo být něco jako #!/bin/sh -e, tzv. hash-bang jestli jste to smazal tak šup s tím zpátky. Dále tam píší, že by rc.local měl být executable, aby byl spouštěn, čili chmod +x /etc/rc.local. K tomu "předpokládám, že se příkaz proved" ... je lepší si to nějak ověřit, na předpoklady raději moc nedejte.
7.1.2007 20:09 wajsup | skóre: 10
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Ověřil bych to, kdybych věděl kde, ale zdá se, že už to funguje. Špatně jsem pochopil ten anglický text, myslel jsem, že mám právě ten první řádek "učinit spustitelným", takže teď už ten hash-bang (o kterým jsem doteď neslyšel) mám zpátky. Doufám, že start sítě nebyla náhoda a děkuji vám za radu, zvláště kozzimu (nebo jak se to skloňuje :o). A jen pro úplnost se ptám, jestli je možné dát příkazům nějaký parametr -delay, který by jeho spuštění odložil, prostě mě to zajímá.
kozzi avatar 7.1.2007 20:20 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: automatický příkaz po startu
No to spis zalezi na urcitem programu pokud to ten program podporuje tak jo, ale napriklad tady v tomto pripade by to neslo jelikoz tu jde jen o restart daemona ten pokud se nemilim nic takoveho nepodporuje. Mozna by se dal vytvorit specialni skriptik kterymu by se dal parametr zpozdeni a uloha co ma vykonat, tak by to slo ale myslim si ze pokud nejakej program potrebuje spoustet po urcitem casove odmlce tak ma moznost to nejak nastavit.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
8.1.2007 16:22 Ash
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Obecný parametr není, ale můžete to zkombinovat s příkazem sleep. Osobně pro podobný případ (potřebuji něco spustit pár vteřin po naběhnutí KDE) používám takovýto kód:

#!/bin/bash

# nastav spoždění 20s
DELAY=20

# naplánování restartu sítě, výstup a chybový výstup pak přesměruj donikam, spusť to na pozadí
COMMAND="/etc/init.d/networking restart > /dev/null 2>&1 &"

# informační výpis na consoli, že se za chvíli něco stane
echo "${0}: nerwork will be restarted in $DELAY seconds."

# samotné spuštění - spusť na pozadí (čili další úlohy nečekají) tzv. subshell (to zařídí ty kulaté závorky), v tomto subshellu spi 20s a pak proveď ten naplánovaný příkaz
(nohup sleep $DELAY > /dev/null; eval $COMMAND) &
Už ani nevím proč tak složitě :), asi by to šlo i jednodušeji, mám jej v $HOME/.kde/Autostart/jmeno.sh Skript je potřeba uložit jako jmeno.sh a učinit jej spustitelný chmod +x jmeho.sh. Pokud vám vyhovuje umístění v .kde/Autostart tak třeba tam, spustí se krátce po spuštění KDE, nebo ho volat z /etc/rc.local, to se pak spustí po nabootování a spuštění všech služeb. Příkaz který se má provést je v tomto skriptu v proměnné "COMMAND", výstup jak vidno přesměrován donikam, spouštěn na pozadí.

Ověřit že nějaký skript proběhl lze třeba tak, že do něj např. napíšete date > /home/username/info.txt což vám do souboru info.txt napíše datum a čas, pokud se skript provede. Promiňte že jsem to předtím řekl nevhodně jízlivě :)
8.1.2007 17:22 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Nebo :
sleep 20 && echo "Zde misto prikazu echo bude potrebny prikaz i s pripadnym presmerovanim" &
Po úspěšném dokončení sleepu bude vykonán následující příkaz (a to vše "na pozadí").
8.1.2007 18:36 wajsup | skóre: 10
Rozbalit Rozbalit vše Re: automatický příkaz po startu
Vyčerpávající odpověď, ještě jednou všem děkuji.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.