Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
synergy [Le 09/10/2012, 10:32]
laloi [Methode 2]
synergy [Le 05/11/2024, 00:33] (Version actuelle)
krodelabestiole rectif retours à la ligne
Ligne 1: Ligne 1:
-{{tag>Dapper ​réseau ​BROUILLON}} +{{tag> ​clavier souris ​réseau}}
- +
-----+
  
 ====== Synergy ====== ====== 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. +**Synergy** ​est l'​équivalent d'un commutateur KVM (clavier écran souris) au format logiciel :\\  
- +il permet d'​utiliser un seul clavier et souris pour piloter plusieurs ordinateurs ​sur un même réseau. Les ordinateurs peuvent être sous Linux, Windows ou MacOS.\\  
-<note important>​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ôtreutilisez donc Synergy de préférence sur votre réseau local ou un réseau de confianceIl 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.</​note>​ +On peut passer d'une machine ​à l'autre très facilement ​et intuitivementsimplement en atteignant le bord d'un écranPassée la configuration ​l'expérience utilisateur ​est donc aussi évidente que de passer ​d'un écran à l'​autre sur une même machine.
- +
-> FIXME On peut éventuellement ajouter les infos avec OpenSSH.+
  
 +L'​histoire de **Synergy** est longue et compliquée. L'​outil a changé de nombreuses fois de licence. C'est aujourd'​hui un logiciel propriétaire et payant, mais il existe une version libre et communautaire du nom de **[[https://​github.com/​deskflow/​deskflow|Deskflow]]** sur laquelle est basée la version payante, ainsi qu'un //fork// libre appelé **[[https://​github.com/​input-leap/​input-leap|Input Leap]]**. Ces 2 versions sont compatibles [[:​Wayland]]. Un autre //fork// libre du nom de **[[https://​github.com/​debauchee/​barrier/​|barrier]]** est quant à lui désormais abandonné (mais toujours disponible dans les [[:​depots|dépôts officiels]] - paquet [[apt>​barrier]] - et en [[:​flatpak]] sur [[https://​flathub.org/​apps/​com.github.debauchee.barrier|sur Flathub]]).\\ ​
 +Tous ces outils sont très proches et compatibles entre eux.
  
 +<note important>​Attention ! **Synergy** n'est pas vraiment sécurisé par défaut ! 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 son fonctionnement en l'​utilisant avec [[:​ssh|OpenSSH]].</​note>​
  
 ===== Installation ===== ===== Installation =====
  
-La manière la plus simple est d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **synergy**.+**Deskflow** et **Input Leap** sont tous les 2 disponibles au format //deb// pour différentes versions ​d'Ubuntu sur Github ​: 
 +  * https://​github.com/​deskflow/​deskflow/​releases/​ 
 +  ​https://​github.com/​input-leap/​input-leap/​releases/​
  
-^ Installer ​en 1 clic((pour Ubuntu ≥ 7.10 seulement)) ^ +**Input Leap** est en plus disponible au format ​[[:flatpak]] sur cette même page.
-[[apt://​synergy|{{ apt.png }}]] |+
  
-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 [[http://​synergy2.sourceforge.net/​index.html|site de Synergy]]. +Malheureusement ces méthodes d'​installation ​ne permettent pas de mettre à jour le logiciel automatiquement avec le reste du système.
-<note tip>Il existe une interface graphique, nommée quick synergy, pour la configuration de synergyCherchez quicksynergy dans la logithèque</​note>​+
  
-===== Installation d'une version récente ===== +Il faut installer le logiciel sur chacune ​des machines concernées.
- +
-L'​installation proposée dans la section précédente permet d'installer ​[[http://​synergy2.sourceforge.net/​index.html|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  [[http://​synergy-foss.org/​download/​|des paquets .deb pour Ubuntu (ou Debian) 32 et 64 bits sont disponibles ici]]. Conseils d'​installation [[http://​code.google.com/​p/​synergy-plus/​wiki/​Setup|là]].+
  
 ===== Configuration ===== ===== Configuration =====
  
-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 [[http://​synergy2.sourceforge.net/​index.html|site de Synergy]].+Maintenant que **Synergy** (ou un équivalent compatible) ​est installé, il va falloir le configurer. ​C'est heureusement devenu très simple.
  
 +Au premier lancement, l'​application lance un assistant pas à pas (//​wizzard//​) qui vous demande de choisir une langue, puis si vous souhaitez utiliser **Synergy** comme client ou comme serveur.\\ ​
 +Vous pouvez avoir autant de clients que vous le souhaitez - ce sont les machines contrôlées,​ mais un seul serveur - c'est la machine à laquelle sont branchés votre clavier et votre souris.
  
 ==== Configuration du serveur ==== ==== 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 : +Le bouton //​Configurer ​le serveur// ​permet de voir apparaître les clients connectés et de les positionner par rapport à votre serveurReproduisez votre installation physique, ​vous pourrez ainsi passer d'une machine à l'​autre naturellement,​ en atteignant différents bords d'​écran. Vous pouvez donner un nom différent à chaque machine ​pour vous y retrouver.
-<​code>​ +
-section: screens +
-        hoary: +
-        arthur: +
-end +
-section: links +
-        hoary: +
-                right = arthur +
-        arthur: +
-                left = hoary+
  
-end +Il est possible ​de chiffrer ​les données échangées entre les machines ​avec [[wpfr>​Transport_Layer_Security|SSL]].
-</​code>​ +
-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 ==== ==== Configuration du client ====
  
-Il n'en a pas, il suffit d'​installer ​Synergy. ​:-) +Il peut être utile de spécifier manuellement l'adresse IP du serveur, ​en particulier dans le cas où il existe plusieurs associations **Synergy** sur un même réseau.
  
 ===== Utilisation ===== ===== Utilisation =====
  
-==== Serveur ==== +Maintenant ​que **Synergy** est installé ​et configuré, il faut cliquer sur //Démarrer//.
- +
-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 +
- +
-<​note>​**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''​ »  ! +
-</​note>​ +
- +
-Cette méthode fonctionne aussi avec un autre poste sous Mac OS X. +
- +
-===== Configurer pour un démarrage automatique ===== +
- +
-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**,​ [[:​tutoriel:​comment_editer_un_fichier|ajouter]] une seule fois l'​appel à Synergy +
- +
-<​code>​ +
-# Appel à Synergy +
-/​usr/​bin/​synergyc <nom du serveur Synergy ou son IP> +
-</​code>​ +
- +
-Cet appel sera opérationnel pour KDM comme pour la session ouverte. +
- +
-=== 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) +
- +
-<​code>​ +
-#!/bin/sh +
-/​usr/​bin/​killall synergyc +
-sleep 1 +
-/​usr/​bin/​synergyc 192.168.0.1 +
-</​code>​ +
- +
-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 [[:​tutoriel:​comment_editer_un_fichier|é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. [[:​tutoriel:​comment_editer_un_fichier|Ajoutez les lignes suivantes]] à votre **/etc/​gdm/​Init/​Default** (ajoutez-les au sommet du fichier juste après les lignes commentées avec des « # ») : +
- +
-<​code>​ +
-/​usr/​bin/​killall synergyc +
-sleep 1 +
-/​usr/​bin/​synergyc xxx.xxx.xxx.xxx +
-</​code>​ +
- +
-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 : +
- +
-<code bash> +
-#!/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 +
-</​code>​ +
- +
-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 :​ +
- +
-<​code>​ +
-#/​bin/​bash +
-/​usr/​bin/​killall synergys +
-sleep 1 +
-synergys --config /​etc/​synergy.conf +
-</​code>​ +
- +
-==== Methode 2 ==== +
- +
-Il y a en tout 3 scripts à ajouter : +
-  - le premier sert à démarrer synergy en tant que root lorsque le menu de login apparait +
-  - le second sert à tuer le processus de synergy en tant que root lorsqu'​un utilisateur se connecte +
-  - 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. +
-===== Configuration du pare-feu ===== +
- +
-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 : +
- +
-<​code>​ +
-iptables -A INPUT -p tcp -i $interface --dport 24800 -j ACCEPT +
-</​code>​ +
- +
-**$interface** est le nom de votre interface réseau (ex. : eth0). +
- +
- +
-===== Astuces =====+
  
-  * 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.+Il suffit d'​atteindre le bord d'un écran pour que le clavier ​et la souris contrôle l'​ordinateur voisin. Vous pouvez ​aussi copier et coller du texte entre les machines. Certaines configurations supportent même le //drag & drop// de fichiers ​entre les machines.
  
 +Il peut être utile de lancer **Synergy** automatiquement au démarrage des ordinateurs. Voir : //​[[:​tutoriel:​application_demarrage|Lancement des applications en fin du lancement de l’environnement de bureau]]//.
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * [[QuickSynergy]],​ une interface graphique à Synergy +  * [[https://symless.com/synergy]] : site officiel de **Synergy**
-  * [[http://synergy-foss.org/]] : Site officiel de Synergy +
-  ​[[https://​launchpad.net/​synergy2]] : Synergy sur Lauchpad+
  
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​Lok]] ([[https://​wiki.ubuntu.com/​SynergyHowto|traduction]]),​ [[:​utilisateurs:​ner0lph|Floriang]],​ [[:​utilisateurs:​mayeulk]].// ​+//​Contributeurs : [[:​utilisateurs:​krodelabestiole]], ​[[:​utilisateurs:​Lok]] ([[https://​wiki.ubuntu.com/​SynergyHowto|traduction]]),​ [[:​utilisateurs:​ner0lph|Floriang]],​ [[:​utilisateurs:​mayeulk]].// ​
  • synergy.1349771539.txt.gz
  • Dernière modification: Le 09/10/2012, 10:32
  • par laloi