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 :

<plist version="1.0">
    <dict>
      <key>Label</key>
      <string>net.sourceforge.syngery2</string>
      <key>LimitLoadToSessionType</key>
      <string>LoginWindow</string>
      <key>OnDemand</key>
      <false>
      <key>ProgramArguments</key>
      <array>
          <string>/usr/local/bin/synergyc</string>
          <string>-1</string>
          <string>-f</string>
          <string>192.168.0.4</string>
        </array>
        <key>RunAtLoad</key>
        <true>
        <key>ServiceDescription</key>
        <string>Synergy Client</string>
      </true>
    </false>
</dict></plist>

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 :

<plist version="1.0">
  ...
  <key>LimitLoadToSessionType</key>
   <array>
    <string>LoginWindow</string>
    <string>Background</string>
  </array>
  ...
</plist>

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

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

 <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>net.sourceforge.syngery2-usermode</string>
      <key>LimitLoadToSessionType</key>
      <string>Background</string>
      <key>OnDemand</key>
      <false>
      <key>ProgramArguments</key>
      <array>
          <string>/usr/local/bin/synergyc</string>
          <string>-1</string>
          <string>-f</string>
          <string>192.168.0.4</string>
        </array>
        <key>RunAtLoad</key>
        <true>
        <key>ServiceDescription</key>
        <string>Synergy Client</string>
      </true>
    </false>
</dict></plist>

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 …

Ce contenu a été publié dans Configuration, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.