Forum Linux.suse lancer 1 .out au demarage

Posté par  .
Étiquettes : aucune
0
8
jan.
2006
salut tout le monde, je suis un nouveau dans le monde linux,
mon pb est que je veux executer 1 programme que j'ai ecrit en C au demarage de suse.
Merci d'avance
  • # Re

    Posté par  (site web personnel) . Évalué à 3.

    Salut,
    premièrement, un peu HS, ton fichier s'appelle a.out parce que c'est le nom par défaut, mais tu peux l'appeler autrement si tu veux, a.out ne veut rien dire dans l'absolu. Sinon, tu peux ajouter l'option -o toto par exemple à gcc pour obtenir un programme du nom de toto.
    Pour lancer un programme au démarrage, il y a plusieurs solutions selon que tu veux ou non le lancer en tant que root, que c'est un programme graphique...
    Si tu as un fichier /etc/init.d/rc.local, le contenu de ce fichier est executé en tant que root au démarrage du système.
    Sinon, il te reste le .kde/Autostart de KDE, l'outil de gestion des sessions de Gnome, et j'en oublie.
    • [^] # Re: Re

      Posté par  . Évalué à 1.

      Merci Adrien, j'ai essayé avec le rc,mais il n'est pas ecrit en C , il n y a pas la fonction main() ,et ce qui concerne le .kde/autostart , j'ai rien compris!
      Merci.......

      • [^] # Re: Re

        Posté par  . Évalué à 1.

        bon... alors premierement faut compiler le programme; l'écrire ne suffit pas :P gcc -o schmilblik glandage.c

        ensuite, pour executer ton prog au démarrage tu rajoutes son chemin /home/toto/progC/test/schmilblik
        dans le fichier qui va bien... ( rc.local d'après adrien )
        bon ensuite plusieurs points de détails

        ça va lancer le programme en tant que root. Donc c'est dangereux. Root peux tout faire; y compris viander la machine, les executable, les partition.
        Si ton programme n'a pas besoin des droit root pour fonctionner rajouter su toto -c /home/toto/progC/test/schmilblik
        où toto est le nom de l'utilisateur qui doit faire fonctionner le programme ( et la tu peux te posser la question s'il est judicieux de le démarrer a ce moment la... )

        si ton programme est une tache de fond qui ne s'arrête jamais, il peut etre necessaire ( voir même utile si tu veux faire kekchose avec ta machine ) de rajouter un '&' en bout de ligne

        ensuite si ton programme as une interface graphique ou a besoin de X pour fonctionner, ce n'est pas la bonne manip. Regarde du coté de gnome ou kde ( ou wmaker ou autre... ) avec les autostart

        enfin si tu as l'habitude de te logger en root, crée un compte utilisateur et utilise le. Root ne sert qu'a configurer ( et planter ) la machine.

        Il ne faut pas décorner les boeufs avant d'avoir semé le vent

        • [^] # Re: Re

          Posté par  (site web personnel) . Évalué à 1.

          Le fichier /etc/init.d/rc.local est un fichier shell, tu as juste à rentrer dedans une commande par ligne.
          Par exemple, strictement inintéressant, mais si tu voulais créer un fichier test dans / par exemple à chaque démarrage, tu rajoutes la ligne
          touch /test

          fearan t'as bien expliqué les dangers du root, donc une fois que tu as compilé ton programme, et que tu as ton fichier a.out (ou autre si tu as changé le nom), note son chemin (dans le dossier où se trouve ton executable, tape pwd pour avoir le dossier en cours, et ainsi construire le chemin vers l'executable. Par exemple, si pwd te retourne /home/toto, et que ton programme s'appelle test, l'adresse du programme est /home/toto/test, c'est comme C:\machin truc). Ensuite, tu n'as plus qu'à rajouter le chemin vers le programme à la fin de /etc/init.d/rc.local
          si tu es l'utilisateur toto, rajoute la ligne su - toto -c /chemin/vers/le/programme

          Refère toi à ça : http://linuxfr.org/forums/9/6142.html pour plus d'informations.

          Bonne chance
          • [^] # merci ça marche

            Posté par  . Évalué à 1.

            merci les amis ça marche, j'ai mis mon programme dans /root/.Kde/autostart/
            et ça marche !
            • [^] # Re: merci ça marche

              Posté par  . Évalué à 2.

              arrrrrgggggg
              Une hérésie...

              Quand on dit que root ça sert qu'a planter la machine c'est pas vraiment une blague...

              Il faut vraiment crée un user normal.
              Ensuite la machine ( sous mandriva au moins ) te demandera le mot de passe root chaques fois que tu as besoin de faire quelque chose de potentielment dangereux pour le système.

              Contrairement à windows, il n'est pas nécessaire d'être un gourou pour pouvoir faire quelque chose avec un compte utilisateur; le compte utlisateur c'est la norme; tout est configuré pour. Ensuite aller sur le web avec un compte root, c'est une très mauvaise idée... Une faille de FF et ton Système peut être infecté et ou vérolé. ( donc réinstall ) avec un compte user, au pire, c'est juste ton compte user ( a moins d'une faille suplémentaire dans linux, mais là c'est déjà moins évident. )

              Et surtout sous mandriva, kde n'a rien a voir sous root et et sous un utilisateur normal.

              Il ne faut pas décorner les boeufs avant d'avoir semé le vent

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.