Synergy (Italiano)
Synergy permette di condividere facilmente un mouse ed una tastiera tra più computer (anche con differenti sistemi operativi) senza la necessità di hardware specifico. È stato concepito per utenti con più computer sulla propria scrivania, dato che ogni sistema utilizza il proprio (o i propri) monitor.
Per reindirizzare mouse e tastiera è sufficiente muovere il mouse oltre il bordo dello schermo. Synergy, poi, unifica la funzione del copia-incolla tra i vari sistemi, in maniera da poter copiare qualcosa da un computer ed incollarlo su un altro. Inoltre sincronizza gli screen saver in maniera che si avviino e terminino insieme e, se il blocco dello schermo è abilitato, è sufficiente inserire la password in uno solo per sbloccarli tutti.
Installazione
Arch Linux
È possibile installare il pacchetto synergy dai repository ufficiali.
Windows e Mac OS X
Scaricare ed eseguire l'installatore più recente dal sito ufficiale.
Compilare i sorgenti
Anzitutto scaricare e compilare il codice sorgente per creare i binari synergyc e synergys dal repo svn.
$ svn co http://synergy-plus.googlecode.com/svn/trunk/ synergy-trunk && cd synergy-trunk && cmake . && make
... [ 0%] Built target gtest [ 94%] Built target synergy Linking CXX executable synergyc [ 96%] Built target synergyc Linking CXX executable synergys [ 98%] Built target synergys [100%] Built target tests
Poi cambiare l'owner;group a root:root
e copiare i binari creati nel proprio $PATH
, ad esempio /usr/local/bin
.
$ sudo chown root:root synergyc synergys && sudo cp -v synerygyc synergys /usr/local/bin
changed ownership of `synergyc' to root:root changed ownership of `synergys' to root:root `synergyc' -> `/usr/local/bin/synergyc' `synergys' -> `/usr/local/bin/synergys'
Pre-configurazione
Determinare gli indirizzi IP e gli hostname per ogni macchina ed assicurarsi che ognuna abbia un file hosts settato correttamente.
- Arch Linux -
/etc/hosts
- Windows -
C:\WINDOWS\system32\drivers\etc\hosts
- Mac OS X - Come aggiungere degli host al file hosts locale.
/etc/hosts
10.10.66.1 archserver.localdomain archserver 10.10.66.100 archleft.localdomain archleft 10.10.66.105 archright.localdomain archright
Configurazione del server
Leggere Formato del File di Configurazione di Synergy[link interrotto 2020-08-06] per una descrizione dettagliata di tutte le sezioni ed opzioni disponibili.
Arch Linux
Il file di configurazione per Arch Linux si trova in /etc/synergy.conf
. Se tale file non esiste, crearlo basandosi su /etc/synergy.conf.example
, i cui commenti dovrebbero fornire sufficienti informazioni per una configurazione di base; se si ha bisogno di approfondimenti, leggere la guida citata sopra.
Per avviare il demone server, eseguire:
# rc.d start synergys
Se si verificano dei problemi e si desidera eseguire il server in foreground (mostrando l'output nella console), si può invece eseguire:
# synergys -f
Se si vuole avviare il demone server di Synergy ad ogni avvio di Arch Linux, si può aggiungere synergys
all'array dei demoni in /etc/rc.conf
:
/etc/rc.conf
... DAEMONS=(... synergys ...)
Windows
- Aprire il programma Synergy
- Selezionare l'opzione Server (share this computer's mouse and keyboard)
- Selezionare Configure interactively
- Cliccare il pulsante Configure Server...
- Questo apre una finestra nella quale si possono aggiungere schermi a seconda di quanti computer/schermi si hanno: basta trascinare l'icona dello schermo dall'angolo in alto a destra fino nell'area degli schermi, e poi farci doppio click per modificare la sua configurazione
- Cliccare su OK per chiudere la finestra degli schermi quando si è pronti, poi cliccare su Start per avviare il client
Su Windows, la configurazione viene salvata per default in un file synergy.sgc
, ma il suo nome e il percorso possono essere modificati a piacere.
Se si vuole avviare il server ad ogni avvio di Windows bisogna lanciare Synergy come amministratore, poi andare se Edit -> Services e selezionare Install nella sezione Server; notare che al riavvio seguente Synergy sarà sì autoavviato, ma l'icona nell'area notifiche non si mostrerà automaticamente (almeno nella versione 1.4.2 beta su Windows 7). Per disinstallare il servizio bisogna fare la stessa cosa ma ovviamente selezionando Uninstall.
Se si vuole avviare il server dalla linea di comando, questa è una linea che si può mettere in un file .bat
o semplicemente eseguirla da cmd.exe
:
C:\Program Files\Synergy+\bin\synergys.exe -f --debug ERROR --name left --log c:\windows\synergy.log -c C:/windows/synergy.sgc --address 10.66.66.2:24800
Consultare la documentazione ufficiale per maggiori informazioni.
Mac OS X
Mac OS X ha una configurazione simile a Unix: consultare la documentazione ufficiale per maggiori informazioni.
Esempi di configurazione
Questo è un esempio per una configurazione a 3 computer:
/etc/synergy.conf
section: screens server-fire: archright-fire: archleft-fire: end section: links archleft-fire: right = server-fire server-fire: right = archright-fire left = archleft-fire archright-fire: left = server-fire end
Questo dovrebbe essere l'esempio fornito insieme al pacchetto di Arch Linux:
/etc/synergy.conf
section: screens # three hosts named: moe, larry, and curly moe: larry: curly: end section: links # larry is to the right of moe and curly is above moe moe: right = larry up = curly # moe is to the left of larry and curly is above larry. # note that curly is above both moe and larry and moe # and larry have a symmetric connection (they're in # opposite directions of each other). larry: left = moe up = curly # larry is below curly. if you move up from moe and then # down, you'll end up on larry. curly: down = larry end section: aliases # curly is also known as shemp curly: shemp end
Il seguente è un esempio più personalizzato:
synergy.sgc
section: screens leftpc: halfDuplexCapsLock = false halfDuplexNumLock = false halfDuplexScrollLock = false xtestIsXineramaUnaware = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 0 rightpc: halfDuplexCapsLock = false halfDuplexNumLock = false halfDuplexScrollLock = false xtestIsXineramaUnaware = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 0 end section: aliases leftpc: 10.66.66.2 rightpc: 10.66.66.1 end section: links leftpc: right = rightpc rightpc: left = leftpc end section: options heartbeat = 1000 relativeMouseMoves = false screenSaverSync = false win32KeepForeground = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 4 end
Configurazione dei client
Arch Linux
Nella finestra di un terminale, digitare:
$ synergyc server-host-name
Oppure, per eseguire synergy in foreground (mostrando l'output nella console):
$ synergyc -f server-host-name
In queste linee, server-host-name
è l'hostname del server.
Autoavvio
Esistono vari modi per autoavviare il client per Synergy, ed effettivamente sono i soliti metodi che possono essere usati per ogni altra applicazione.
server-host-name
con il nome reale del server.- Si può aggiungere la seguente linea al proprio
~/.xinitrc
:
~/.xinitrc
... #replace server-host-name with the real name synergyc server-host-name ...
Il seguente codice è un'alternativa:
~/.xinitrc
XINIT_CMD='/usr/bin/synergyc -d FATAL -n galileo-fire 10.66.66.2:24800' /usr/bin/pgrep -lxf "$XINIT_CMD" || ( ( $XINIT_CMD ) & )
- Altrimenti, se si sta usando un display manager (kdm, gdm, SLiM, ...), oppure un window manager standalone (Openbox, ...), è possibile sfruttare il suo script di startup e aggiungerci:
synergyc server-host-name
o, nel caso si sia creato il demone synergyc daemon (leggere più sotto):
/etc/rc.d/synergyc stop #verify synergy is closed /etc/rc.d/synergyc start
Ad esempio, se si usa kdm si dovrebbe modificare /usr/share/config/kdm/Xsetup
.
- Si può anche avviare synergyc direttamente nella init chain aggiungendo le righe seguenti a
/etc/rc.local
:
/etc/rc.local
... echo "Starting Synergy client" #replace server-host-name with the real name synergyc server-host-name
- Un risultato simile può essere ottenuto creando un demone e aggiungendolo all'array dei demoni in
/etc/rc.conf
; basta creare un file/etc/rc.d/synergyc
con il contenuto seguente, assicurandosi di settare i suoi permessi conchmod 755
:
/etc/rc.d/synergyc
#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions #Put the server host name in the following line SERVERALIAS="server-host-name" PID=`pidof -o %PPID /usr/bin/synergyc` case "$1" in start) stat_busy "Starting Synergy Client" [ -z "$PID" ] && /usr/bin/synergyc "$SERVERALIAS" if [ $? -gt 0 ]; then stat_fail else /usr/bin/xset r on add_daemon synergyc stat_done fi ;; stop) stat_busy "Stopping Synergy Client" [ ! -z "$PID" ] && kill -9 $PID if [ $? -gt 0 ]; then stat_fail else rm_daemon synergyc stat_done fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac exit 0
L'autoavvio di Synergy è documentato anche nella sua pagina ufficiale di riferimento[link interrotto 2020-08-06].
Windows
Dopo l'installazione, aprire il programma Synergy, selezionare l'opzione Client (use another computer's keyboard and mouse) e digitare l'hostname del server nella casella di testo, poi cliccare su Start per avviare il client.
Se si vuole avviare il client ad ogni avvio di Windows bisogna lanciare Synergy come amministratore, poi andare su Edit -> Services e selezionare Install nella sezione Client.
Se si vuole avviare il client dalla linea di comando, questa è una linea che si può mettere in un file .bat
o semplicemente eseguirla da cmd.exe
. Questa punta ad un file di configurazione in C:\synergy.sgc
e viene eseguita in background come un servizio.
START /MIN /D"C:\Program Files\Synergy+\bin" synergys.exe -d ERROR -n m6300 -c C:\synergy.sgc -a 10.66.66.2:24800
Mac OS X
Individuare il programma synergyc nella cartella synergyc e trascinarlo nella finestra del terminale: vi apparirà in suo percorso completo. Ora aggiungere in fondo l'hostname del server in maniera che il comando completo somigli a questo:
/path/to/synergyc/synergyc server-host-name
Poi premere Invio
.
Problemi conosciuti
Se Arch viene usato come client in un'installazione di Synergy, il server potrebbe non essere in grado di riattivare il monitor del client. Ci sono alcune soluzioni per questo, come eseguire il comando seguente via SSH[archived page], se ACPI è abilitato (leggere: modificare la configurazione di DPMS e ScreenSaver con xset):
# xset dpms force on
Risoluzione di problemi
La documentazione ufficiale ha una pagina per le FAQ e una per la risoluzione dei problemi[link interrotto 2020-08-06].
Ripetizione dei tasti
Se si hanno problemi con la ripetizione dei tasti sul computer client (host Linux), digita semplicemente:
# /usr/bin/xset r on
in una console.
Mappatura della tastiera
Se si hanno problemi con la mappatura della tastiera usando la tastiera del server in una finestra del client (ad esempio un terminale), riconfigurare la mappatura della tastiera in X dopo aver avviato synergyc potrebbe risolvere il problema. Il seguente comando configura la mappatura della tastiera al suo valore attuale:
# setxkbmap $(setxkbmap -query | grep "^layout:" | awk -F ": *" '{print $2}')
messages.log viene spammato da synergyc
Se si esegue synergyc come descritto sopra, il proprio file /var/log/messages.log
sarà spammato con messagi del genere:
May 26 22:30:46 localhost Synergy 1.4.6: 2012-05-26T22:30:46 INFO: entering screen /build/src/synergy-1.4.6-Source/src/lib/synergy/CScreen.cpp,103 May 26 22:30:47 localhost Synergy 1.4.6: 2012-05-26T22:30:47 INFO: leaving screen /build/src/synergy-1.4.6-Source/src/lib/synergy/CScreen.cpp,121
Per evitare ciò eseguire synergyc con l'opzione -d WARNING
. Quest'opzione del livello di debug istruisce synergy a loggare solamente i messaggi che sono del livello WARNING o superiore.
synergyc -d WARNING server-host-name
È anche possibile editare la linea che lancia synergyc se si usa un file /etc/rc.d/synergyc
.
[ -z "$PID" ] && /usr/bin/synergyc -d WARNING "$SERVERALIAS"
Altre risorse
- Sito ufficiale di Synergy: http://synergy-foss.org
- Documentazione ufficiale: http://synergy-foss.org/docs