Forum Linux.debian/ubuntu Auto-login sans interface graphique en lancement commande

Posté par  .
Étiquettes :
0
19
mai
2010
Bonjour,

J'écris actuellement un système de pointeuse en Java fonctionnant avec un lecteur de codes-barres.

Je voudrais faire tourner mon programme sur une installation de Debian sans serveur X (de toute façon il n'y aura pas d'écran ^^).

Comment puis-je faire pour qu'au démarrage le compte utilisateur soit automatiquement identifié et que la commande lançant mon application soient exécutée ?

Le programme doit attendre les chaînes de caractères que va lui envoyer le lecteur à partir de codes-barres en code 39.
  • # Obligé?

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

    Es-ce vraiment obligatoire d'être logguer?
    Ne pourrais-tu pas plutôt utiliser quelque chose comme cron (@reboot) ou plutôt dans un script de démarrage init.d & co?
    • [^] # Re: Obligé?

      Posté par  . Évalué à 2.

      Le lecteur de codes-barres agit comme un clavier, et donc l'application qui l'utilise ne peut pas être un démon en tâche de fond.
      Il faut que le programme Java attende une entrée clavier.
      • [^] # Re: Obligé?

        Posté par  . Évalué à 3.

        comme dit en dessous, suffit de remplacer le shell ou le prgramme de login par le tiens...

        ainsi ta machine boot, et lance directement ton programme
  • # remplacer getty

    Posté par  . Évalué à 3.

    sur ma debian, ce qui gere les terminaux se trouvent dans /etc/inittab
    ce sont les lignes suivantes
    1:2345:respawn:/sbin/getty 38400 tty1
    2:23:respawn:/sbin/getty 38400 tty2
    3:23:respawn:/sbin/getty 38400 tty3
    4:23:respawn:/sbin/getty 38400 tty4
    5:23:respawn:/sbin/getty 38400 tty5
    6:23:respawn:/sbin/getty 38400 tty6

    il te suffit donc (le fameux "yapuka") tout simplement de lancer ton programme pour qu'il utilise tty1 comme terminal, en lieu et place de getty 38400 tty1

    par contre comment faire la redirection de /dev/tty1vers le stdin/stdout toussa
    ce lien pourras peut être t'aider.
    http://fixunix.com/unix/84589-redirect-stdin-tty-tty-stdout.(...)
    Faire un programme en C n'est pas particulièrement dur pour faire ca. Si tu n'y arrive pas, PM ;)
    • [^] # Re: remplacer getty

      Posté par  . Évalué à 2.

      je me parle à moi même, mais voici d'autres liens, peut etre plus simple :
      http://www.linuxquestions.org/questions/linux-general-1/auto(...)
      bash à la place de getty
      voir une option de getty : -l, qui permet d'appeller autre chose que le "login", et donc par ex un script qui fait un "su - to_user -c "ta commande" " ;)


      Attention, si tu utilise upstart, ou similaire, l'emplacement et la syntaxe ont pu changée :
      http://ohioloco.ubuntuforums.org/showthread.php?p=3926755#po(...) nous donne
      /etc/event.d/tty1 à éditer
      et à la place de
      "exec /bin/login -f root </dev/tty1 > /dev/tty1 2>&1"
      tu met par exemple
      "exec su - to_user -c "ta commande" </dev/tty1 > /dev/tty1 2>&1"


      Ps : parmis toutes les solutions fournies, j'en ai testée aucune.
  • # pointeuse...

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

    j'espère que ta pointeuse ne va pas gérer des horaires d'employés, sinon c'est les photocopies de codes barres assurées :)

Suivre le flux des commentaires

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