Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Synergy

Synergy permet d'utiliser un seul clavier et souris pour piloter plusieurs ordinateurs du même réseau. Les ordinateurs peuvent être sous Linux, Windows ou MacOS. Ce tutoriel montre comment paramétrer et utiliser Synergy sur Ubuntu.

Attention ! Synergy n'est pas vraiment sécurisé ! Vous allez mettre en place quelque chose qui permettra à un autre ordinateur de contrôler le clavier et la souris du vôtre, utilisez donc Synergy de préférence sur votre réseau local ou un réseau de confiance. Il existe un moyen de sécuriser un peu plus le fonctionnement de Synergy en l'utilisant avec OpenSSH, mais ce n'est pas le but de cet article. Vous pouvez lire la documentation officielle sur le site de Synergy pour plus d'informations.
FIXME On peut éventuellement ajouter les infos avec OpenSSH.

La manière la plus simple est d'installer le paquet synergy.

Installer en 1 clic1)

Voilà pour l'installation de Synergy sur une Ubuntu. Si vous souhaitez l'installer sur un autre système, comme Windows, vous trouverez toutes les informations nécessaire sur le site de Synergy.

Il existe une interface graphique, nommée quick synergy, pour la configuration de synergy. Cherchez quicksynergy dans la logithèque

L'installation proposée dans la section précédente permet d'installer synergy2, dont la dernière version remonte à 2006. Il existe une autre version mise à jour régulièrement: synergy-plus. Les deux versions utilisent un fichier de configuration identique et des options similaires, et les exécutables ont le même nom (n'essayez pas d'installer les deux en même temps). Synergy-plus corrige de nombreux bugs et des paquets .deb pour Ubuntu (ou Debian) 32 et 64 bits sont disponibles ici. Conseils d'installation .

Maintenant que Synergy est installé, il va falloir le configurer. Cependant, vous devez le configurer sur au moins deux machines différentes puisque configurer Synergy sur une seule machine n'a pas vraiment d'intérêt. Je vais vous expliquer comment le configurer aussi bien en tant que serveur qu'en tant que client, mais seulement sur Ubuntu. Encore une fois si vous souhaitez le configurer pour un autre système référez-vous aux instructions sur le site de Synergy.

Configuration du serveur

Pour configurer le serveur Synergy, créez le fichier /etc/synergy.conf (ou un fichier ~/.synergy.conf si vous préférez une configuration pour un seul utilisateur seulement), puis remplissez ce fichier de cette manière :

section: screens
        hoary:
        arthur:
end
section: links
        hoary:
                right = arthur
        arthur:
                left = hoary

end

C'est un exemple de configuration tiré de mon synergy.conf. La signification des paramètres de configuration est las suivante :

  • hoary est le nom de ma machine principale, c'est elle qui exécutera le serveur Synergy. La machine qui a le serveur est celle qui possède le clavier et la souris utilisé, les autres machines ne sont que des "écrans" supplémentaires en quelque sorte.
  • arthur est le nom de la machine client (c'est une autre Ubuntu).
  • section: screens est la partie qui liste les machines qui seront utilisées en fonction de leur hostname.
  • section: links définit de quelle façon la souris quittera l'écran d'une des machines pour passer sur une autre. Ici on a placé l'écran de hoary à gauche de celui d'arthur, donc si la souris va tout à droite de l'écran de hoary elle arrivera sur la gauche de celui de arthur, et inversement. On aurait aussi pu placer ubuntu42 au-dessus de arthur en spécifiant up au lieu de left, down au lieu de right, etc…

Configuration du client

Il n'y en a pas, il suffit d'installer Synergy. :-)

Serveur

Pour lancer le serveur exécuter la commande :

synergys -f

Si votre fichier « synergy.conf » est dans un endroit différent, vous pouvez le spécifier en utilisant :

synergys -f -c /endroit/de/votre/synergy.conf

Client

Pour un client (dans ce tutoriel le client est aussi exécuté sous Ubuntu) :

synergyc -f <ip address of server>

Si le serveur a l'adresse IP 192.168.0.1, on a donc :

synergyc -f 192.168.0.1
Notes :
  • L'option « -f » dit à Synergy de ne pas s'exécuter en tâche de fond, mais dans le terminal, ce qui est utile lorsque l'on fait des tests. Pour interrompre Synergy, il suffit de taper Ctrl+c dans ce terminal.
  • Si la commande est exécutée sans l'option « -f », Synergy se lance alors indépendamment du terminal, vous pouvez alors fermer le terminal sans craindre de tuer Synergy.
  • Lorsque vous mettrez Synergy en service définitivement, pensez à ôter l'option « -f » !

Cette méthode fonctionne aussi avec un autre poste sous Mac OS X.

Vous ne voudrez probablement pas le lancer manuellement à chaque démarrage de votre machine, voici comment le paramétrer pour un démarrage automatique.

Methode 1

Avec GNOME

Pour ajouter Synergy au démarrage automatique de votre session, allez dans Système → Préférences → Application au démarage, puis cliquez sur ajouter. La commande est celle que vous utilisiez au chapitre précédent sans l'option « -f » (cela empêcherait le chargement de Gnome en attendant indéfiniment la fin de Synergy).

Avec KDE 3 (et supérieurs ?)

Dans le fichier /etc/kde3/kdm/Xsetup, ajouter une seule fois l'appel à Synergy

# Appel à Synergy
/usr/bin/synergyc <nom du serveur Synergy ou son IP>

Cet appel sera opérationnel pour KDM comme pour la session ouverte.

Avec LightDM (LXDE)

Editer le fichier /etc/lightdm/lightdm.conf pour y ajouter la ligne suivante :

greeter-setup-script=/usr/bin/synergyc HOSTNAME

Avec un autre environnement

Si vous utilisez un service graphique pour vous identifier (par défaut Ubuntu et Xubuntu utilisent GDM et Kubuntu KDM, tous les deux fournissent ce service graphique), il est assez simple de lancer automatiquement Synergy. Il suffit d'ajouter un petit script exécutable dans le répertoire « /etc/X11/Xsession.d/ » avec une première ligne spécifiant d'exécuter le script avec bash et une seconde avec la commande que vous voulez exécuter, par exemple pour un client Synergy qui doit se connecter a un serveur a l'adresse 192.168.0.1 le script serait composé de:(n'oubliez pas d'utiliser sudo pour pouvoir écrire dans le dossier /etc ou n'importe quel de ses sous-répertoires)

#!/bin/sh
/usr/bin/killall synergyc
sleep 1
/usr/bin/synergyc 192.168.0.1

Attention si vous ajoutez le « -f » vous aurez un script qui ne se terminera pas et donc GNOME ne se chargera pas.

Le nom de ce fichier est crucial ! Le nom doit commencer par deux chiffres, pour spécifier son ordre de lancement. Le reste du nom n'est vraiment pas important. J'ai essayé avec 12synergy, 22Synergy, 32synergy et 54synergyc. Toutefois cela ne permet pas d'utiliser Synergy à l'écran d'identification. Heureusement, il existe un moyen de l'utiliser même là pour ceux qui souhaitent se connecter avec un autre clavier. Vous allez devoir éditer encore deux autres fichiers dans le dossier « /etc/X11/ » en lien avec GDM.

Nous voulons que le client soit lancé quand gdm est aussi lancé, avant l'identification d'un utilisateur. Ajoutez les lignes suivantes à votre /etc/gdm/Init/Default (ajoutez-les au sommet du fichier juste après les lignes commentées avec des « # ») :

/usr/bin/killall synergyc
sleep 1
/usr/bin/synergyc xxx.xxx.xxx.xxx

où xxx.xxx.xxx.xxx est l'adresse IP du serveur.

Pour que le client Synergy puisse être exécuté par l'utilisateur plutôt que par le root juste après que l'identification est faite, nous devons tuer le processus synergyc lancé par le root au même moment que GDM (ou KDM), un processus lancé par le root ne peut être tué que par lui, nous allons donc éditer le fichier /etc/gdm/PreSession/Default qui est le dernier script bash exécuté en root avant que l'utilisateur ne prenne la main. Modifier votre /etc/gdm/PreSession/Default pour qu'il soit comme ceci :

#!/bin/sh
#
# Note that any setup should come before the sessreg command as
# that must be 'exec'ed for the pid to be correct (sessreg uses the parent
# pid)
#
# Note that output goes into the .xsession-errors file for easy debugging
#
PATH="/usr/bin/X11:/usr/X11R6/bin:/opt/X11R6/bin:$PATH:/bin:/usr/bin"
 
gdmwhich () {
  COMMAND="$1"
  OUTPUT=
  IFS=:
  for dir in $PATH
  do
    if test -x "$dir/$COMMAND" ; then
      if test "x$OUTPUT" = "x" ; then
        OUTPUT="$dir/$COMMAND"
      fi
    fi
  done
  unset IFS
  echo "$OUTPUT"
}
 
 
# Le processus synergyc, lancé en root, se finit ici.
/usr/bin/killall synergyc
sleep 1
 
 
 
XSETROOT=`gdmwhich xsetroot`
if [ "x$XSETROOT" != "x" ] ; then
        # Try to snarf the BackgroundColor from the config file
        BACKCOLOR=`grep '^BackgroundColor' /etc/gdm/gdm.conf | sed 's/^.*=\(.*\)$/\1/'`
        if [ "x$BACKCOLOR" = "x" ]; then
                BACKCOLOR="#76848F"
        fi
        "$XSETROOT" -cursor_name left_ptr -solid "$BACKCOLOR"
fi
 
 
SESSREG=`gdmwhich sessreg`
if [ "x$SESSREG" != "x" ] ; then
        # some output for easy debugging
        echo "$0: Registering your session with wtmp and utmp"
        echo "$0: running: $SESSREG -a -w /var/log/wtmp -u /var/run/utmp -x \"$X_SERVERS\" -h \"$REMOTE_HOST\" -l \"$DISPLAY$
        exec "$SESSREG" -a -w /var/log/wtmp -u /var/run/utmp -x "$X_SERVERS" -h "$REMOTE_HOST" -l "$DISPLAY" "$USER"
        # this is not reached
fi
 
# some output for easy debugging
echo "$0: could not find the sessreg utility, cannot update wtmp and utmp"
exit 0

Pour un serveur, la méthode reste à peu près la même : il suffit de créer simplement un fichier « 12synergy » dans le répertoire « /etc/X11/Xsession.d/ » contenant :

#/bin/bash
/usr/bin/killall synergys
sleep 1
synergys --config /etc/synergy.conf

Methode 2

Il y a en tout 3 scripts à ajouter :

  1. le premier sert à démarrer synergy en tant que root lorsque le menu de login apparait
  2. le second sert à tuer le processus de synergy en tant que root lorsqu'un utilisateur se connecte
  3. le troisième sert à redémarrer synergy en tant qu'utilisateur, lorsqu'un utilisateur se connecte

Vous trouverez plus d'informations à ce propos dans la section UNIX de la page http://synergy2.sourceforge.net/autostart.html.

Si vous utilisez un pare-feu, il est nécessaire d'ouvrir le port 24800 (TCP). La règle IPTable suivante peut être utilisée :

iptables -A INPUT -p tcp -i $interface --dport 24800 -j ACCEPT

$interface est le nom de votre interface réseau (ex. : eth0).

  • Maintenant que Synergy est installé et configuré, vous pouvez copier et coller du texte entre les machines (PAS DES FICHIERS !! voir "rsync" pour tranférer des fichiers) .

Contributeurs : Lok (traduction), Floriang, mayeulk.


1)
pour Ubuntu ≥ 7.10 seulement
  • synergy.1349771872.txt.gz
  • Dernière modification: Le 09/10/2012, 10:37
  • par laloi