Arka Plan ve Çözüm Anahatları
Bu biraz uzun, ama önemli olan ayrıntılı talimatlar bölümünden eğitim almak. Eğer zaten eğitim almışsanız, sadece bu bölümü ve muhtemelen ;-) okuyun
1990'lardan beri Linux ve Windows üzerinde Synergy'yi çeşitli şekillerde kullanıyorum ve bu soru sık sık ortaya çıkıyor. İki ortak neden var ve burada sadece ilkiyle ilgileniyorum.
Genellikle istemcinin zamanlayıcı önceliği olan işletim sistemi düzeyinde bir sorundur, bu nedenle çözüm müşterinin önceliğini artırmaktır. Bu, konuları iyileştirecektir, ancak genel deneyim, programlayıcının ekranı güncellemenin ne kadar önemli olduğu konusundaki görüşlerine dayanacaktır .
Bazen başka bir sebep daha vardır: Sunucu veya istemci işlemlerinden biri veya her ikisi de ölür ve yeniden başlatılır, bu durumda Synergy sunucusu ve istemcisinde hata ayıklama düzeyi günlüğünü etkinleştirmeli ve oradan almalısınız. Eğer çözüme başladıktan sonra o , yukarıda uygulamak.
Detaylı talimatlar
Windows istemci zamanlayıcı önceliğini artırma
Windows 7 kullanarak, yeni sürümlerdeki kısayolları bilmiyorum.
Görev Yöneticisi'ni (Ctrl-Alt-Esc) açın ve İşlemler sekmesine tıklayın.
Synergy.exe dosyasını sağ tıklatın, "Önceliği Ayarla" yı tıklatın ve Yüksek veya Gerçek Zamanlı'yı seçin.
Synergyc.exe için tekrarlayın.
Synergy sunucusu çok yavaşsa, işlemi synergys.exe olur.
Linux istemci zamanlayıcı önceliğini artırma
Mac'te benzer bir şey çalışmalıdır. Bunu GUI'de nasıl yapacağınızı biliyor olabilirsiniz, ancak komut satırını kullanıyorum. Aşağıdakileri root ( sudo su -
) olarak yapmadığınız sürece , (root olarak) oynamalı visudo
ve kullanılacak ilgili hakları ayarlamalısınız 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
Yukarıdakileri kopyalayıp yapıştırabilir veya tüm \
ve satır sonu karakterlerini kaldırarak bir satıra koyabilirsiniz . Gerçekte yapmadan neyin çalıştırılacağını görmek istiyorsanız, son komutu olarak değiştirin xargs echo renice -19
.
Yukarıda belirtildiği gibi, bu hala programlayıcının diğer birçok sürecin önemi hakkındaki görüşlerinin arkasındadır. Biraz öğrenmek istiyorsanız, aşağıdakileri yapabilirsiniz.
Windows işlemlerini görme
Görev Yöneticisi'ni açın. İşlemler sekmesinde, "Tüm kullanıcıların işlemlerini göster" düğmesini tıklayın. Ardından Görünüm menüsünü ve "Sütunları Seç ..." i tıklayın. Yalnızca aşağıdakilerin işaretlendiğinden emin olun: Kullanıcı Adı, CPU Kullanımı, CPU Saati, Temel Öncelik, Komut Satırı. İsterseniz Açıklama'yı da tıklayabilirsiniz.
Okumayı kolaylaştırmak için pencereyi ve daha büyük sütunları sürükleyebilirsiniz. Sıralamak için bir sütun başlığına tıklayın. Ayrıca bir görüntü adına sağ tıklayabilir ve örneğin ilgili hizmetlere gidebilirsiniz. Bu, svchost.exe gibi yumuşak görüntü adları için kullanışlıdır. Oynamak için gerçekten güçlü bir araç istiyorsanız (dikkatli olun!), ProcessHacker'ı deneyin .
Linux işlemlerini görme
Çalışan ps -eo pid,ni,cmd | less
tüm işlemleri görmek için çalıştırın. Her satır bir işlem durumunu temsil eder ve sütunlar şunlardır: işlem kimliği, önceliği ve söz konusu komut satırı. Bir sorun, Unix'te hoş değer ne kadar düşük olursa, önceliğin o kadar yüksek olmasıdır.
Sonuç
Mesele şu ki, Synergy işinin bir kısmını yapmak için diğer birçok işleme (Pro'daki SSL ile uğraşmak gibi) bağlıdır ve bu işlemlerin her birinin OS zamanlayıcısı tarafından kendisine atanan bir önceliği vardır. Böylece gerçekten basit bir çözüm yoktur.
Yukarıda belirtilen "düzeltmeyi" uyguladıktan sonra bile, bir süredir olmadığınız bir istemci ekranına girdikten sonra işler genellikle yavaştır ve bu, tüm bu süreç ailesinin programlayıcının arka brülörüne konmasından kaynaklanmaktadır. BT. Günümüzde çoğu programlayıcı uyarlanabilir ve bir süredir kullanılmayan kullanıcı süreçlerinin önceliğini azaltır. Zamanlayıcının onları önemli olarak tekrar görmesi için, ekrana girdikten sonra fareyi çok hareket ettirmek gibi bir süre sürekli kullanım gerektirir. Bu bir acıdır, ancak işletim sistemi zamanlayıcıları gerçek zamanlı olmayan işletim sistemlerinde bu şekilde çalışır.
Bunu düzeltmenin yolları var, ancak her işletim sistemine (farklı sürümler bile) ve kırılgan (okuma: işletim sistemi yamaları üzerine kolayca kırılıyor) için çok spesifik. Kodlara bakmadan, Nick & ekibinin bunu sadece Synergy'yi çekirdek sürücü seviyesine doğru iterek çözmesini bekliyorum, bu da onu daha kırılgan hale getirecek ve önemli bir fiyat artışına neden olacak.