home icon contact icon rss icon

Archive for Configuration

Iconv et résultats variables

Arrg, il faut lire les pages de manuel en entier … iconv et toutes les wrapper dérivés sont influencé par les variables d’environnement LANG, LC_ALL, LC_CTYPE, LC_MESSAGES.

Par exemple :

$ echo éà | LANG=fr_FR.UTF-8 iconv -f UTF-8 -t ascii//translit
ea
$ echo éà | LANG=C iconv -f UTF-8 -t ascii//translit
??

Et comme bien sûr iconv est très bien documenté, il va sans dire que ça été facile de trouver cette bizzarie.

Donc comme on dit dans ces cas là, ce n’est pas un bug mais une fonctionnalité, à voir chez debian : ”Libc6: //translit fails with cyrillic and others

Et bien sûr quand vous lancez votre application rails avec Webrick dans votre environnement où LANG=fr_FR.UTF-8

$ script/server 

Et d’un autre via passenger et que LANG est initialisé à “C”, alors on perd son temps à chercher le problème dans rails ou passenger.

RTFM !

J’aurais bien aimé utiliser iconv avec la locale fr_FR, mais comme j’utilise iconv pour mes permaliens qui ont été généré avec sans locale (LANG=C), alors pour éviter les problèmes, je force l’appli à utiliser LANG=C dans mon config/envirronment.rb

...
ENV['LANG'] = 'C'
...

jusqu’au prochain problème …

Synergy client & Mac OS X Leopard

Bon la migration de mon mac-mini sous leopard s’est bien déroulée. Reste une chose : Synergy.

Dans leur doc, les scripts de démarage automatique sont valables pour mac os x10.4. Du coup le client synergy ne se lance plus à l’affichage de l’écran de connexion, un peu génant pour accéder à mon mac-mini depuis mon PC.

Pas de panique, d’après Jan Varwig et la doc d’Apple les StartupItems sont depracated et les scripts sont gérés par lauchnd. Donc nouvelle configuration inspirée de Jan Varwig (sauf que lui c’est pour serveur), :

/Library/LaunchAgents/net.sourceforge.synergy2.plist :

    
    
    
    
      Label
      net.sourceforge.syngery2
      LimitLoadToSessionType
      LoginWindow
      OnDemand
      
      ProgramArguments
      
          /usr/local/bin/synergyc
          -1
          -f
          192.168.0.4
        
        RunAtLoad
        
        ServiceDescription
        Synergy Client
      
    

Dans les logs, apparaissait :

Untrusted apps are not allowed to connect to or launch Window Server before login.

ok ok la doc d’Apple le dit : il faut le bon niveau de permission : d’où LimitLoadToSessionType affecté à LoginWindow.

donc on a bien l’écran de connexion, mais, car il y a un mais, dans l’espace utilisateur synergy n’a plus la permission. Donc comme indiqué dans la doc j’essaie le array pour spécifier plusieurs niveaux :

    
    
    
      ...
      LimitLoadToSessionType
       
        LoginWindow
        Background
      
      ...
    

Mais rien n’y fait. La solution la moins propre : créer un 2ième fichier.

/Library/LaunchAgents/net.sourceforge.synergy2-usermode.plist :

    
    
    
    
      Label
      net.sourceforge.syngery2-usermode
      LimitLoadToSessionType
      Background
      OnDemand
      
      ProgramArguments
      
          /usr/local/bin/synergyc
          -1
          -f
          192.168.0.4
        
        RunAtLoad
        
        ServiceDescription
        Synergy Client
      
    

And it works ! bon à voir s’il n’y a pas une meilleur solution, car le synergyc qui possède les droits lors de l’écran de connexion continue à s’excuter et se fait refouler lorsqu’on est connecté .. bah … ça fait tourner les log .. hum …