Christophe --- a écrit 225 commentaires

  • [^] # Re: Fonction obsolète

    Posté par  . En réponse au message Alarme (boucle). Évalué à 2.

    Je rajouterai que c'est d'ailleurs mis aussi dans la section Notes de la page de man:

    Cette fonction est obsolète, utilisez nanosleep(2) ou setitimer(2) à sa place.

    ...il faut toujours jeter un oeil à la section notes...

    Sinon, je rajouterai aussi que dans le Synopsys, il est aussi précisé ceci:
    #define _XOPEN_SOURCE 500

    c'est probablement ce qui manque si tu veux *vraiment* utiliser cette fonction.
  • [^] # Re: Aîe...

    Posté par  . En réponse au journal Ubuntu 8.10 BETA est sorti. Évalué à 1.

    Bin ouais, maintenant il faut faire:
    #emacs /etc/network/interfaces

    C'est dur... :)

    -->[]
  • [^] # Re: Je veux bien mais....

    Posté par  . En réponse au message Duplication de clé USB. Évalué à 2.

    Pardon, j'ai oublié le lien, pour les acharnés:
    http://www.bigbruin.com/reviews05/thumbraid_1

    ...ou comment faire du RAID1 sur 4 clé USB... du bonheur :)
  • [^] # Re: Je veux bien mais....

    Posté par  . En réponse au message Duplication de clé USB. Évalué à 2.

    - à aller plus vite?

    La vitesse d'écriture dans de la Flash est plus faible que le débit USB (en tout cas en 2.0), donc il y a moyen d'accélerer en écrivant plusieurs clés à la fois.
    La limite au nombre de clés est donnée quand le bus USB est à saturation, et que la somme des débits d'écriture max de chaque clé est atteind.
    Dans ces conditions, pour minimiser le temps des opérations, il suffit de placer N clés par hub (N étant le résultat précédent), avec un hub par port USB de la machine...

    - à simplifier le travail de manutention?

    En faisant abstraction du paragraphe précédent, supposont qu'écrire une clé prenne 1h. S'il y a 10 clés à écrire, en les écrivant une par une, il faut 10 heures, avec 11 interventions. Maintenant, si tu met un hub et que tu en écris 10 en même temps, en supposant que la bande passante soit bien divisée, il te faudra encore 10h... mais seulement 2 interventions, ce qui peut avoir plein d'avantages: faire autre chose, le faire pendant la nuit, ...

    Idéalement, il faudrait faire un compromis des deux pour trouver la situation qui trouve la meilleure solution entre temps d'écriture et nombre d'intervention pour un nombre total de clé donné.

    En espérant que ma réponse t'ais intéréssé...
  • [^] # Re: quelques vérifications s'imposent

    Posté par  . En réponse au message XFig et cygwin : problème lors de l'export de fichier.. Évalué à 1.

    Bonjour,

    Je pense que son chemin "bizarre" est du à l'utilisation de la cygwin (les outils GNU sous Windows), mais c'est une hypothèse...

    Par contre, là ou j'ai un gros doute, c'est pour le -g9032533x9018988: cela donne (normalement) la taille (en pixels) de l'image de sortie... C'est un peu gros, non ?
  • [^] # Re: Tu veux des fonctions inline?

    Posté par  . En réponse au message Comment utiliser les fonctions trigonométriques standard ?. Évalué à 3.

    Evidemment, vu sous cet angle, cela change tout...
    Perso, j'évite les autotools comme la peste, bien trops compliqué pour mon petit cerveau usé par le poids des ans...

    Ce qui me gêne dans la solution, c'est que:
    - autotools, c'est fait pour être portable;
    - -ffast-math, c'est gcc only, nettement moins portable;
    - les fonctions mathématiques en inline, c'est GNU-libc only, donc peu portable aussi;
    - la libm est un peu particulière, et pas obligatoire sur certains systèmes...

    Pour bien faire les choses, il faudrait que tu voie comment dans d'autres projet:
    - ils traitent le cas particulier de la libm;
    - ils définissent les bibliothèques au cas par cas pour les binaires, pour ne pas linker quand c'est inutile.

    Sinon pour info, par rapport à la solution que je proposait, la seule option qui t'aurai intéréssé et qui est apportée par le -O3, c'est en fait l'option -finline-functions que tu peux utiliser seule.
  • [^] # Re: C'est un exercice?

    Posté par  . En réponse au message Problème pour l'affichage du contenu de plusieurs répertoires. Évalué à 3.

    Je ne pense pas qu'il y a un problème sur le malloc, j'en suis sûr: c'est l'expérience qui fait que l'on fini par voir rapidement ce genre d'erreurs sur de petits programmes...

    Pour ton problème de caractères bizarres, je te confirmes aussi que c'est le même problème, ton changement sur le free a juste masqué l'un des symptomes.

    Pour te donner un indice supplémentaire, je t'invites à regarder le man de strcpy, en particulier la remarque entre parenthèses dans le premier paragraphe.
  • # C'est un exercice?

    Posté par  . En réponse au message Problème pour l'affichage du contenu de plusieurs répertoires. Évalué à 3.

    ...parce que si c'est le cas, vaudrait mieux en discuter avec tes profs, ils seront plus à même de répondre par des commentaire qui t'aideront, plutôt qu'un résultat qui ne t'apprend rien.

    Sinon, un indice:
    - tu as bien un problème de free, mais il ne plante pas le programme, donc ne pas s'en inquiter pour le moment;
    - ton problème est dans le malloc, comme d'habitude.

    Puis quelques remarques:
    - un certain nombre de tes commentaires sont totalement inutiles, alors qu'il y aurait moyen d'y mettre une information;
    - mais essayer de commenter c'est tout de même une bonne chose, essaie juste de réfléchir à ce que tu veux mettre. C'est dur au départ, mais si tu fait l'effort, tu y gagnera vite par la suite;
    - très bon réflexe de mettre des commentaire devant chaque fonction, essaie de ne jamais perdre cette habitude;
    - pourquoi une variable arguments et une autre tE ? entre un nom explicite qui est en fait faux, et un nom crypté, heu...

    Voila, pardon pour mes remarques un peu complexes/dures, mais je suis parti du principe que tu voulais apprendre, donc j'essaie de te faire avancer plutôt que de pondre un résultat tout prêt qui au final ne t'aidera pas. Mais si tu veux juste un truc qui marche, dis-le.
  • # Tu veux des fonctions inline?

    Posté par  . En réponse au message Comment utiliser les fonctions trigonométriques standard ?. Évalué à 9.

    Bonjour,

    En fait, la formulation:
    "une version embarquée dans la libc, et une autre dans la libm"
    est incorrecte. Toutes les fonctions mathématiques sont dans la libm.

    Par contre, si tu est pret à faire des concessions sur la précision (théoriquement, en tout cas), au profit de la vitesse (moins théorique), tu peux utiliser les fonctions inline.

    Pour ce faire, il faut ajouter les options suivantes lors de la compilation:
    -ffast-math -O3
    À partir de ce moment, plus besoin de linker la libm, sauf fonction spéciale.

    Enfin, je concluerai en disant qu'il ne faut pas t'inquiéter de linker avec la libm, ce n'est pas sale, plein de coders bien le font. D'ailleurs, elle sera déjà en mémoire à cause d'un autre programme, donc...
  • [^] # Re: Plus cher et plus nul, ça n'existe pas

    Posté par  . En réponse au journal Pétition voyage-sncf. Évalué à 1.

    Bonjour,

    Pour le trajet Lyon-Limoges, tu as certainement regardé sur voyages-sncf, pour ce prix et par Paris... Si tu regardes par la Deutsche Bahn, tu trouves:

    Durée: 4h59
    Changements: 0
    Prix: 92 euros (pour 2)
    et donc, sans passer par Paris.

    la théorie se vérifie encore...

    Globalement, j'ai aussi constaté que 2, c'est la limite pour le train. A deux, il y a matière à hésiter, au-dela par contre, c'est (malheureusement) la voiture.

    Par contre, pour les voyages (très) occasionnels, je recommande à tous le Billet Annuel:
    - Valable une seule fois dans l'année;
    - 25% de réduction (mais ça, c'est facile);
    - si paiement en chèques vacances, 50% de réduction, sans compter la subvention sur les chèques vacances !
  • [^] # Re: idee comme ça

    Posté par  . En réponse au message Récupérer droits sur fichiers. Évalué à 1.

    Bonjour,

    Tant qu'a faire un find, tu peux faire un peu plus simple:
    find /mnt/suavegarde/moi/ -printf 'chmod %m %p' | sed -e 's@/mnt/suavegarde/moi@/home/moi@' | sh
    Cela devrait normalement passer.
  • # Lancer en mode debug?

    Posté par  . En réponse au message Problème d'initialisation de variables dans Bash lorsque cron lance le script. Évalué à 2.

    Bonjour,

    Un premier point serait de regarder où cela se passe mal. Pour ce faire, tu peux rajouter l'option -x dans la première ligne. Ceci fait, l'éxécution du script va afficher chaque commande exécutée. D'après la doc de crontab, tu devrais obtenir le tout dans le mail de l'utilisateur en question (donc root).


    PS: Et si tu peux faire tes essais avec un compte user plutôt que root, tu pourrais t'éviter de mauvaises surprises...
  • [^] # Re: Les extensions DEC-XTRAP et RECORD ?

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 2.

    La solution par le grab est une solution à laquelle j'avais pensé, mais qui est un peu trops gruik à mon goût... Cependant, si tu veux l'essayer, cela peut marcher:
    - dans l'évenement XButtonEvent, tu as un champs subwindow, qui doit contenir la fenêtre sur laquelle l'utilisateur à cliqué;
    - lui faire suivre l'évennement, grace à XSendEvent.

    Pour le InputOnly, elle doit recevoir des évennements, elles ne peuvent même normalement faire que cela...

    Par contre, je viens de penser que la bonne solution par cette méthode, c'est de créer la fenêtre comme fenêtre fille de la fenêtre VLC, de la mettre sur le devant (XRaiseWindow... au dernier moment), cela pourrait peut-être marcher.
    (au pire, il faut peut-être la mettre en InputOutput?)
  • # Les extensions DEC-XTRAP et RECORD ?

    Posté par  . En réponse au message Xlib et evênements souris. Évalué à 4.

    Bonjour,

    Après quelques recherches, il me semble que, selon ce que tu veux faire, tu puisse utiliser les extensions X11 suivantes:

    - RECORD: permet de recevoir les évènements X, mais probablement pas de les intercepter [http://refspecs.linux-foundation.org/X11/recordlib.pdf];

    - DEC-XTRAP, aka XTrap: qui permet cette fois en plus de capturer les évènements concernés [http://perso.tls.cena.fr/jestin/Video/Docs/XTrap_Arch.ps.gz].

    Ces extensions sont en général présente sur tous les serveurs X11 (ie: même sur les "vieilles" machines, hors linux).

    Sinon, il y a aussi d'autres solutions de bricolage:
    - demander à recevoir *aussi* les évenements de la fenêtre (man XChangeWindowAttributes, man XSetWindowAttributes: le champs event_mask), d'après la doc c'est possible;
    - créer une fenêtre transparente par dessus (InputOnly dans man XCreateWindow), mais ça n'est pas certain qu'elle reste au-dessus (dépend du WM);

    Bon sinon je n'ai jamais utilisé la libVLC, mais cela m'étonnes que celq soit un problème, car d'après [http://www.videolan.org/developers/vlc/doc/doxygen/html/grou(...)], c'est toi qui possède la fenêtre qui tu lui as spécifiée avec libvlc_media_player_set_drawable, me trompe-je ?
  • [^] # Re: Si si, avec uniquement transcode ou mencoder c'est faisable.

    Posté par  . En réponse au journal Quelle est la meilleure méthode pour compresser des fichiers AVI .... Évalué à 5.

    Bonjour,

    Un peu de hors-sujet, pour filer une info au passage: pour "deviner" le décalage son/image, il y à une méthode très simple:
    Quand tu charge le mpeg capturé, avidemux te demande de l'indexer. Il génère alors un fichier video.mpg.idx. Il suffi de faire un:
    tail video.mpg.idx
    pour trouver le décalage, par exemple içi -954ms (attention, signe à inverser dans avidemux):
    # track 1 PTS : 166610931 delta=0954 ms

    Par contre, cela fonctionne très bien... à condition que le décalage soit toujours le même. Si ce n'est pas le cas (cela m'est arrivé une fois déjà...), eh bien... je n'ai pas de solution (ProjectX ?).

    Sinon, je pense comme e-t172, si on one précise rien à mencoder, bin... il fait ce qu'il peut! Ah oui, et aussi mencoder r0><0r1z3 !
  • [^] # Re: Problèmes de fontes?

    Posté par  . En réponse au message Texte ne s'affiche pas dans les GUI.. Évalué à 2.

    Le problème du fonts.dir not valid est peut-être une piste, il faudrait voir sur lequel il se plaind.

    Pour connaitre les répertoires des fontes, il y a la commande:
    xset -q
    puis chercher la partie Font Path:.

    Ce qui m'étonnes, c'est que normalement un LiveCD c'est configuré correctement. D'où deux questions:
    - y aurait-il par hasard une mise à jour récente de cette distribution qui corrigerait le bug?
    - as-tu changé la langue par défaut?
  • [^] # Re: Minute cultutrellle

    Posté par  . En réponse au journal Darty, vente liée, où en est on ?. Évalué à 5.

    Aaaargh, mon dieu mais c'est affreux, il y a un troll knome/gde en natif dans la langue française, c'est une catastrophe!
  • # Une piste?

    Posté par  . En réponse au message vncconfig : No VNC extension on display. Évalué à 2.

    Bonjour,

    Comme le programme vncconfig doit être lancé en local sur le serveur, je suppose que ce qui l'embête, c'est:
    DISPLAY=server:2.0
    Si tu essai ceci, est-ce que cela passe mieux?
    export DISPLAY=:2.0
  • # Problèmes de fontes?

    Posté par  . En réponse au message Texte ne s'affiche pas dans les GUI.. Évalué à 2.

    Bonjour,

    Ton problème ressemble à un problème de caractères manquants dans la fonte. As-tu bien installé les packages suivants (en gros, liste non exhaustive):
    font-adobe-100dpi
    font-adobe-75dpi
    font-adobe-utopia
    font-bitstream-100dpi
    font-bitstream-75dpi
    font-bitstream-speedo
    font-bitstream-type1
    font-cursor-misc
    font-ibm-type1
    font-sun-misc
    font-xfree86-type1


    Si c'est bien le cas, vérifie aussi que tu as:
    font-alias-1.0.1

    Si cela ne passe toujours pas, il faut peut-être regénérer la liste des fontes, pour cela, il faut:
    - aller dans /usr/share/fonts;
    - lancer la commande mkfontscale dans les répertoires suivants: OTF, Speedo, TTF et Type1;
    - dans tous les répertoires, lancer mkfontdir.

    Sinon, ce serait une bonne idée d'aller vérifier dans /var/log/Xorg.0.log ce qu'il dit sur les fontes.
  • [^] # Re: En bricolant?

    Posté par  . En réponse au message LINUX MANDRIVA & LINUX UBUNTU. Évalué à 3.

    Puisque la petite histoire t'interesse, ce sera un plaisir de te la raconter...

    Pour commencé, j'ai eu affaire à travailler avec une Lexmark il y a quelques années. A l'époque, ils prenaient la peine de fournir un truc (binaire bien fermé) pour Linux, donc on pouvais arriver à quelquechose... Je suis donc allé voir sur le site ce qu'ils proposaient.

    Ne voyans pas de Linux, mais sachant que MacOS est (presque) toujours supporté, je me suis souvenu de ceci:
    https://linuxfr.org//2007/07/17/22744.html
    Apple à racheté CUPS... C'est un beau cadeau (empoisonné) pour les Unixs: en théorie le fichier de config de CUPS (le PPD justement) fonctionne donc partout (sauf sous Windows, bien sur).

    Je suis allé donc chercher où trouver ce PPD sur le site, mais n'ai trouvé que le dmg... Mairdoume, cause perdu...
    Après quelques secondes d'électro-encéphalogramme plat (pendant lesquelles un moustique a volé... *pan*), un neuronne a involontairement bougé: Mais au fait, Google est ton ami (et ce, même si t'est un boulet associal incurable) !

    Je me disais bien qu'il était improbable qu'un Linuxiens (fou?) n'ai pas essayé de faire un programme pour désarchiver les dmgs...

    Et là, surprise (pas tant que ça, avec le recul... la philosophie Unix est entrée dans MacOS X): Ce n'est qu'une image de disque, avec le système de fichier du Mac (HFS, donc)...

    Et là, c'est le drame: mount: unknown filesystem type 'hfs'... p*tain de système pas mis à jour... kernel: 2.4.34.4 compilé à la main, pas le courage d'aller compiler le module dédié de toutes façon probablement trops vieux.

    Et donc, jetage d'hyposthèses pour aller trouver le PPD dans l'archive (Il y a de fortes chances que la méthode en question donne des résultats de ce côté là).


    Par contre, pour conclure, le piège, c'est que le PPD (de ce que j'en avais vu) est juste un fichier "texte" (en fait des commandes Postscripts) qui fournis les informations sur l'imprimante, et comment préparer les données... mais il est fort possible/probable qu'il fasse référence à une chtit programme (binaire, donc) qui fasse la conversion PS->binaire-proprio-tout-moche...

    D'où le pessimisme générale de message, en fait...

    Voila, désolé de t'avoir fait perdre ton temps avec un long texte rébarbatif sur 3615-MaLife (oups, ça va être périmé un jour ce jeu de mots), que personne d'autre ne lira jamais pour cause de peremptionabilitismitude des forums, monde cruel.
  • # En bricolant?

    Posté par  . En réponse au message LINUX MANDRIVA & LINUX UBUNTU. Évalué à 9.

    Bonjour,

    J'ai éventuellement un début d'idée d'hypothétique extrait de solution, mais c'est à base d'un gros bricolage de gourou dont l'issue est incertaine...

    Pour commencer, il faut aller chercher un pilote sur le site de Lexmark:
    http://downloads.lexmark.com/en/us/index.html

    Tu choisis driver pour ton imprimante, il va alors te demander de choisir ton système. Tu choisis MacOS X. Il devrait te proposer de télécharger un fichier de ~21Mo, en .dmg que tu vas bien évidemment récupérer.

    Une fois terminé, tu vas ouvrir un terminal, et taper:
    file 3500-4500_Series_Web_Installer_LPD.dmg

    Si tout se passe bien (donc pas comme chez moi, mais c'est parceque j'ai un vieux linux), il devrait te répondre que c'est un Macintosh HFS data.

    Tu vas alors monter ce disque virtuel, mais il faut être root, donc si ce n'est pas le cas:
    su -
    puis mot de passe administrateur (de mémoire, Mandriva ne passe pas par sudo, qu'un connaisseur me corrige si je me trompe);

    Maintenant, nous allons le monter:
    mkdir LeDisque
    mount -t hfs -o ro,loop 3500-4500_Series_Web_Installer_LPD.dmg ./LeDisque/


    Si tu se passe bien, un ls LeDisque devrait te montrer le contenu. A partir de là, mes indications serons théoriques, car je ne puis faire de même de mon côté (cf vieux linux)...

    On va chercher le fichier PPD que réclame cups:
    find LeDisque/ -iname \*.ppd

    S'il a trouvé quelquechose, il reste à le donner à manger à cups, mais la je te laisse deviner comment faire, faut bien que tu travailles un peu :) (ou alors en vrai c'est que j'ai encore jamais eu le plaisir d'essayer cela)

    Pour nettoyer les bricollages à la fin:
    umount ./LeDisque/
    rmdir LeDisque
    exit
    (pour ne plus être root si tu as fait le su)

    Voila, qui as dit que Linux était compliqué, hein ? c'est über-user-friendly, non ? :)

    (en vrai, t'auras vraiment eu de la chance si tout cela à fonctionné...)
  • [^] # Re: Avec "ifconfig" ?

    Posté par  . En réponse au message Statistiques d'utilisation IPV4 vs IPv6. Évalué à 3.

    Tout-à fait, la limite s'applique aussi...

    Par contre, attention au piège: le noyau utilise un unsigned long, donc 32bits sur les machines ix86, d'où l'overflow... mais surtout unsigned, hors les outils en ligne de commande travaillent en signed int, donc y'aura des surprises dès >2Go...
  • # Avec "ifconfig" ?

    Posté par  . En réponse au message Statistiques d'utilisation IPV4 vs IPv6. Évalué à 3.

    Bonjour,

    Tu peux toujours obtenir le nombre d'octets transmis sur les interfaces grace à la commande ifconfig, il faut juste se rappeler que:
    - le compteur n'est pas remis à zero, donc il faut faire la différence par rapport à la valeur précédente;
    - lorsque le compteur "déborde", il repart simplement de zéro, donc si maintenant < précedente, il faut garder (MAX - précédente) + maintenant...

    Pas forcément besoin de sortir l'artillerie lourde (monotoring réseau), mais il doit quand même déjà exister des petits programmes qui font cela... même si un chtit script à la main, c'est 'achement mieux :)
  • [^] # Re: utiliser "jobs" ?

    Posté par  . En réponse au message comment tuer des process fils automatiquement dans un script shell.... Évalué à 2.

    Bon, je viens de faire un essai: en effet, les process orphelins sont bien rattachés à init. C'est probablement un héritage d'unix: on ne cherche pas le père du père, on passe directement à init qui est le père de tous...
  • # utiliser "jobs" ?

    Posté par  . En réponse au message comment tuer des process fils automatiquement dans un script shell.... Évalué à 3.

    Bonjour,

    Une solution possible, c'est d'utiliser la commande jobs qui va te fournir la liste des tâches en cours, en particulier sans celles qui se sont terminées. En pratique: jobs -p.

    Pour ce qui est des parents des process, si le père se termine alors les process deviennent orphelins, donc ils ne sont plus rattachés à personne... Quel outil te dis le contraire et te les montre attachés à init?

    Enfin, perd cette habitude de mettre un -9 dans les commandes kill quand ce n'est pas nécéssaire, c'est une très mauvaise pratique.