#1 Le 02/05/2010, à 14:04
- nesthib
[script] contrôler facilement plusieurs machines avec synergy
Pour ceux qui utilisent synergy pour contrôler une seconde machine avec clavier/souris de l'ordinateur courant il faut changer la configuration pour chacune. Ce script permet de le faire de façon automatique.
Prérequis : avoir installé le serveur synergy sur la machine locale et le client que la machine distante.
accès ssh sur la machine distante
Utilisation :
./synergy_auto.sh [hôte] [utilisateur]
script :
#!/usr/bin/env bash
# default values
DISTANT='machine_name'
UTIL='user_name'
# get distant hostname and user to connect to
[ $# -gt 0 ] && DISTANT=${1}
[ $# -eq 2 ] && UTIL=${2}
# if .synergy.conf exists
[ -f ~/.synergy.conf ] && {
#backup .synergy.conf
mv ~/.synergy.conf ~/.synergy.conf.BAK
# catch [ctrl]+c to restore original .synergy.conf
trap 'trapped' 1 2 15
}
# function trapped
CONTINUE=true
function trapped () {
CONTINUE=false
[ -f .synergy.conf.BAK ] && mv ~/.synergy.conf.BAK ~/.synergy.conf
killall synergys
ssh ${UTIL}@${DISTANT} killall synergyc
}
# create adapted .synergy.conf
cat >~/.synergy.conf <<EOF
section: screens
${HOSTNAME}:
${DISTANT}:
end
section: links
${DISTANT}:
right = ${HOSTNAME}
${HOSTNAME}:
left = ${DISTANT}
end
section: options
switchDoubleTap = 400
end
EOF
# launch synergy server and client
killall synergys 2>/dev/null ; synergys
ssh ${UTIL}@${DISTANT} synergyc ${HOSTNAME}
PID=$!
echo '[ctrl]+c pour terminer'
# loop waiting for [ctrl]+c
while ${CONTINUE} ; do sleep 1 ; done
TODO : quand je trouverai un peu de temps (et si j'y pense)
- utilisation d'une seule connexion ssh pour initier et encapsuler la transaction
- vérification de la présence et installation de synergy sur la machine distante
À vos remarques
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne