IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ubuntu Discussion :

Shell automatique à l'ouverture de session


Sujet :

Ubuntu

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 52
    Points
    52
    Par défaut Shell automatique à l'ouverture de session
    Bonjour !

    Tout est dans le titre.

    J'ai placé mon "lanceur.sh" dans /etc/init.d
    j'ai créer un lien pour les niveaus d'exécutions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ln -s /etc/init.d/lanceur.sh S50lanceur
    Il ne se passe rien lors de l'ouverture de session

    C'est un code qui monte un lecteur réseau ...

    Quelqu'un aurait-il des précisions la dessu ?

    Merci de vos réponses ...

  2. #2
    Membre éclairé Avatar de Pilru
    Homme Profil pro
    Dev ASP.NET/jQuery ; Admin ORACLE
    Inscrit en
    Septembre 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev ASP.NET/jQuery ; Admin ORACLE

    Informations forums :
    Inscription : Septembre 2007
    Messages : 491
    Points : 833
    Points
    833
    Par défaut
    Citation Envoyé par fredouzzz Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ln -s /etc/init.d/lanceur.sh S50lanceur
    Le lien a été créé ou exactement (/etc/rc?.d)

    Citation Envoyé par fredouzzz Voir le message
    Il ne se passe rien lors de l'ouverture de session
    Ce n'est pas a l'ouverture de session qu'il va se déclencher ton script, mais au boot, si le lien a été créé au bon endroit.

    Pour monter un lecteur réseau, il y a

    */etc/fstab
    * udev/hal pour les périphériques nomades (détection automatique). Charge ensuite à Gnome/Kde de monter automatiquement le périph.

  3. #3
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Sinon, il ne faut pas oublier de rendre le fichier exécutable aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod 755 /etc/init.d/lanceur.sh

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Si le but est de lancer une console à l'ouverture d'un session graphique, il suffit de paramétrer gnome, kde ou autre.
    Pour gnome, tu peux ajouter des programmes au démarrage dans système->préfèrences->sessions->programmes au démarrage->ajouter: gnome-terminal.

    L'ouverture du terminal dépendra donc de la session graphique et non du démarrage de l'ordinateur.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut démrrage automatique de fichiers au boot
    Bonjour,

    Je débute sur Linux et pour un projet de type embarqué, je dois démarrer automatique deux fichiers nommés "webcam.txt" et "traitement.cpp". Mes fichiers sont placés au niveau du dossier root. Le système embarqué est un NSLU2.
    Je sais que je dois mettre une ligne de commande dans le fichier etc/init.d/rc.local, mais je ne sais pas quelle est cette commande.
    Pouvez-vous m'aider?

    A bientôt,

  6. #6
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Je pense qu'il faut que tu essais d'abord de lancer tes commandes à la main. Tu verras par exemple que traitement.cpp ne peux pas être utilisé tel quel (pareil pour webcam).

    Quand tu as réussis à entrer une commande valide, tu la copie colle dans rc.local si c'est là que tu veux le mettre.

    Mais on ne peux pas te dire la commande à taper avec ces infos.

    Ou du moins si. Je peux avancer l'idée qu'il faut d'abord compiler traitement.cpp, et que le fichier '.txt' sert d'argument à l'exécutable généré. Mais il y a des milliers d'autres possibilités. Dis nous en plus !

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Mon système sert à réaliser du traitement d'images en temps réel.

    Mon fichier "webcam.txt", contient la ligne de commande suivante:
    streamer -s 640x480 -t 5 -r 0.5 -o photo.jpeg
    Cela me sert à enregistrer des photos.

    Je peux lancer ce fichier avec sh webcam.txt
    J'ai essayé de copier cette commande dans le fichier etc/init.d/rc.local, mais cela ne fonctionne pas!

    De façon complètement disjointe, intervient mon fichier "traitement.cpp". Il contient un algo de traitement d'images effectuant un tri des photos prises suivant un cahier des charges.

    Le tout est placé sur un système NSLU2 qui n'a ni clavier ni écran.
    Ce que je cherche donc à faire, c'est de les lancer au boot du système.

  8. #8
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Ok, donc pour le premier point tu devrais directement mettre la ligne de commande dans rc.local (ou ailleurs si tu change d'avis) avec des chemins complet (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/toto/streamer -s 640x480 -t 5 -r 0.5 -o /home/toto/photos/photo.jpeg
    Dexuième solution. Personnellement je ne trouve pas judicieux de mettre en extension d'un script ".txt". Donc si tu préfères conserver ton script et l'appeler depuis rc.local, renomme le en 'webcam', ajoute en tête du fichier
    et change les permission avec la commande 'chmod 755 webcam'. Enfin appelle le script avec son chemin complet dans rc.local.

    Pour le second point, ton algo est certainement écrit en c++. As-tu manipulé ce fichier déjà (traitement.cpp) ?
    Je pense que ce fichier est un source. Il n'est pas utilisable en tant que tel. Il contient d'ailleur peut-être que l'algo. Si il n'est pas trop gros tu pourrais le mettres en pièce jointe.

  9. #9
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Pour le fichier "webcam", c'est ok, ça marche nikel. Merci


    Le fichier "traitement.cpp", je t'envoie une version allégée qui permet de vérifier qu'il se lance correctement. Il contient une fonction principale qui ne fait qu'éliminer des photos dont le numéro avance. Les photos doivent les noms "photo1.pgm", "photo2.pgm"... Le numéro des photos est changé par une boucle, le numéro sera de 3 maximum. Les photos 1 et 2 seront supprimées, celles de numéros supérieurs conservées.
    J'ai testé le fichier avec visual, ça marche.
    Attention, il a une bibliothèque à changer en Linux:
    //#include<windows.h>
    #include <unistd.h>

    Sous linux, j'ai commencé par le compiler avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc traitement.cpp -o traitement
    Ensuite, j'ai placé le lien suivant dans le fichier etc/init.d/rc.local:
    Mais cela ne fonctionne pas! Voici l'affichage de la console:
    /root$ gcc Traitement.cpp -o traitement
    /root$ sh traitement
    traitement: traitement: cannot execute binary file

    En tout cas, merci pour ton aide.
    Fichiers attachés Fichiers attachés

  10. #10
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Ha ben je croyais que tu n'avais pas passé l'étape de la compilation.

    Bon, ben du coup tu touches au but. Le fichier généré n'est pas un script shell mais un binaire directement exécutable.

    Si tu tapes '/root/traitement' (tout court) ton programme va s'exécuter.

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    J'arrive maintenant à exécuter mon programme "traitement" en tapant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gcc taitement.cpp -o traitement #pour la compilation
    ./traitement #pour l'exécution
    Tout se passe bien.

    Le problème est que cela ne fonctionne pas dans le fichier etc/init.d/rc.local, pour le démarrage automatique au boot. Si j'y place la commande ./root/traitement, rien ne se passe.
    Alors qu'avec la commande sh /root/webcam, tout marche bien dans etc/init.d/rc.local.
    Comment dois-je faire?

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Points : 1 058
    Points
    1 058
    Par défaut
    Il ne faut pas mettre de point devant un chemin absolu:
    /root/traitement et non ./root/traitement.

    Le point (.) sert à indiquer le chemin courant.
    lance /root/traitement,
    lance /autre/traitement.

  13. #13
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Et on est bien d'accord que la compilation se fait une seule fois. Pas la peine de le mettre dans rc.local !

  14. #14
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Je mets dans rc.local:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sh /root/webcam
    /root/traitement
    Mais seulement le fichier webcam s'exécute.

  15. #15
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Et en rajoutant une esperluette à la fin des commandes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sh /root/webcam &
    /root/traitement &

Discussions similaires

  1. Déconnexion automatique après ouverture de session!
    Par js8bleu dans le forum Windows XP
    Réponses: 1
    Dernier message: 27/04/2010, 12h31
  2. Lancement automatique du portail à l'ouverture de session
    Par gracouille dans le forum SharePoint
    Réponses: 5
    Dernier message: 12/09/2008, 12h13
  3. Réponses: 1
    Dernier message: 22/01/2008, 17h38
  4. ouverture de session automatique XP
    Par ob1knob dans le forum Windows XP
    Réponses: 8
    Dernier message: 13/01/2006, 16h14
  5. Passer à l'invite d'ouverture de session...
    Par Leoxp dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 14/12/2003, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo