démarrage automatique de programme - Linux et OS Alternatifs
Marsh Posté le 22-05-2005 à 16:29:40
ReplyMarsh Posté le 22-05-2005 à 16:36:14
merci 
j'avais essayé de rajouter une ligne dans /etc/rc.d/rc.local 
dans le passé (mandrake 10 kernel 2.4) ça marchait 
plus maintenant 
j'ai aussi fait un petit script shell intégré en S98 dans rc5.d 
mon script n'était pas assez élaboré peut-être : ça ne marche pas! 
ce qui est étonnant c'est que le même script lancé depuis une console fonctionne!
Marsh Posté le 22-05-2005 à 16:49:51
#!/bin/bash 
 
## Created by me to load sound fonts on login 
/usr/bin/asfxload -i 
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2
Marsh Posté le 22-05-2005 à 16:58:35
Je viens de faire ceci je vais le tester avec un reboot 
(j'ai créé un lien dans rc5.d) 
    * # !/bin/sh 
    * # # 
    * # # start/stop Generic deamon 
    * # 
    * # DES="install sound font" 
    * # PAT="/usr/bin/" 
    * # APP="asfxload" 
    * # OPT="/midi/8MBGMSCustom.sf2" 
    * # 
    * # # Do not change from here 
    * # 
    * # if ! [ -x $PAT$APP ]; then 
    * #     exit 0 
    * # fi 
    * # 
    * # case "$1" in 
    * #     start) 
    * #     echo -n "Starting $DES: " 
    * #     ps x|cut -b 27-|grep "^ $APP " > /dev/null 2>&1 && echo "$DES is 
already running" && exit 1 
    * #     $PAT$APP $OPT > /dev/null 2>&1 
    * #     echo "." 
    * #     ;; 
    * #     stop) 
    * #     echo -n "Stopping $DES: " 
    * #     killall -15 $APP > /dev/null 2>&1 
    * #     sleep 2 
    * #     killall -9 $APP  > /dev/null 2>&1 
    * #     echo "." 
    * #     ;; 
    * #     reload) 
    * #     echo -n "Reloading $DES: " 
    * #     echo -n " TODO " 
    * #     echo "." 
    * #     ;; 
    * #     force-reload) 
    * #     $0 reload 
    * #     ;; 
    * #     restart) 
    * #     $0 stop 
    * #     $1 start 
    * #     ;; 
    * #     *) 
    * #     echo "Usage: $0 {start|stop|reload|restart}" 
    * #     exit 1 
    * #     ;; 
    * # esac 
    * # 
    * # exit 0
Marsh Posté le 22-05-2005 à 17:01:29
essaye d'insérer du verbose dans le code. 
Ex: 
| Code : 
 | 
 
Avec ceci tu sais si le script est lancé (affichage du message "chargement de la bibliothèque Midi" et tu sais si asfxload te retourne des erreurs (fichier /var/log/script_tmp)
Marsh Posté le 22-05-2005 à 17:25:34
deux messages d'erreur avec le fichier que j'avais fait: 
May 22 17:16:43 localhost soundfontbis.sh: /etc/rc5.d/S98soundfontbis.sh: line 44: unexpected EOF while looking for matching `"' 
May 22 17:16:43 localhost soundfontbis.sh: /etc/rc5.d/S98soundfontbis.sh: line 50: syntax error: unexpected end of file 
Marsh Posté le 22-05-2005 à 17:51:56
J'y comprends rien 
J'ai fait ce fichier dans init.d 
 
soundfontbis.sh  
 
  # !/bin/sh 
     # 
    # start/stop Generic deamon 
     
    DES="install sound font" 
    PAT="/usr/bin/" 
    APP="asfxload" 
    OPT="/midi/8MBGMSCustom.sf2" 
     
    # Do not change from here 
     
    if ! [ -x $PAT$APP ]; then 
        exit 0 
    fi 
     
    case "$1" in 
        start) 
        echo -n "Starting $DES: " 
        ps x|cut -b 27-|grep "^ $APP " > /dev/null 2>&1 && echo "$DES is 
already running" && exit 1 
        $PAT$APP $OPT > /dev/null 2>&1 
        echo "." 
        ;; 
        stop) 
        echo -n "Stopping $DES: " 
        killall -15 $APP > /dev/null 2>&1 
        sleep 2 
        killall -9 $APP  > /dev/null 2>&1 
        echo "." 
        ;; 
        reload) 
        echo -n "Reloading $DES: " 
        echo -n " TODO " 
        echo "." 
        ;; 
        force-reload) 
        $0 reload 
        ;; 
        restart) 
        $0 stop 
        $1 start 
        ;; 
        *) 
        echo "Usage: $0 {start|stop|reload|restart}\n"  
        exit 1 
        ;; 
    esac 
     
    exit 0 
 
il est lancé au démarrage par un lien en rc5.d 
il est lancé correctement: 
log 
May 22 17:41:56 localhost soundfontbis.sh: Starting install sound font:  
May 22 17:41:56 localhost soundfontbis.sh: . 
May 22 17:41:56 localhost rc: Lancement de soundfontbis.sh :  succeeded 
 
et j'ai pas de son!! 
 
Je lance manuellement mon ptit soundfont.sh dans une console 
#!/bin/bash 
 
## Created by me to load sound fonts on login 
/usr/bin/asfxload -i 
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2 
et là ça marche!
Marsh Posté le 22-05-2005 à 17:53:10
C'est quoi ton window manager ? Sous kde il faut mettre un lien dans ~/Autostart mais il doit y avoir des solutions equivalentes dans les autres wm
Marsh Posté le 22-05-2005 à 18:03:26
je bosse avec KDE 
J'ai bien installé soundfont.sh dans :.kde/autostart/ 
Je n'y comprends que dalle
Marsh Posté le 22-05-2005 à 18:07:28
PS j'avais fait une petite erreur dans le soundfontbis.sh  
le path des soundfonts était erronné j'avais oublié une étape 
je l'ai corrigé en OPT /etc/midi/8MBGMSCustom.sf2 
cela n'a rien changé
Marsh Posté le 22-05-2005 à 18:09:06
et en rajoutant au script de 4 lignes  
/usr/bin/asfxload -i  &2>>/var/log/script_tmp 
et  
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2 &2>>/var/log/script_tmp
Marsh Posté le 22-05-2005 à 18:10:52
je viens de relire ce que j'ai posté  
c'est peut-être confus 
il y a deux procédures que j'ai essayées mais évidemment pas simultanément 
Soit une modification du rc5.d 
Soit un script dans l'autostart de kde 
aucun ne marche 
Marsh Posté le 22-05-2005 à 18:14:20
dans tous les cas modifie l'appel des programmes en : 
/usr/bin/asfxload -i  &2>>/var/log/script_tmp  
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2 &2>>/var/log/script_tmp 
 
ainsi si un problème d'execution survient, il suffira de regarder dans /var/log/script_tmp pour connaître l'origine de l'erreur
Marsh Posté le 22-05-2005 à 18:16:24
le log n'est pas accepté : permission denied (je ne lance pas en root)
Marsh Posté le 22-05-2005 à 18:17:58
oui mais ton script sera de toute façon exécuté en root par le système 
redemarre la machine  pour qu'il réexecute rc5.d 
Marsh Posté le 22-05-2005 à 18:23:41
j'ai modifié &2>>/home/mapomme/script_tmp 
Le fichier est vide mais l'installation manuelle des fonts marche 
Marsh Posté le 22-05-2005 à 18:27:04
je réalise est-il possible que les fonts installées en root au démarrage ne soient pas accessible en simple utilisateur? je vais réessayer de me logger en root pour voir si elles sont utilisables
Marsh Posté le 22-05-2005 à 18:32:22
ça dépend comme est fait l'application, il y a peut être une option dans asfxload pour que tous les utilisateurs puissent accéder aux sons.
Marsh Posté le 22-05-2005 à 18:52:49
c'est bien ce que je craignais les fonts sont installées automatiquement mais seulement accessibles sans manip pour root 
Cela ne m'explique cependant pas pourquoi quand j'installe mon petit script dans l'Autostart de kde (dans mon répertoire d'utilisateur) il ne fait pas une install utilisable par moi
Marsh Posté le 22-05-2005 à 19:02:47
ceci dit je ne comprends pas pourquoi  
il n'y a pas d'option et les procédures anciennes lancées au démarrage avec les versions précdentes de mandrake ne causaient pas ce genre de problème (addition d'une ligne dans profile par exemple)
Marsh Posté le 22-05-2005 à 19:09:11
Ps le fichier script_tmp est resté vide 
Je renonce à comprendre 
Je vais continuer mes installations manuelles 
Merci pour ton aide jlighty 
Marsh Posté le 22-05-2005 à 19:11:27
si le fichier script_tmp est vide -> aucune erreur n'a été signalé   
 
Marsh Posté le 22-05-2005 à 19:15:42
c'est bien là le problème cela rend la chose encore plus difficile à comprendre 
Marsh Posté le 30-05-2005 à 20:52:39
pour ceux que ça intéresse le problème d'installation automatique de soundfonts est résolu: 
les scripts fonctionnaient bien mais!.... 
le module de la composante synthétiseur de la carte son (snd-emu10k1-synth) n'était tout simplement plus automatiquement installé depuis la mise à jour les soundfonts chargées avant son lancement (demandé par Kmid par exemple) ne lui étaient pas accessibles!!!! 
 
Tout a été résolu par le simple rajout de deux lignes dans /etc/rc.d/rc.local 
 
/sbin/modprobe snd-emu10k1-synth 
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2 
 
Tous les scripts ont été supprimés car inutiles
Marsh Posté le 22-05-2005 à 16:26:56
je voudrais que cette ligne soit exécutée au démarrage de ma session
/usr/bin/asfxload /etc/midi/8MBGMSCustom.sf2
J'ai posé cette question d'une autre façon sous le sujet "installation de soundfonts" sans trouver d'aide