Pierre Alain B. a écrit 162 commentaires

  • # Solution adoptée ?

    Posté par  . En réponse au message Photomaton lors d'un mariage. Évalué à 10. Dernière modification le 29 mars 2011 à 19:47.

    Bonjour,

    Alors finalement, je suis parti d'un script perl de Chris Sincock et l'ai adapté pour mon usage.
    Le script initial est dispo ici :
    http://sourceforge.net/projects/lk4b/files/lk4b/

    Il permet de capturer tous les événements du clavier et ne débloque qu'à la saisie d'un mot de passe.

    J'ai ajouté :

    • l'utilisation d'xmodmap afin de désactiver les touches 'Ctrl' (pour éviter que l'utilisateur ne puisse appeler Ctrl+Alt+F1 par exemple)
    • l'utilisation d'xdotool (http://www.semicomplete.com/projects/xdotool/) pour transmettre la touche Espace à Cheese afin de provoquer la prise de la photo

    D'ailleurs, dans mes recherches, j'ai également découvert l'application xdrtool qui permet aussi de bloquer clavier et souris jusqu'à saisie d'un mot de passe.

    Et voici le code en l'état actuel :

    #!/bin/env perl
    use warnings;
    use strict;
    use Data::Dumper;
    my $lastmod="2006/05/25";
    my $datemod="2011/03/29";
    my $defaultpassword="mypassword";
    my $progname=$0;
    $progname =~ s%.*/%%g;
    
    sub usage($)
    {
      my ($exitcode)=@_;
    
      print STDERR <<END_OF_USAGE ;
    usage for $progname
    $progname [-xy=XX,YY]
    			  [-p|password thepassword]
    			  [-stars|-visible|-visible=maxlen]
    			  [-message]
    			  [-w|-withmouse]
    			  [-help]
    
    $progname was written by:Chris Sincock
    (this version $datemod)
    Copyright (C) 2006 Chris Sincock
     -withmouse option added 2008 Andrew Oakley under GPL
     adapted by PAB to work with cheese to do a photobooth !
    
    This is free software; see the GNU GPL license for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR
    A PARTICULAR PURPOSE
    
    
    If you specify -password or -stars it will default to not telling you
     what password to type
    If you do not specify -password or -stars or -vis, it will tell you
     what password to type and the password will be $defaultpassword
    
    You can clear whatever has already been typed by hitting <Return>
    END_OF_USAGE
    
      exit($exitcode);
    }
    
    
    my $password=$defaultpassword;
    my $message="Type the password to quit\n:";
    my $true=1;
    my $false=0;
    my $noshow=$false;
    my $withmouse=$false;
    my $maxshownlength=30;
    my $defaults_changed=$false;
    my $defaults_changed_vis=$false;
    
    my @startpos=(50,50);
    
    while (@ARGV)
    {
      my $arg=shift @ARGV;
      if($arg =~ /^-xy=(\d+),(\d+)$/i)
      {
        @startpos=($1,$2);
      }
      elsif($arg =~ /^(-|--)(h|help|usage|[?])$/i)
      {
        usage(0);
      }
      elsif($arg =~ /^(-|--)(p|pass|password)$/i)
      {
        if(!@ARGV)
        {
          print STDERR "missing argument\n";
          usage(-1);
        }
        $password=shift @ARGV;
        $defaults_changed=$true;
      }
      elsif($arg =~ /^(-|--)(s|stars)$/i)
      {
        $noshow="stars";
        $defaults_changed=$true;
      }
      elsif($arg =~ /^(-|--)(w|withmouse)$/i)
      {
        $withmouse=$true;
        $defaults_changed=$true;
        $defaults_changed_vis=$true;
      }
      elsif($arg =~ /^(-|--)(v|vis|visible)(=(\d+)|)$/i)
      {
        $noshow=$false;
        if(length($4))
        {
          $maxshownlength=$4;
        }
        $defaults_changed=$true;
        $defaults_changed_vis=$true;
      }
      elsif($arg =~ /^(-|--)(m|msg|message)$/i)
      {
        if(!@ARGV)
        {
          print STDERR "missing argument\n";
          usage(-1);
        }
        $message=shift @ARGV;
        if(length($message))
        {
          $message.="\n";
        }
        $defaults_changed=$true;
      }
      else
      {
        usage(-1);
      }
    }
    if(!$defaults_changed)
    {
      $noshow=$false;
    }
    if((!$defaults_changed || $defaults_changed_vis))
    {
      $message="Type password to quit\n";
    }
    
    use Gtk2 -init;
    my $w  = new Gtk2::Window -popup;
    my $l  = new Gtk2::Label $message;
    my $eb = new Gtk2::EventBox;
    my $gdkwin;
    my $grabstatus;
    my $typed="";
    
    sub do_grab()
    {
      system "xdotool search --onlyvisible --classname 'Cheese' windowactivate --sync key F11";
      system "xmodmap -e 'keycode 37 = ' ";
      system "xmodmap -e 'keycode 105 = ' ";
      $grabstatus= Gtk2::Gdk->keyboard_grab(
          $gdkwin,$true,Gtk2::Gdk::X11->get_server_time($gdkwin) );
      if($grabstatus ne "success")
      {
        $l->set_text("keyboard grab failed");
      }
      if($withmouse)
      {
        $grabstatus= Gtk2::Gdk->pointer_grab(
           $gdkwin,$true,['button-press-mask','button-release-mask'],undef,undef,Gtk2::Gdk::X11->get_server_time($gdkwin));
        if($grabstatus ne "success")
        {
          $l->set_text("pointer grab failed");
        }
      }
    }
    
    sub do_ungrab()
    {
      system "xmodmap -e 'keycode 37 = Control_L NoSymbol Control_L'";
      system "xmodmap -e 'keycode 105 = Control_R NoSymbol Control_R'";
      Gtk2::Gdk->keyboard_ungrab(Gtk2::Gdk::X11->get_server_time($gdkwin));
      if($withmouse)
      {
         Gtk2::Gdk->pointer_ungrab(Gtk2::Gdk::X11->get_server_time($gdkwin));
      }
    }
    
    sub do_keypress(@)
    {
      my ($widg,$evt)=@_;
      my $kv = $evt->keyval;
      my $cs = Gtk2::Gdk->keyval_name($kv);
    
      if($cs =~ /Return|Enter/)
      {
        if($typed eq $password)
        {
          do_ungrab();
          Gtk2->main_quit;
        }
        else
        {
          $typed="";
        }
      }
      elsif($cs =~ /space/)
      {
        system "xdotool search --onlyvisible --classname 'Cheese' windowactivate --sync key space";
      }
      elsif(length($cs) == 1 && $cs =~ /[[:print:]]/)
      {
        $typed .= $cs;
      }
      my $showtyped=$typed;
      if($noshow eq "stars")
      {
        $showtyped =~ s/[^*]/*/g;
      }
      elsif($noshow)
      {
        $showtyped="";
      }
      if(length($showtyped) > $maxshownlength)
      {
        $showtyped=substr($showtyped,0,$maxshownlength);
      }
      $l->set_text($message.$showtyped);
    }
    $w->add($eb);
    $eb->add($l);
    $w->add_events( [ qw(key_press_mask) ]);
    $w->signal_connect('key_press_event', 669cc01ce3a2f62b9ad1e9ea2aeb4789562db6a2amp;do_keypress);
    $w->signal_connect('realize', sub { $w->window->move(@startpos); });
    $w->signal_connect('map', sub { $gdkwin=$w->window; do_grab(); });
    $w->show_all;
    Gtk2->main;
    
  • # Quelques logiciels de CAO (=CAD en anglais) OpenSource

    Posté par  . En réponse au message Creo Elements Pro (ex Pro Engineer) sous Linux. Évalué à 1.

    Je ne suis pas utilisateur donc je ne sais pas juger des pour/contre mais voici quelques références OpenSource:

    QCad
    http://www.framasoft.net/article1058.html

    HeeksCad
    http://www.framasoft.net/article5031.html

    SagCad
    http://www.framasoft.net/article5054.html

  • # Debian avec XFCE

    Posté par  . En réponse au message Quelle distribution pour un vieux laptop ?. Évalué à 2.

    Une Debian bien configurée avec Lenny ne demande pas bcp de ressource. Mais il faut bien évidemment faire l'effort de l'alléger au maximum.

    Sinon, effectivement le plus simple est de se tourner vers les microdistrib Slitaz, Puppy etc...

  • [^] # Re: Je n'ai pas de solutions à proposer

    Posté par  . En réponse au message Photomaton lors d'un mariage. Évalué à 2.

    Pour tout te dire, l'idée n'est pas de moi.
    Mais merci !
    Je posterai le mode opératoire que j'aurai employé - des fois que d'autres veuillent l'utiliser.

  • [^] # Re: Conseils

    Posté par  . En réponse au message Photomaton lors d'un mariage. Évalué à 1.

    Comme je prévois de le faire sur un PC portable (ben oui, déplacer toute une grosse machine, ça commence à transformer le mariage en expédition... ;-)) rendre le clavier inacessible est délicat.
    A moins de jouer des ciseaux et de confectionner une jolie boîte en carton fermée !

  • [^] # Re: autologin qui demarre uniquement Cheese

    Posté par  . En réponse au message Photomaton lors d'un mariage. Évalué à 1.

    Merci, je vais creuser cette idée qui est intéressante... en plus elle résout le pb du redémarrage du poste par l'utilisateur...

  • # Kino

    Posté par  . En réponse au message Cherche logiciel montage vidéo simple…. Évalué à 2.

    Sinon on peut également penser à Kino. Je pencherai toutefois vers Kdenlive vue l'utilisation décrite.

    Pour aller plus loin, j'ai souvent entendu parler (mais n'ai jamais testé) Cinelerra.

  • [^] # Re: modifier dans gnome-mixer ?

    Posté par  . En réponse au message Changer l'action associée à XF86Audio[Lower/Raise]Volume. Évalué à 1.

    J'ai déjà placé gnome-volume-control sur 'PCM' comme canal à contrôler - mais cela ne change pas le comportement des touches multimédia qui continuent à contrôler le canal 'Front', les obstinées ;-)
  • # Autres param

    Posté par  . En réponse au message Utilisation VirtualBox pour image linuxfr. Évalué à 2.

    Et as-tu essayé les autres paramétrages (NAT par exemple) de réseau ?
    J'utilise la méthode NAT sur ma Debian testing et cela fonctionne out of the box.
  • [^] # Re: xrandr et sortie audio

    Posté par  . En réponse au journal Passer d'un câble VGA à un câble HDMI. Évalué à 1.

    Je n'ai pas testé le son via la sortie HDMI.

    xrandr me dit :

    Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
    default connected 1920x1080+0+0 0mm x 0mm
    1920x1080 50.0*

    Mais je dois t'avouer ne pas l'utiliser - je gère ma résolution d'écran avec nvidia-settings.

    Bonne journée
  • # Merci pour vos réponses à tous !

    Posté par  . En réponse au message Une petite start-up, des postes sous Windows et.... Évalué à 1.

    Un grand merci pour tous vos commentaires !
  • [^] # Re: Grand merci à patrick_g

    Posté par  . En réponse à la dépêche Le noyau Linux 2.6.28 est disponible. Évalué à 3.

    Merci merci, des articles de qualité comme ceux là font toujours très plaisir !
  • # Qq pistes

    Posté par  . En réponse au message Comportement bizarre de Icedove sous Debian. Évalué à 1.

    - Si tu lances Icedove/Thunderbird à partir de la console, ne vois-tu pas des messages d'erreur balancés sur la console lors du 'plantage' ?

    - As-tu essayé de façon temporaire de faire fonctionner Icedove/Thunderbird avec un profil qui ne serait pas sur ta partition Windows ? Histoire de voir si le problème vient du partage de profil entre Icedove sur ta Debian et Thunderbird sur ton OS Microsoft.
  • [^] # Re: sda plutot que sda6

    Posté par  . En réponse au message Perte d'espace suite à restauration avec partimage. Évalué à 2.

    Merci nono14, c'était effectivement le système de fichiers qui n'occupait pas toute la place de la partition allouée.
    Un petit coup de
    # resize2fs /dev/sda5
    # resize2fs /dev/sda6

    et plus aucun problème !

    Merci beaucoup pour ton aide.
    Merci beaucoup également à NeoX pour son aide.
  • [^] # Re: sda plutot que sda6

    Posté par  . En réponse au message Perte d'espace suite à restauration avec partimage. Évalué à 2.

    Effectivement NeoX, c'est moi qui ai buggé et parted et gparted me disent la même chose.

    Cependant, je ne comprends tjs pas pourquoi gparted installé sur ma debian ne donne pas les mêmes résultats que qtparted lancé depuis un LiveCD. J'aimerai croire le LiveCD !
  • [^] # Re: sda plutot que sda6

    Posté par  . En réponse au message Perte d'espace suite à restauration avec partimage. Évalué à 1.

    Ah non, c'est encore plus original : si je boote sur un SystemRescueCD, qtparted me donne des valeurs tout à fait conformes à ce qu'on devrait observer i.e.
    6.5Go utilisés dans une partition /dev/sda5 de 40Go
    59Go utilisés dans une partition /dev/sda6 de 176Go

    Je vais essayer de resizer mes partitions avec un SystemRescueCD mais il faut que je télécharge une version plus récente...
  • [^] # Re: sda plutot que sda6

    Posté par  . En réponse au message Perte d'espace suite à restauration avec partimage. Évalué à 1.

    Non, /dev/sda pèse 250Go (dumoins 232,88Go)

    Pour précision, voici ce que me dit parted :

    Number Start End Size Type File system Flags
    1 512B 100MB 100MB primary fat32 lba
    2 100MB 30,0GB 29,9GB primary fat32 lba
    3 30,0GB 250GB 220GB extended lba
    5 30,0GB 70,0GB 40,0GB logical ext3
    6 70,0GB 247GB 177GB logical ext3
    7 247GB 250GB 3000MB logical linux-swap

    C'est marrant, gparted et parted ne sont pas d'accord... moi qui croyais que gparted n'était qu'une simple couche graphique, je me trompais !
  • # Erreur

    Posté par  . En réponse au message BASH : fonction 'let'. Évalué à 1.

    Evidemment, je me suis planté ! Pour le premier tiret, il faut lire :

    - en console sous Bash (3.2.17)
    si je tape
    $ let "essai=$RANDOM"
    $ echo $essai
    J'obtiens bien un nombre aléatoire.
  • # JAlbum

    Posté par  . En réponse au message un soft pour une galerie photo. Évalué à 2.

    Egalement un programme sympa pour générer un album en ligne.
  • [^] # Re: Autoréponse

    Posté par  . En réponse au message Carte mère core2duo (socket 775) + chip i950 ?. Évalué à 2.

    Très général comme réponse mais je n'ai jamais investi dans le µATX donc je peux juste de conseiller http://hardware4linux.info/.
    Bon courage
  • [^] # Re: Est-ce que tu as déjà utilisé le template Anonymous.conf ?

    Posté par  . En réponse au message ProFTPd et accès anonyme. Évalué à 1.

    D'abord merci pour ta réponse.
    J'ai déjà essayé le Anonymous.conf fourni sur le site de proFTP mais en vain, le même problème survient à savoir l'impossibilité de se connecter en anonyme.
    J'ai tenté de rajouter le LIMIT LOGIN dans la section Anonymous de mon fichier de configuration mais une fois encore pas d'amélioration.

    Bizarre, bizarre...
    Le mieux à faire est peut-être de laisser la poussière retomber et de retenter tout cela dans qq jours.

    Merci encore
  • [^] # Re: /etc/ftpusers

    Posté par  . En réponse au message ProFTPd et accès anonyme. Évalué à 1.

    Non, malheureusement ftp n'est pas dans la liste, ni anonymous !
  • # Autres

    Posté par  . En réponse au message Question de noob. Évalué à 2.

    Comme autres outils de virtualisation, on citera :
    - qemu (avec son module kernel kqemu)
    http://fr.wikipedia.org/wiki/QEMU
    http://www.lea-linux.org/cached/index/Software-soft_emul-qem(...)
    http://kidsquid.com/cgi-bin/moin.cgi


    - Xen (mais là c'est un peu plus compliqué !)
    http://fr.wikipedia.org/wiki/Xen
  • [^] # Re: et moi je crois que ta réponse est un peu dure

    Posté par  . En réponse au message pixma mp 130. Évalué à 2.

    Désolé de t'avoir vexé.
    Je me permettais de soumettre quelques liens qui me semblaient pertinents.
    As-tu essayé de faire fonctionner l'imprimante avec les drivers de la MP110 ou MP150 ? (j'ai eu un certain nb d'HP qui tournaient sans pb avec les drivers d'autres imprimantes)
  • # Aide

    Posté par  . En réponse au message pixma mp 130. Évalué à 3.