Synergy (Italiano)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngThe translation of this article or section does not reflect the original text.Tango-preferences-desktop-locale-modified.png

Reason: Last updated in 2012 (Discuss in Talk: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'
Suggerimento: Sono anche disponibili le versioni BETA di Synergy.

Pre-configurazione

Determinare gli indirizzi IP e gli hostname per ogni macchina ed assicurarsi che ognuna abbia un file hosts settato correttamente.

/etc/hosts
10.10.66.1        archserver.localdomain       archserver
10.10.66.100      archleft.localdomain         archleft
10.10.66.105      archright.localdomain        archright
Nota: Controllare che i client riescano a comunicare con il server.

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.

Suggerimento: È anche possibile usare qsynergyAUR dai repository ufficiali oppure quicksynergyAUR dall'AUR, che forniscono una GUI per semplificare la procedura di configurazione.

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

  1. Aprire il programma Synergy
  2. Selezionare l'opzione Server (share this computer's mouse and keyboard)
  3. Selezionare Configure interactively
  4. Cliccare il pulsante Configure Server...
  5. 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
  6. 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

Nota: Si presuppone che sia stato correttamente configurato un server. Assicurarsi che ci sia già un server pronto ad accettare dei client prima di continuare.

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.

Nota: In ognuno dei seguenti esempi bisogna sempre sostituire 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 con chmod 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.

Nota: Per terminare il client si può usare l'icona nell'area notifiche.

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