Latar Belakang dan Garis Besar Solusi
Ini agak panjang, tetapi intinya adalah untuk mendidik melalui bagian Instruksi Detail. Jika Anda sudah berpendidikan, baca saja bagian ini dan mungkin kesimpulannya ;-)
Saya telah menggunakan Synergy di Linux dan Windows dalam berbagai bentuknya sejak 1990-an, dan pertanyaan ini sering muncul. Ada dua penyebab umum, dan saya berurusan dengan yang pertama saja.
Ini umumnya masalah tingkat OS, menjadi prioritas penjadwal klien, jadi solusinya adalah hanya untuk meningkatkan prioritas klien. Itu akan meningkatkan masalah, tetapi pengalaman keseluruhan masih akan didasarkan pada pandangan penjadwal tentang betapa pentingnya untuk memperbarui layar, dll. Lihat di akhir untuk lebih lanjut tentang itu.
Kadang-kadang ada alasan lain: satu atau kedua proses server atau klien mati dan akan dimulai ulang, dalam hal ini Anda harus mengaktifkan debug level logging pada server dan klien Synergy, dan mengambilnya dari sana. Setelah Anda memutuskan bahwa , melaksanakan di atas.
Instruksi terperinci
Meningkatkan prioritas penjadwal klien Windows
Menggunakan Windows 7, saya tidak tahu jalan pintas di versi yang lebih baru.
Buka Task Manager (Ctrl-Alt-Esc) dan klik pada tab Processes.
Klik kanan pada synergy.exe, klik "Set Priority", dan pilih High atau Realtime.
Ulangi untuk synergyc.exe.
Jika server Synergy terlalu lambat, prosesnya adalah synergys.exe.
Meningkatkan prioritas penjadwal klien Linux
Sesuatu yang serupa seharusnya berfungsi pada Mac. Anda mungkin tahu bagaimana melakukan ini di GUI, tetapi saya menggunakan baris perintah. Kecuali jika Anda melakukan yang berikut sebagai root ( sudo su -
), Anda harus bermain-main (sebagai root) dengan visudo
dan mengatur hak yang relevan untuk digunakan 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
Anda dapat menyalin & menempelkan di atas, atau meletakkannya di satu baris dengan menghapus semua karakter \
dan baris istirahat. Jika Anda ingin melihat apa yang akan dijalankan tanpa benar-benar melakukannya, ubah perintah terakhir menjadi xargs echo renice -19
.
Seperti yang dinyatakan di atas, ini masih atas perintah penjadwal tentang pentingnya banyak proses lainnya. Jika Anda ingin belajar sedikit, Anda dapat melakukan hal berikut.
Melihat proses Windows
Buka Task Manager. Di tab Proses, klik tombol "Tampilkan proses dari semua pengguna". Kemudian klik pada menu View, dan pada "Select Columns ...". Pastikan hanya yang berikut dicentang: Nama Pengguna, Penggunaan CPU, Waktu CPU, Prioritas Basis, Baris Perintah. Anda dapat mengklik Deskripsi juga jika Anda mau.
Anda dapat menyeret jendela serta kolom yang lebih besar untuk memudahkan membaca. Klik pada tajuk kolom untuk mengurutkannya. Anda juga dapat mengklik kanan pada nama gambar dan, misalnya, pergi ke layanan terkait. Ini berguna untuk nama gambar yang lembut seperti svchost.exe. Jika Anda ingin alat yang sangat kuat untuk dimainkan (hati-hati!), Coba ProcessHacker .
Melihat proses Linux
Jalankan ps -eo pid,ni,cmd | less
untuk melihat semua proses yang berjalan. Setiap baris mewakili status proses, dan kolomnya adalah: ID proses, prioritasnya, dan baris perintah yang dipermasalahkan. Gotcha adalah bahwa di Unix, semakin rendah nilainya yang bagus, semakin tinggi prioritasnya.
Kesimpulan
Masalahnya adalah bahwa Synergy bergantung pada banyak proses lain untuk melakukan sebagian pekerjaannya (seperti berurusan dengan SSL dalam Pro), dan masing-masing proses ini memiliki prioritas yang ditetapkan kepadanya oleh penjadwal OS. Jadi tidak ada solusi sederhana.
Bahkan setelah menerapkan "perbaikan" yang disebutkan di atas, hal-hal sering lambat setelah memasuki layar klien di mana Anda belum pernah untuk sementara waktu, dan itu karena ini seluruh keluarga proses yang dimasukkan ke pembakar belakang penjadwal, sehingga untuk berbicara. Sebagian besar penjadwal hari ini adaptif, dan mengurangi prioritas proses pengguna yang telah menganggur selama beberapa waktu. Bagi penjadwal untuk melihatnya sebagai hal yang penting lagi membutuhkan penggunaan yang berkelanjutan untuk sementara waktu, seperti menggerakkan mouse di sekitar setelah Anda memasuki layar. Ini menyebalkan, tapi begitulah cara kerja penjadwal OS bekerja di sistem operasi non-real-time.
Ada beberapa cara untuk mengubahnya, tetapi sangat spesifik untuk setiap OS (bahkan rilis yang berbeda), dan rapuh (baca: mudah rusak pada patch OS). Tanpa melihat kode, saya berharap Nick & tim hanya akan benar-benar menyelesaikan ini dengan mendorong Synergy ke tingkat driver kernel, yang akan membuatnya jauh lebih rapuh, dan menyebabkan lompatan harga yang signifikan.