Forum Linux.gui auto exécuter une application graphique

Posté par .
Tags : aucun
0
28
nov.
2005
Bon, j'arrive à un stade où mon application graphique (petite application Gtk) commence à fonctionner.
Il est temps maintenant que je l'auto exécute: C'est à dire sans toucher au clavier,
juste en appuyant sur la touche marche/arrêt de mon ordinateur, elle s'affiche à l'écran (moyennant évidemment le lancement de linux).
J'ai essayé autour des commandes startx, xinit, ... mais en vain (ou peut être je m'y prend mal).
merci d'une suggestion.
  • # Question bête

    Posté par . Évalué à 1.

    Ne faut il pas au minimum lancé un gestionnaire de fenêtre genre gnome ou fluxbox ?
    • [^] # Re: Question bête

      Posté par . Évalué à 1.

      Pas si bête, à mon sens; j'utilise matcbox: http://projects.o-hand.com/matchbox/
      Ce qu'il faut savoir: Je développe une application embarquée possedant un
      minimum de ressource matériel, l'IHM se resume à un écran tatctile de 5 pouces.
      Pour le developpement, je mets à profit le port série, via minicom et un ordinateur hôte cossu.
      Ce que j'ai fait: Je démarre avec un run level de 3, dans /etc/init.d , j'ai crée un script
      "someapp" exécutable contenant simplement "#!/bin/sh et startx" et un lien vers ce script
      dans /etc/rc3.d du genre S99someapp. Ensuite, j'ai modifié le fichier :
      /usr/X11R6/lib/X11/xinit/xinitrc , dont voici exactement les dernières lignes:
      *****************
      if [ -x $HOME/.xinitrc ]; then
      exec $HOME/.xinitrc
      fi
      # start some nice programs
      xsetroot -solid Aquamarine4
      xterm -ls -geometry 80x24+0+0 &
      /home/lotfi/myapp &
      if [ -x "$X_WINDOW_MANAGER" ] ; then
      exec $X_WINDOW_MANAGER
      elif [ -x /usr/bin/matchbox ] ; then
      exec /usr/bin/matchbox
      elif [ -x /usr/X11R6/bin/twm ] ; then
      exec /usr/X11R6/bin/twm
      else
      echo "No window manager found" 1>&2
      fi
      ***************, mon application est : /home/lotfi/myapp
      Ce que j'ai obtenu: "/usr/X11R6/bin/startx: line 68: xinit: command not found" !!?
  • # .xsession

    Posté par (page perso) . Évalué à 3.

    dans .xsession , ajoutes la commande de ton application.
    • [^] # Re: .xsession

      Posté par . Évalué à 1.

      si .xsession = .xinitrc (?) , alors, le démarrage de mon application dans le scripte
      ~/.xinitrc ne peut avoir lieu sans le startx, en effet, voici ce que dis dans un resumé
      de mon /usr/X11R6/lib/X11/xinit/xinitrc:
      *****
      if [ -x $HOME/.xinitrc ]; then
      exec $HOME/.xinitrc
      fi
      **********
      et le startx, on le lance habituellement en ligne de commande, n'est ce pas!??
      • [^] # Re: .xsession

        Posté par (page perso) . Évalué à 2.

        regarde dans ~/.xsession-errors il peut y avoir des renseignement interressant.
        • [^] # Re: .xsession

          Posté par . Évalué à 1.

          le "~/.xsession" correspond à quel utilisateur: le /root, le /home/lotfi (c'est moi!) ou
          bien le /home/lambda ?
          En fait, j'aimerais :
          1- m'affranchir de l'utilisateur.
          2- auto-exécuter mon application graphique à la Mise Sous Tension de ma machine.
          3- Et, éventuellement, par le biais de mon application, proposer un login d'utilisateur.

          Bien sûr, tous cela doit être sous le contrôle, je présume, d'un gestionnaire de
          fenêtre tel que gnome ou fluxbox ou matchbox (c'est mon cas).
          Merci
          • [^] # Re: .xsession

            Posté par (page perso) . Évalué à 2.

            D'abord, faudrait nous dire ce que fait ton applis si c'est pas indiscret. Ensuite, si c'est une appli graphique. Elle doit être exécuté avant tout utilisateurs et en graphique, elle doit être exécuté par le display manager. xdm devrait faire l'affaire.

            Avec gdm, tu peux modifier les script shell /etc/gdm/Init/Default ou un truc du genre.

            Soit plus clair, ce n'est pas madameirmafr.org ici.
            • [^] # Re: .xsession

              Posté par . Évalué à 1.

              Trés bien E. , je développe une solutions permettant l'acquisition de données de capteurs de terrain,
              un produit similaire existe http://www.precisionnews.com/article_La-centrale-d-acquisiti(...)
              mais idéalement serait de concevoir une solution dédiée.
              comme tu le constate, c'est une solution quasi-clef-en-main que je doit apporter:
              Pour l'utilisateur, il s'agit d'une boite comportant un écran sur lequel figure des informations de mesure de capteurs. Linux est ici completement transparent.
              L'utilisateur pourrait utiliser l'écran tactil pour modifier quelques paramètres
              et "lancer" une acquisition de données. Les données peuvent etre téléchargé via une liaison ethernet.

              En fait, pour résumé, il pourrait s'agir d'une application grand public tel
              un lecteur DVD de salon, un enfant de 5 ans doit pouvoir actionner le truc. (mais Linux tourne derrière!)
              • [^] # Re: .xsession

                Posté par (page perso) . Évalué à 2.

                merci.

                Je vois plusieurs solutions :

                Ou tu utilise gdm pour un login automatique vers utilisateur lambda qui exécute ton appli dans ton .xsession.

                Ou tu lance ton programme avant le display manager, (il sera donc exécuté en root !!!).

                Ou autre chose.

                Dans le .xsession. Tu peut faire un while true pour qu'en cas de plantage ou de fermeture, le programme soit relancé.

                Ctrl+Alt+Backspace pour éteindre.

                C'est une solution.

Suivre le flux des commentaires

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