• # ben

    Posté par  . Évalué à 3.

    à part que ton script à besoin d'etre root pour bien fonctionner
    (à cause du lshw)

    qu'il lance 2 fois lshw
    qu'il boucle 1 fois pour remplir, une fois pour afficher la liste

    alors qu'un simple
    ls -l /dev/* | grep cdrom | grep dev | awk '{print $9}'
    pourrait suffir

    que la personne pourrait saisir /dev/xxx
    plutot que le 1/2/3/4/5 que tu proposes....

    je ne vois pas trop ce qu'on pourrait ameliorer dans ton script
    • [^] # Re: ben

      Posté par  . Évalué à 1.

      Merci pour ta réponse.

      Le but est d'éviter de saisir /dev/xxx à la main sinon je ne me serai pas embêté de la sorte...

      lshw fonctionne bien sans le root sous ubuntu même s'il se plaint qu'il en voudrait le statut. Par contre, j'ignore si c'est le cas sur toutes les autres distributions.

      Evidemment, j'aurai pu me contenter de ls -l /dev/* | grep cdrom | grep dev | awk '{print $9}' mais /dev/cdromX est-elle à coup sur utilisée par toutes les distributions pour caractériser les périphériques cd/dvd ? D'autre part, si on cherche des périphériques DVD uniquement, on ramasse aussi les périphériques CD simples avec cette commande
      • [^] # Re: ben

        Posté par  . Évalué à 2.

        en tant qu'utilisateur ordinaire, lshw ne me renvoie rien avec ton script sous ubuntu 9.04
        c'est pour cela que j'avais fait la remarque sur le sudo ou le fait d'etre root

        ma ligne avec le ls, fait un grep sur cdrom
        hors les peripheriques dvd/cd appartiennent aux groupes cdrom
        et c'est ceux là que je filtrais.

        quel est l'interet de selectionner le lecteur par 1/2/3
        à la place de
        /dev/sr0
        /dev/sg0
        /dev/dvd
        /dev/cdrom

        dans le cas d'une machine avec un seul lecteur, c'est le meme peripherique

        dans un cas avec de lecteurs multiples l'utilisateur qui ne connait pas le nom de ses peripheriques (/dev/xxx) ne pourra de toute facon pas savoir lequel est le bon

        et si c'est parce qu'il a un lecteur de CD et un lecteur DVD,
        alors il te suffit de selectionner avec ton script directement le lecteur de DVD
        • [^] # Re: ben

          Posté par  . Évalué à 2.

          Merci pour l'information relative à ubuntu 9.04. Je n'utilise pas cette version là.

          les périphériques dvd/cd ont beau appartenir aux groupes cdrom, on n'a aucune assurance que les périphériques qui y sont soient effectivement un dvd. Ils peuvent très bien n'être que CD. Or, je veux obligatoirement ne faire apparaître que les périphériques DVD.

          je sélectionne le lecteur par 1,2,3 car c'est le seul moyen (du moins, il me semble) que j'ai trouvé pour compter le nombre de lecteur et en même temps se rendre indépendant de la typologie adoptés par les distributions (qui me dit que sur une distribution X ou Y, on
          utilise /dev/sr0 ou /dev/sg0 ou /dev/dvd ou /dev/cdrom ou autre chose).

          L'utilisateur qui ne connaît pas le nom de ses périphériques (/dev/xxx) ne pourra de toute façon pas savoir lequel est le bon. On est d'accord. Par contre, le fait de lui indiquer que /dev/scd0 est le master et que le /dev/scd1 est le slave peut être un indice complémentaire.
  • # Hal

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

    Un truc genre ça (j'ai eu la flemme de copier les parties pas intéressantes):
    i=0
    echo "Select the DVD device you would like to use:"
    for udi in $(hal-find-by-property --key storage.drive_type --string cdrom); do
      if [ "$(hal-get-property --key storage.cdrom.dvd --udi $udi)" = "true" ]; then
        DvdDevice[$i]=$(hal-get-property --udi $udi --key block.device)
        echo "$i) ${DvdDevice[$i]} ($(hal-get-property --udi $udi --key storage.model))"
        let i=i+1
      fi
    done
    read DvdDeviceChoice
    
    • [^] # Re: Hal

      Posté par  . Évalué à 1.

      Merci Pascal; je teste cela ce soir...

Suivre le flux des commentaires

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