Rechercher : dans
Par :

Lancer script perl au démarrage

Dernière réponse le 26 nov 2008 à 13:21:30 Pierrot, le 25 nov 2008 à 14:57:19 
 Signaler ce message aux modérateurs

Bonjour,

Je vous contacte car je cherche un moyen de lancer un script perl automatiquement au démarrage..

Mon script se situe :
/root/Cyberjeu/cyber.pl

J'ai déjà tenter de créer un lien vers le dossier root/Startup/, en mettant perl "$@" dans fixer l'action mais au démarrage ça ne se lance pas.
Par contre quand je clique sur le lien, le script se lance...


Pour informations supplémentaires, je tourne avec une distribution linux "toutou linux"

En vous remercient à l'avance de votre précieuse aide .


Pierrot

Configuration: Toutou linux

Meilleures réponses pour « lancer script perl au démarrage » dans :
Script au démarrage et à l'arrêt de Windows VoirL'astuce est valable pour Windows XP, Vista et 7 ; mais la méthode varie suivant l'édition de votre Windows (professionnelle ou familiale). Pour les éditions professionnelles ou intégrales Lancer l'éditeur de stratégie du groupe local : Menu...
Script au démarrage et à l'arrêt d'Ubuntu VoirFaire exécuter un script au démarrage d'Ubuntu Modifiez le fichier /etc/rc.local et ajoutez vos commandes. Le script doit toujours se terminer par un exit 0 Faire exécuter un script au redémarrage Placez votre script dans /etc/rc0.d et rendez...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...

1

Pierrot, le 25 nov 2008 à 15:26:31

Please need help !!

Je ne sais pas ce qu'il faut que je fasse en plus ! Pour le lancer au démarrage.

Merci !

Répondre à Pierrot

2

lami20j, le 25 nov 2008 à 16:59:47

Salut,

Tu as un fichier /etc/rc.local ?! 106485010510997108

Répondre à lami20j

3

Pierrot, le 25 nov 2008 à 17:35:32

Je regarde tout de suite !

Répondre à Pierrot

4

Pierrot, le 25 nov 2008 à 17:38:10

Oui j'en ai un etc/rc.d/rc.local

Qu'est ce que je dois modifier ?

Merci d'avance :)

Répondre à Pierrot

5

lami20j, le 25 nov 2008 à 17:50:47

Re,

En root

echo '/root/Cyberjeu/cyber.pl' >> /etc/rc.local

Normalement le script sera exécuter au prochain démarrage.
106485010510997108

Répondre à lami20j

6

Pierrot, le 25 nov 2008 à 17:54:17

Je te tiens au courant merci

Répondre à Pierrot

7

Pierrot, le 25 nov 2008 à 18:10:17

Ca ne marche pas !!!

Je suis aller voir dans etc/rc.d/rc.local et la ligne /root/Cyberjeu/cyber.pl y est bien présent

Que dois je faire ...

Répondre à Pierrot

8

lami20j, le 25 nov 2008 à 18:13:47

Re,

Que dois faire ton script?!
Si ce n'est pas confidentiel (un script Perl ne devrait pas l'être) tu peux l'afficher.

Affiche le résultat des commandes

ls -l /root/Cyberjeu/cyber.pl 
find /etc -name '*rc.local' -ls 2>/dev/null

106485010510997108

Répondre à lami20j

9

Pierrot, le 25 nov 2008 à 18:16:02

Biensur attends je te prépare ca

Répondre à Pierrot

10

Pierrot, le 25 nov 2008 à 18:28:58

#ls -l /root/Cyberjeu/cyber.pl
-rw-r--r-- 1 root root 2421 2008-11-25 13:19 /root/Cyberjeu/cyber.pl
#
#find /etc -name '*rc.local' -ls 2>/dev/null
525 4 -rw-r--r-- 1 root root 145 nov 16:56 /etc/rc.d/rc.local
#


le script est :


#!/bin/perl

# Dossier courant
my $homedir = "/root/Cyberjeu/";
my $etape = "Etape1/index.html";

# Variables
my $seuil = -80; # Puissance minimale de la borne

my $etape2 = 0;
my $etape3 = 0;
my $etape4 = 0;
my $etape5 = 0;
my $etape6 = 0;
my $etape7 = 0;


my @A;
my @A;

&config;

`firefox $homedir$etape`;


etc....

Répondre à Pierrot

11

Pierrot, le 25 nov 2008 à 18:31:27

En gros quand je lance une page html quand on s'approche d'une borne wifi

Répondre à Pierrot

12

lami20j, le 25 nov 2008 à 18:41:51

Re,

Affiche le résulat de

whereis perl
cat /etc/rc.local
Tape aussi
chmod -v 0755 /root/Cyberjeu/cyber.pl 

106485010510997108

Répondre à lami20j

13

Pierrot, le 25 nov 2008 à 19:25:30

J'ai fait une manip il veut pas redemarrer je te contacte des que j'ai réussi

Répondre à Pierrot

14

Pierrot, le 25 nov 2008 à 20:05:44

Quand je tape whereis perl : il me retourne une erreur command bash not found mais je suis sur que perl est bien installé car quand je le lance manuellement "perl cyber.pl" ca marche nikel!

Quand je tape cat etc/rc.local: il me met aucun fichier n'est présent

Quand je tape cat etc/rc.d/rc.local: il m'affiche
#this is called from rc.sysinit
#you can edit this file
#When firewall is installed, will append lines to this file...
modprobe evdev
/root/Cyberjeu/cyber.pl
#
#

Voila j'attends de tes lumières et merci encore pour ton aide

Répondre à Pierrot

15

Pierrot, le 26 nov 2008 à 11:05:37

Bonjour,

Alors il y a une solution !!! Je commence à désespérer :(

Répondre à Pierrot

16

lami20j, le 26 nov 2008 à 11:10:32

Salut,

Avant de désésperer tape cette commande

chmod -v 0755 /root/Cyberjeu/cyber.pl 
--
106485010510997108

Répondre à lami20j

17

Pierrot, le 26 nov 2008 à 11:22:34

Bonjour Lami20j

J'ai déjà essayé cela hier soir, tu me l'avais demandé.... Mais toujours pareil

Hier soir Toutou Linux ne démarrait plus car j'avais ajouté dans /etc/rc.d/rc.local

perl /root/Cyberjeu/cyber.pl au lieu de laisser ce que tu m'avais mis /root/Cyberjeu/cyber.pl

Répondre à Pierrot

18

lami20j, le 26 nov 2008 à 11:42:07

Salut,

Tape en root

echo "salut" >>  /etc/rc.d/rc.local
chmod -v 0755  /etc/rc.d/rc.local 
/etc/rc.d/rc.local 
et affiche le résultat.
--
106485010510997108

Répondre à lami20j

19

Pierrot, le 26 nov 2008 à 11:49:50

Réponse :


: bad interpreter: Aucun fichier ou répertoire de ce type
/etc/rc.d/rc.local: line 6: salut: command not found

Répondre à Pierrot

20

lami20j, le 26 nov 2008 à 11:53:45

Oups, je me suis trompé.
Ouvre un editeur de texte et modifie.
Dans /etc/rc.d/rc.local tu dois avoir echo "salut" et pas "salut". 106485010510997108

Répondre à lami20j

21

Pierrot, le 26 nov 2008 à 12:04:59

Dans le rc.local

J'ai à la ligne 6 : salut

Quand je le change en echo "salut"
et que je tape /etc/rc.d/rc.local

Il m'affiche
: bad interpreter: Aucun fichier ou répertoire de ce type
salut

Répondre à Pierrot

22

lami20j, le 26 nov 2008 à 12:07:32

Re,

Affiche

cat /etc/rc.d/rc.local 
ls -l /etc/rc.d/rc.local 
--
106485010510997108

Répondre à lami20j

23

Pierrot, le 26 nov 2008 à 12:12:50

Ca m'affiche

/root/Cyberjeu/cyber.pl
echo "salut"

et la 2ème commande

-rwxr-xr-x 1 root root 173 2008-11-26 11:09 /etc/rc.d/rc.local

Répondre à Pierrot

24

Pierrot, le 26 nov 2008 à 12:19:00

J'ai repéré l'erreur précédente

j'avais fait la faute de frappe suivante dans rc.local /root/Cyberjeu//cyber.pl

Je l'ai corrigée en /root/Cyberjeu/cyber.pl

Redémarrer mais toujours rien !

Répondre à Pierrot

25

lami20j, le 26 nov 2008 à 12:21:29

Re,

Affiche s'il te plaît le résultat de la commande

/etc/rc.d/rc.local 
--
106485010510997108

Répondre à lami20j

26

Pierrot, le 26 nov 2008 à 12:26:34

Je voulais tout d'abord te remercier pour le tps que tu passes avec moi merci !!!

voila ce que ca me donne maintenant

#cat /etc/rc.d/rc.local
modprobe evdev
/root/Cyberjeu/cyber.pl
echo "salut"
#
#/etc/rc.d/rc.local
: bad interpreter: Aucun fichier ou repertoire de ce type
salut
#
#

Répondre à Pierrot

27

lami20j, le 26 nov 2008 à 12:38:26

Affiche le resultat de

ls -l /usr/bin/perl
106485010510997108

Répondre à lami20j

28

Pierrot, le 26 nov 2008 à 12:41:27

Voila le résultat:

lrwxrwxrwx 1 root root 9 2008-11-02 03:16 /usr/bin/perl -> perl5.8.8

Répondre à Pierrot

29

lami20j, le 26 nov 2008 à 12:45:29

Au début de ton script mets

#!/usr/bin/perl 
ensuite essaie à nouveau les commandes
chmod -v 0755 /root/Cyberjeu/cyber.pl 
/etc/rc.d/rc.local 

106485010510997108

Répondre à lami20j

30

Pierrot, le 26 nov 2008 à 12:48:33

Malheureusement c'est toujours pareil :(
Mon cas semble désespéré non ?

Répondre à Pierrot

32

Pierrot, le 26 nov 2008 à 13:00:27

Information qui pourrait t'intéresser

je mets perl /root/Cyberjeu/cyber.pl dans le rc.local

et quand je tape

#/etc/rc.d/rc.local

le script se lance !!!!

Par contre c'est ce que j'avais fait hier soir et j'avais pas réussi à rlancer toutou linux!!!

Ca te parait correct de faire ca ou c'est du bricolage qui ne vas pas marcher ?

Répondre à Pierrot

31

lami20j, le 26 nov 2008 à 12:58:48

Tu me dis que c'est toujous pareil. Mais je ne peux pas le savoir puisque je ne suis pas dévant ta machine

Ce que j'ai besoin de savoir c'est :
-si au démarrage de ton pc tu vois salut qui s'affiche à l'écran
- quand tu exécutes à la main ton script perl ça se passe quoi exactement?
Essaie de l'exécuter avec la commande /root/Cyberjeu/cyber.pl et dit déjà si ça marche 106485010510997108

Répondre à lami20j

34

Pierrot, le 26 nov 2008 à 13:13:15

Voila excuse, je me rends pas compte des difficultés que t'as quand on n'est pas devant le pc

1__ salut n'apparait pas au démarrage de la machine

2__ quand j'execute manuellement (c'est à dire quand je tape dans le terminal perl cyber.pl) le script il ouvre une page firefox avec une animation explicant les règles du jeu.

3__ quand je lance /root/Cyberjeu/cyber.pl il me renvoie
: bad interpreter: Aucun fichier ou répertoire de ce type


Par contre quand j'ajoute perl devant /root/Cyberjeu/cyber.pl, le script se lance et ouvre une page firefox

et quand j'ajout perl dans le rc.local ca lance une page firefox quand je tape /etc/rc.d/rc.local

Répondre à Pierrot

33

lami20j, le 26 nov 2008 à 13:11:45

Tu ne m'as toujours pas dit si tu as fait cette commande

chmod -v 0755 /root/Cyberjeu/cyber.pl 


Tu ne m'as dit non plus si tu as fait la modif au début de ton script (je pense que non et ce n'est pas bien ça)
donc #!/usr/bin/perl au lieu de #!/bin/perl

Affiche sans faire aucune modification
head -2 /root/Cyberjeu/cyber.pl

Pour répondre à la question, non ce n'est pas de bricolage.

Quand tu tapes perl script.pl en fait l'interpreteur perl se charge de l'exécution de script même si les droit d'exécutions ne sont pas mises correctement ou que le shebang n'est pas correct.

D'ailleurs c'est pour ça que tu as eu un message d'erreur : bad interpreter: Aucun fichier ou répertoire de ce type puisque en exécutant la commande /etc/rc.d/rc.local l'interpreteur c'est la commande /root/Cyberjeu/cyber.pl qui s'exécutait et comme /bin/perl n'existe pas ....

Tu peux exécuter directement /root/Cyberjeu/cyber.pl dans une console et tu verras que tu as le message d'erreur. 106485010510997108

Répondre à lami20j

36

 Pierrot, le 26 nov 2008 à 13:21:30

J'ai bien fait la modification chmod -v 755

j'ai aussi modifier le script #!/usr/bin/perl mais quand je tape /root/Cyberjeu/cyber.pl il m'affiche : bad interpreter

Quand je tape head -2 /root/Cyberjeu/cyber.pl
#!/usr/bin/perl

#

Je vais tenter un redémarrage et je te tiens au courant ! Merci pour ta patience

Répondre à Pierrot

35

lami20j, le 26 nov 2008 à 13:19:17

On verra ça se soir.

En revanche j'aimerais que tu fasses ce que je t'ai demandé et tu ne l'as jamais fait
ici
http://www.commentcamarche.net/forum/affich 9595124 lancer script perl au demarrage?#16
et ici
http://www.commentcamarche.net/forum/affich 9595124 lancer script perl au demarrage?#29

ensuite teste

/root/Cyberjeu/cyber.pl 
106485010510997108

Répondre à lami20j