Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Iets toevoegen aan je opstart service  (gelezen 2921 keer)

Iets toevoegen aan je opstart service
« Gepost op: 2008/11/17, 14:43:48 »
Hallo en een goedendag allen

Ik ben sinds een paar maanden bezig met Ubuntu en het bevalt me zeer prima
Heb een hoop voor elkaar weten te krijgen..Alleen nu heb ik SABnzbd geplaatst, nu wil ik die SABnzbd.py automatisch laten opstarten ...
als mijn linux weer opstart...Hoe krijg ik dat voor elkaar?
There are no stupid questions, just stupid people.

Re: Iets toevoegen aan je opstart service
« Reactie #1 Gepost op: 2008/11/17, 14:46:06 »
Systeem=>voorkeruen=>sessies

Daar kunt ge programmas toevoegen die mee moeten opstarten.

Re: Iets toevoegen aan je opstart service
« Reactie #2 Gepost op: 2008/11/17, 14:48:57 »
Hartelijk dank voor uw snelle reactie, mag ik u ook vragen hoe dit op de commandline gebeurt?
Byvoorbeeld als ik een ssh verbinding heb zonder X window, byvoorbeeld?
There are no stupid questions, just stupid people.

Re: Iets toevoegen aan je opstart service
« Reactie #3 Gepost op: 2008/11/17, 14:54:55 »
Hmm, volgens mij kunt ge de desktop file van het programma (staat normaal in /usr/share/applications/) kopieren naar de map /usr/share/autostart/ .

Re: Iets toevoegen aan je opstart service
« Reactie #4 Gepost op: 2008/11/17, 15:18:54 »
items in /usr/share/autostart/  worden denk ik alleen opgestart vanuit Gnome/KDE. Bij alleen een (bash) shell via ssh moet je het hebben van het bestand .profile in je home waar je je commandos aan toevoegt. Of bedoel je dat iets moet opstarten nog voordat je hebt ingelogd?
 
« Laatst bewerkt op: 2008/11/17, 15:21:03 door AptlyNamed »

Re: Iets toevoegen aan je opstart service
« Reactie #5 Gepost op: 2008/11/17, 15:39:31 »
....in principe heb ik het nu wel aan de gang, visueel een paar klikken ...En het zou alleen op moeten starten als een bepaalde user inlogt.
Dit is nu, inderdaad vrij makkelijk..met een paar klikken te realiseren..maar ik zou het ook graag op de commandline willen weten.
En heel eerlijk, ik heb toch een tijdje gegoogled...om vervolgens toch maar deze vraag hier te deponeren...leren is leuk, ontdekken helemaal..maar als je spaak loopt...dan maar even de support benaderen...

Dus wat ik nu in Voorkeuren -> Sessies -> En dan de SABnzbd.py toevoegen aan de regel...dat lukt me nu wel..
maar wat....te doen met een Putty ssh config?
(Ben ook sinds een half jaartje bezig hoor...en de commando's heb ik dan wel uitgeprint...en naast me liggen maar soms zie ik de bomen door het bos niet meer.....)
There are no stupid questions, just stupid people.

Re: Iets toevoegen aan je opstart service
« Reactie #6 Gepost op: 2008/11/17, 15:52:43 »
Hallo Robin, per gebruiker moet je in /home/gebruikersnaam/.bashrc zijn. Daar kun je SABnzbd.py aan toevoegen en als een gebruiker met SABnzbd.py in zijn .bashrc inlogt start de boel. Wil je SABnzbd.py opstarten als het systeem start dan moet je in /etc/rc.local zijn.

Re: Iets toevoegen aan je opstart service
« Reactie #7 Gepost op: 2008/11/17, 16:18:46 »
.bashrc wordt volgens mij alleen uitgevoerd als je een shell opent vanuit Gnome/KDE anders alleen .profile (zie 'man bash') .

Re: Iets toevoegen aan je opstart service
« Reactie #8 Gepost op: 2008/11/17, 18:25:08 »
Ik heb Pidgin op deze manier toegevoegd , en toch start Pidgin NIET mee op.

Iemand een ideetje ?

Re: Iets toevoegen aan je opstart service
« Reactie #9 Gepost op: 2008/11/17, 18:34:45 »
.bashrc wordt volgens mij alleen uitgevoerd als je een shell opent vanuit Gnome/KDE anders alleen .profile (zie 'man bash') .
Klopt, zat ernaast  ^-^
Citaat
       When an interactive shell that is not a login shell  is  started,  bash
       reads  and  executes  commands  from /etc/bash.bashrc and ~/.bashrc, if
       these files exist.  This may be inhibited by using the  --norc  option.
       The  --rcfile  file option will force bash to read and execute commands
       from file instead of /etc/bash.bashrc and ~/.bashrc.

Re: Iets toevoegen aan je opstart service
« Reactie #10 Gepost op: 2008/11/17, 18:35:26 »
Ik heb Pidgin op deze manier toegevoegd , en toch start Pidgin NIET mee op.

Iemand een ideetje ?
Eigen draadje starten? ;)

Re: Iets toevoegen aan je opstart service
« Reactie #11 Gepost op: 2008/11/17, 20:01:03 »
Pidgin automatich laten opstarten moet je regelen via de opties van Pidgin, dus in het programma zelf.

Offline Drummies

  • Lid
Re: Iets toevoegen aan je opstart service
« Reactie #12 Gepost op: 2008/11/17, 20:07:23 »
....in principe heb ik het nu wel aan de gang, visueel een paar klikken ...En het zou alleen op moeten starten als een bepaalde user inlogt.
Dit is nu, inderdaad vrij makkelijk..met een paar klikken te realiseren..maar ik zou het ook graag op de commandline willen weten.
En heel eerlijk, ik heb toch een tijdje gegoogled...om vervolgens toch maar deze vraag hier te deponeren...leren is leuk, ontdekken helemaal..maar als je spaak loopt...dan maar even de support benaderen...

Dus wat ik nu in Voorkeuren -> Sessies -> En dan de SABnzbd.py toevoegen aan de regel...dat lukt me nu wel..
maar wat....te doen met een Putty ssh config?
(Ben ook sinds een half jaartje bezig hoor...en de commando's heb ik dan wel uitgeprint...en naast me liggen maar soms zie ik de bomen door het bos niet meer.....)


Programma's opstarten vóór het inloggen: Scripts

Wil je dat een programma na het inloggen pas wordt opgestart? Hier is meer info.

Je kunt onder Linux redelijk eenvoudig zelf scriptjes schrijven die er voor zorgen dat applicaties automatisch op een bepaalde manier opstarten. Zo kun je bijvoorbeeld 20 seconden na het inloggen een mediaserver op starten, deze kan dan gelijk gebruik maken van het (draadloze) netwerk.

Een scriptje maken gaat als volgt:

Maak een bestandje aan in de map /etc/init.d en zorg dat dit bestand uitvoerbaar (executable) is. Ik gebruik hier het voorbeeld "myscript":

    sudo touch /etc/init.d/myscript

    sudo chmod 755 /etc/init.d/myscript


Vervolgens open je het bestandje met je favoriete text editor:

    sudo gedit /etc/initd.d/myscript



In je text editor geef je de commando's die je wilt laten uitvoeren. In dit geval wil ik de applicatie "mediatomb" 20 seconden na het inloggen op starten. Elk scriptje begin je met de aanhef "#!/bin/bash". Zo ziet mijn scriptje er dan dus uit:

#!/bin/sh
sleep t 20s
mediatomb


Sla het bestandje vervolgens op.

Voeg nu het bestandje toe aan de Sessions van je user. Deze vind je onder "Systeem-Preferences-Sessions". Maak hierin een verwijzing naar het zojuist gemaakte scriptje. In het voorbeeld dus:

/etc/initd.d/myscript

Het is ook mogelijk om het scriptje al uit te voren voor het inloggen van de user. In dit geval voeg je het direct toe aan het opstartproces met het commando:

    sudo update-rc.d myscript defaults




Je kunt bijhouden welke scripts er tijdens het opstarten worden gestart met het volgende tooltje (klik op de link om te installeren):

    * sysv-rc-conf

Dit pakket kun je ook installeren middels de synaptic packagemanager of door het volgende commando uit te voeren in je terminal:

    sudo aptitude install sysv-rc-conf

bron  De Gebroeders Van Es


« Laatst bewerkt op: 2008/11/17, 20:09:09 door Drummies »
Gestopt als aktief Forumlid 17/10/2011

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
Re: Iets toevoegen aan je opstart service
« Reactie #13 Gepost op: 2008/11/17, 20:09:22 »
Hmm, volgens mij kunt ge de desktop file van het programma (staat normaal in /usr/share/applications/) kopieren naar de map /usr/share/autostart/ .

Die desktop file moet je kopiëren naar /home/<user>/.config/autostart.
Dan is het per user, indien je dat wilt. Voor globaal, dan kan je drummies raad opvolgen.

Re: Iets toevoegen aan je opstart service
« Reactie #14 Gepost op: 2008/11/17, 21:53:53 »
Die automatisch gestarte processen hebben mij ook wel eens wat hoofdpijn bezorgd.
Je kunt kiezen tussen of iets moet opstarten:

- bij opstarten van de computer voordat er ingelogd is of nadat ingelogd is
- eenmaal in de zoveel dagen (met cron of anacron)
- eenmalig of als achtergrondproces (daemon)
- voor of nadat andere achtergrondprocessen geladen zijn
- voor of na de desktopomgeving gestart is

Voor elke situatie moet je het weer ergens anders configureren. Voor dingen die voor alle gebruikers gestart moeten worden zodra de desktopomgeving geladen kun je ook een .desktop bestand aanmaken in /etc/xdg/autostart/, en voor dingen als panels docks windowmanagers etc die in plaats van de standaard onderdelen geladen moeten worden heb je nog ook sessie bestanden in submappen van /etc/xdg/ en usr/share/sessions


Re: Iets toevoegen aan je opstart service
« Reactie #15 Gepost op: 2008/11/17, 22:48:26 »
Programma's opstarten vóór het inloggen: Scripts

Wil je dat een programma na het inloggen pas wordt opgestart? Hier is meer info.

Je kunt onder Linux redelijk eenvoudig zelf scriptjes schrijven die er voor zorgen dat applicaties automatisch op een bepaalde manier opstarten. Zo kun je bijvoorbeeld 20 seconden na het inloggen een mediaserver op starten, deze kan dan gelijk gebruik maken van het (draadloze) netwerk.

Een scriptje maken gaat als volgt:

Maak een bestandje aan in de map /etc/init.d en zorg dat dit bestand uitvoerbaar (executable) is. Ik gebruik hier het voorbeeld "myscript":

    sudo touch /etc/init.d/myscript

    sudo chmod 755 /etc/init.d/myscript


Vervolgens open je het bestandje met je favoriete text editor:

    sudo gedit /etc/initd.d/myscript



In je text editor geef je de commando's die je wilt laten uitvoeren. In dit geval wil ik de applicatie "mediatomb" 20 seconden na het inloggen op starten. Elk scriptje begin je met de aanhef "#!/bin/bash". Zo ziet mijn scriptje er dan dus uit:

#!/bin/sh
sleep t 20s
mediatomb


Sla het bestandje vervolgens op.

Voeg nu het bestandje toe aan de Sessions van je user. Deze vind je onder "Systeem-Preferences-Sessions". Maak hierin een verwijzing naar het zojuist gemaakte scriptje. In het voorbeeld dus:

/etc/initd.d/myscript

Het is ook mogelijk om het scriptje al uit te voren voor het inloggen van de user. In dit geval voeg je het direct toe aan het opstartproces met het commando:

    sudo update-rc.d myscript defaults




Je kunt bijhouden welke scripts er tijdens het opstarten worden gestart met het volgende tooltje (klik op de link om te installeren):

    * sysv-rc-conf

Dit pakket kun je ook installeren middels de synaptic packagemanager of door het volgende commando uit te voeren in je terminal:

    sudo aptitude install sysv-rc-conf

bron  De Gebroeders Van Es
Noem me ouderwets maar persoonlijk vind ik dat als je wat in /etc/init.d zet dat je dan nog wel enigszins de sysv conventies aan zou moeten houden. Er staat niet voor niets een specifieke README in die directory. Maar ja, free as in freedom hè ;) Het is uiteindelijk aan de gebruiker zelf. Daarnaast vind ik een scriptje starten vanuit /etc/init.d via "Systeem-Preferences-Sessions" echt not done. Daar is die map niet voor. Maar ook dat is maar een mening :)

Verbman

  • Gast
Re: Iets toevoegen aan je opstart service
« Reactie #16 Gepost op: 2008/11/17, 23:38:33 »
Dag Robin,

Ik denk dat je hier iets mee kan:
Ik heb even op de site van SABNzbd gekeken en kwam het volgende tegen:
http://sabnzbd.wikidot.com/install-as-a-unix-daemon

maak een bestand aan (als sudo gebruiker) genaamd sabnzbd in de map /etc/init.d
maak deze uitvoerbaar door chmod +x /etc/init.d/sabnzbd

edit het zojuist gemaakte bestand vul het volgende in:

#!/bin/sh

case "$1" in
start)
  echo "Starting SABnzbd."
  /usr/bin/sudo -u verbman -H /home/verbman/SABnzbd/SABnzbd.py -d -f /home/verbman/.sabnzbd/sabnzbd.ini
;;
stop)
  echo "Shutting down SABnzbd."
  /usr/bin/wget -q --delete-after "http://localhost:8080/sabnzbd/api?mode=shutdown"
;;
*)
  echo "Usage: $0 {start|stop}"
  exit 1
esac

exit 0

je moet hier wel wat aanpassen
in de regel /usr/bin/sudo -u verbman jouw gebruikersnaam invullen ipv verbman ook als je SABnzbd in een andere map hebt geinstalleerd ook dit aanpassen.

Als dit is gebeurd moet je een Symlink aanmaken om het ook daadwerkelijk gestart te krijgen.
dit doe je door in de map /etc/rc3.d het volgende in te tikken:
ln -s ../init.d/sabnzbd S91sabnzbddaarna:
ln -s ../init.d/sabnzbd K11sabnzbd
als je jouw machine opnieuw opstart moet dit gaan werken.
dit kan je controleren in door naar http://localhost:8080/sabnzbd te gaan. als het goed is zie je nu sabnzbd.

om meer te weten te komen hoe je dit zelf kan maken is het handig om de code van andere scripts die in init.d staan te lezen.
« Laatst bewerkt op: 2008/11/18, 09:08:30 door Verbman »

Re: Iets toevoegen aan je opstart service
« Reactie #17 Gepost op: 2008/11/18, 08:47:11 »
Goedemorgen allemaal

Ik wil jullie even bedanken voor de overweldigende reacties die ik hierop "even" krijg, fantastisch, ik heb hier zeker wat aan en gaat er vanavond zeker mee aan de slag!

Mijn dank is groot  :)
There are no stupid questions, just stupid people.

Re: Iets toevoegen aan je opstart service
« Reactie #18 Gepost op: 2008/11/18, 12:38:38 »
#!/bin/sh

case "$1" in
start)
  echo "Starting SABnzbd."
  /usr/bin/sudo -u verbman -H /home/verbman/SABnzbd/SABnzbd.py -d -f /home/verbman/.sabnzbd/sabnzbd.ini
;;
stop)
  echo "Shutting down SABnzbd."
  /usr/bin/wget -q --delete-after "http://localhost:8080/sabnzbd/api?mode=shutdown"
;;
*)
  echo "Usage: $0 {start|stop}"
  exit 1
esac

exit 0
Kijk, hier wordt al iets meer rekening gehouden met sysv conventies :) Lijkt me een goeie optie.