Contesto di base e soluzione
Questo è un po 'lungo, ma il punto è educare attraverso la sezione Istruzioni dettagliate. Se sei già istruito, leggi questa sezione e possibilmente la conclusione ;-)
Uso Synergy su Linux e Windows nelle sue varie forme dagli anni '90 e questa domanda si presenta spesso. Ci sono due cause comuni, e qui tratterò solo la prima.
È generalmente un problema a livello di sistema operativo, essendo la priorità dello scheduler del client, quindi la soluzione è semplicemente quella di aumentare la priorità del client. Ciò migliorerà le cose, ma l'esperienza complessiva sarà ancora basata sulle opinioni dello scheduler su quanto sia importante aggiornare lo schermo, ecc. Vedi alla fine per ulteriori informazioni al riguardo.
A volte c'è un altro motivo: uno o entrambi i processi del server o del client muoiono e vengono riavviati, nel qual caso è necessario abilitare la registrazione a livello di debug sul server e sul client Synergy e prelevarlo da lì. Una volta risolto ciò , implementa quanto sopra.
Istruzioni dettagliate
Aumentare la priorità dello scheduler client Windows
Utilizzando Windows 7, non conosco le scorciatoie nelle versioni più recenti.
Apri Task Manager (Ctrl-Alt-Esc) e fai clic sulla scheda Processi.
Fare clic con il tasto destro su synergy.exe, fare clic su "Imposta priorità" e selezionare Alta o In tempo reale.
Ripetere l'operazione per synergyc.exe.
Se il server Synergy è troppo lento, il suo processo è synergys.exe.
Aumentare la priorità dello scheduler client Linux
Qualcosa di simile dovrebbe funzionare su Mac. Potresti sapere come farlo nella GUI, ma io uso la riga di comando. A meno che non eseguiate le seguenti operazioni come root ( sudo su -
), dovrete giocare (come root) con visudo
e impostare i relativi diritti da utilizzare renice
.
ps -eo pid,ni,cmd |\
grep synergy |\
grep -v grep |\
cut -d" " -f2 |\
while read pid; do echo -n $pid" "; done |\
xargs renice -19
Puoi copiare e incollare quanto sopra o metterlo su una riga rimuovendo tutti i \
caratteri di interruzione di riga e. Se vuoi vedere cosa verrà eseguito senza farlo, modifica l'ultimo comando in xargs echo renice -19
.
Come detto sopra, questo è ancora secondo il parere dello scheduler sull'importanza di molti altri processi. Se vuoi imparare un po ', puoi fare quanto segue.
Vedere i processi di Windows
Apri Task Manager. Nella scheda Processi, fai clic sul pulsante "Mostra processi da tutti gli utenti". Quindi fare clic sul menu Visualizza e su "Seleziona colonne ...". Accertarsi che siano spuntati solo i seguenti: Nome utente, Utilizzo CPU, Tempo CPU, Priorità base, Riga comandi. Puoi anche fare clic su Descrizione se lo desideri.
È possibile trascinare la finestra e le colonne più grandi per facilitare la lettura. Fai clic sull'intestazione di una colonna per ordinarla. È inoltre possibile fare clic con il pulsante destro del mouse sul nome di un'immagine e, ad esempio, accedere ai servizi associati. Ciò è utile per nomi di immagini insipide come svchost.exe. Se vuoi uno strumento davvero potente con cui giocare (fai attenzione!), Prova ProcessHacker .
Vedere i processi Linux
Esegui ps -eo pid,ni,cmd | less
per vedere tutti i processi in esecuzione. Ogni riga rappresenta uno stato del processo e le colonne sono: l'ID del processo, la sua priorità e la riga di comando in questione. Un gotcha è che in Unix, più basso è il valore piacevole, maggiore è la priorità.
Conclusione
Il fatto è che Synergy dipende da molti altri processi per svolgere parte del suo lavoro (come la gestione dell'SSL in Pro), e ciascuno di questi processi ha una priorità assegnata dallo scheduler del sistema operativo. Quindi non esiste davvero una soluzione semplice.
Anche dopo aver applicato la "correzione" di cui sopra, le cose sono spesso lente dopo essere entrati in una schermata del client in cui non ci si trova da un po 'di tempo, e questo è dovuto al fatto che l'intera famiglia di processi viene messa sul back burner dello schedulatore, quindi parlare. La maggior parte dei programmatori in questi giorni sono adattivi e riducono la priorità dei processi utente che sono inattivi da un po 'di tempo. Affinché lo scheduler possa vederli di nuovo importanti è necessario continuare a utilizzarlo per un po ', ad esempio spostando il mouse molto dopo l'accesso alla schermata. È una seccatura, ma è così che funzionano gli scheduler dei sistemi operativi nei sistemi operativi non in tempo reale.
Ci sono modi per modificarlo, ma è molto specifico per ciascun sistema operativo (anche versioni diverse) e fragile (leggi: si rompe facilmente sulle patch del sistema operativo). Senza guardare il codice, mi aspetto che Nick e il team lo risolvano davvero solo spingendo Synergy al livello del driver del kernel, il che lo renderebbe molto più fragile e causerebbe un significativo salto di prezzo.