Page 1 sur 2

[deamon] retarder le lancement d'un deamon (resolu)

Publié : lun. 21 févr. 2011, 19:51
par willcoyote
Bonsoir
Je viens d'installer boinc et je rencontre un probleme.
Après le démarrage de mon pc, une fois sur le bureau, l'application boinc me dit: GPU absent

J'ai essayé de mettre boinc en dernier dans rc.conf mais le probleme est toujours la.

Pour résoudre le probleme, il suffit une fois sur le bureau d’arrêter le deamon et de le redémarrer.
/etc/rc.d/boinc stop
/etc/rc.d/boinc start

Je voudrais essayer de le lancer une fois le bureau complètement affiché mais je ne sais pas comment faire ça
Est ce qu'il y a une solution pour faire cela ?

Merci

Re: [deamon] retarder le lancement d'un deamon

Publié : lun. 21 févr. 2011, 21:04
par galactose
Salut !

Quel bureau utilises-tu et comment est-il lancé ?

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 16:12
par willcoyote
salut galactose
euh oui, désolé pour le manque de précision
j'utilise gdm pour me connecter a ma session avec le fichier: /etc/inittab
puis gnome se lance avec le fichier ~/.xinitrc

j'ai suivis la méthode recommandée dans le wiki

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 17:29
par xamaco
Peut-être appeler de démon depuis /etc/rc.local ?
rc.local is the local multi-user startup script. Empty by default, it is a good place to put any last-minute commands the system should run at the very end of the boot process.
D'après le wiki anglais : https://wiki.archlinux.org/index.php/Arch_boot_process

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 17:54
par willcoyote
xamaco
je viens de tester ça
ne sachant pas trop quoi mettre dans le fichier rc.local, j'ai juste ajouté: boinc
au démarrage, a la fin du lancement de tout les deamon, je vois des lignes concernant boinc mais c'est avant d'etre connecté a ma session
et une fois connecté, il n'est pas lancé donc ça doit pas etre ça

j'ai testé autre chose
j'ai enlevé toutes traces de boinc au demarrage
demarrage normal puis une fois sur ma session, la commande: /etc/rc.d/boinc start en root le fait bien demarrer et mon GPU est reconnu

je verrais bien un script lancé par : applications au demarrage avec un petit "sleep 10" qui lance la commande "/etc/rc.d/boinc start"
ça je sais faire pour un programme mais je ne sais pas si ça fonctionne avec un deamon

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 18:06
par benjarobin
Et pourquoi ne pas mettre dans le rc.local : /etc/rc.d/boinc start ?

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 18:18
par willcoyote
benjarobin, je viens d'essayer ta solution

J'ai ajouté /etc/rc.d/boinc start dans le fichier /etc/rc.local
Le deamon boinc se lance en dernier mais avant d’être connecté a ma session

résultat, une fois sur mon bureau, j'ai l'erreur: GPU absent

l’idéal serait qu'il se lance une fois le bureau affiché

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 19:48
par xamaco
Dans Gnome, il y a aussi :
Système/Préférences/Applications au démarrage.
Tu peux rajouter une application là-dedans, mais il me semble que ça va être ton ID qui lance le processus et non pas root, ce qui à priori exclurait d'utiliser /etc/rc.d/boinc start. Il faudrait que tu regardes ce qu'il y a dans /etc/rc.d/boinc, pour voir si tu peux lancer le bousin directement sous ton ID.

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 20:12
par willcoyote
Dans Gnome, il y a aussi :
Système/Préférences/Applications au démarrage

c'est je pense la bonne solution pour mon probleme
et comme tu le dit, je ne peux pas lancer cette commande en simple utilisateur
Par contre, il doit sûrement être possible de lancer un script qui lance cette commande en root, quitte a me demander mon mot de passe

En attendant, je me rends compte que c'est plus compliqué a faire que prévu et je vous remercie tous

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 21:47
par FoolEcho
willcoyote a écrit :et comme tu le dit, je ne peux pas lancer cette commande en simple utilisateur
Par contre, il doit sûrement être possible de lancer un script qui lance cette commande en root, quitte a me demander mon mot de passe
Configurer sudoers pour que ton utilisateur puisse lancer cette commande (sans mot de passe tant qu'à faire) et rajouter ensuite au ~/.bash_profile (ou ~/.bashrc) ou à tes scripts de démarrage de gnome ?
Méthode assez moche, ceci dit... pour pallier le fait que boinc ne fasse pas le boulot correctement dès le démarrage (pourquoi diable ? )... :?

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 22:04
par benjarobin
boinc ne fasse pas le boulot correctement dès le démarrage (pourquoi diable ? )
C'est tout a fait logique en faite. Sans le driver graphique de démarré il ne peut pas communiquer avec la carte. C'est la même chose sous Windows par exemple...
Donc la solution la plus propre de mon point de vue est de réaliser un petit script qui sera lancé en tant que daemon via le rc.conf qui fera ceci (pseudocode) :

Code : Tout sélectionner

Tant que X n'est pas démarré
    sleep 2
Fin boucle
/etc/rc.d/boinc start
http://www.linuxquestions.org/questions ... ok-651555/

Re: [deamon] retarder le lancement d'un deamon

Publié : mar. 22 févr. 2011, 22:24
par FoolEcho
Nettement plus propre. :D

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 05:37
par willcoyote
Entièrement d'accord toi
Reste plus qu'a trouver quoi écrire dans ce script, je continue a fouiller
parce que moi, a part lancer un programme, je suis nul dans ce domaine

J'ai boinc installé sur ubuntu et je n'ai pas ce probleme, la carte est reconnue au démarrage mais comme l'installation est automatique, je ne sais pas exactement comment il se débrouille

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 08:46
par benjarobin
Dès que je rentre ce soir, j'essayerai de faire le script.

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 14:59
par chardclo
et pourquoi pas le rajouter simplement dans le fichier ~/.xinitrc puisqu'il te faut ta session X démarrée ?

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 15:14
par FoolEcho
Pour des questions de droits. Les démons sont des scripts que seul root peut exécuter.
Donc, tu as l'alternative d'automatiser le lancement en accordant le droit à l'utilisateur de le faire (configuration de sudoers, par exemple parce que tu ne sais pas, ou ne veux pas, programmer un démon :mrgreen: ) et après effectivement tu l'ajoutes à ton .xinitrc (mais c'est très sale de faire ça de toutes manières), soit tu améliores le démon pour qu'il ne se lance que dans les bonnes conditions (ce qui est nettement mieux).

Maintenant, la question pertinente est: a t-on besoin du démon "boinc" ? (je ne sais pas, je n'utilise pas et ne sais pas comment boinc fonctionne) Auquel cas il peut être suffisant effectivement de rajouter le lancement, non pas du démon, mais juste de l'application dans le ~/.xinitrc (ou dans le bash avec un test si X est présent).

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 15:32
par chardclo
FoolEcho a écrit :Les démons sont des scripts que seul root peut exécuter
heu là non, je ne suis pas tout à fait d'accord. C'est limiter la définition d'un démon à : scripts lancés aux démarrage du système et se trouvant dans /etc/rd.d.
Or ce n'est pas cela ! N'importe quel utilisateur peut créer et lancer son propre démon à tout moment. Et heureusement !

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 16:27
par FoolEcho
Dans le contexte, on est davantage dans cet aspect... Après, je ne connais que ces deux définitions: sens large: démon = tâche en arrière-plan ; sens strict: démon = service système .

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 18:33
par willcoyote
Je viens de tester avec ~/.xinitrc en rajoutant : /etc/rc.d/boinc start et un essai avec: exec /etc/rc.d/boinc start
ça ne fonctionne pas

En fait, si le démon boinc n'est pas lancé, la fenêtre boinc manager reste blanche, je ne peut pas communiquer avec les serveurs, j'ai juste un message: connecting to localhost ...
si le démon boinc est lancé avant ma session graphique, je suis bien connecté aux serveurs mais n'ai pas accès a ma carte graphique pour les calculs
Dans ce cas, il suffit de l’arrêter et de le redémarrer

si aucun demon boinc n'est lancé au démarrage, j'ai la fenetre boinc manager qui est vide
la commande: /etc/rc.d/boinc start lancée en root me connecte instantanement aux serveurs et ma carte graphique est detectée

voila un petit résumé

Comme ce n'est pas vraiment un probleme bloquant mais plutôt une gène , je préférerais si possible faire propre en évitant de modifier les droits
Dès que je rentre ce soir, j'essayerai de faire le script.
ça serait vraiment sympa de ta part
je trouve plein d'exemples pour des programmes mais rien pour ce genre de situation

edit: pour info, le contenu de /etc/rc.d/boinc

Code : Tout sélectionner

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions


BOINCUSER="boinc"
BOINCDIR="/var/lib/boinc"
PID=`pidof -o %PPID /usr/bin/boinc_client`
case "$1" in
  attach)
    echo "Enter the Project URL: "
    read url
    echo "Enter your Account Key: "
    read key
    echo "Attaching to project"
    cd $BOINCDIR
    su $BOINCUSER -c "boinccmd --project_attach $url $key"
;;
  start)
    stat_busy "Starting boinc"
    if [ -z "$PID" ]; then
      su $BOINCUSER -c "nice -n 19 /usr/bin/boinc_client --daemon --dir ${BOINCDIR} --redirectio"
    else
      false
    fi
    if [ $? -gt 0 ]; then
      stat_fail
    else
      add_daemon boinc
      stat_done
    fi
    ;;
  stop)
    stat_busy "Stopping boinc"
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    if [ $? -gt 0 ]; then
      stat_fail
    else
      rm_daemon boinc
      stat_done
    fi
    ;;
  restart)
    $0 stop
    sleep 2
    $0 start
    ;;
  *)
    echo "usage: $0 {attach|start|stop|restart}"
esac
exit 0
edit2: peut etre une piste ici
http://boinc.berkeley.edu/addons/rc.boi ... latest.txt

Re: [deamon] retarder le lancement d'un deamon

Publié : mer. 23 févr. 2011, 19:07
par FoolEcho
willcoyote a écrit :Je viens de tester avec ~/.xinitrc en rajoutant : /etc/rc.d/boinc start et un essai avec: exec /etc/rc.d/boinc start
ça ne fonctionne pas
On te l'avait dit. :mrgreen: