İç içe RDP ve VMWare ve ILO konsol oturumları: tuş vuruşu tekrarlama ve gecikme süresi


17

Tamamen ILO üzerinden uzak sunucu kurulumu üzerinde çalışıyorum (ancak bu IPMI ve VMWare konsol oturumları için de geçerlidir). Yazılım uygulaması ve ortamı nedeniyle, erişimim RDP aracılığıyla erişmem gereken bir Windows sunucusuyla sınırlıdır. Bu sistemden hedef sunucuya geçmek HP ILO2 veya ILO3 aracılığıyla gerçekleştirilir.

Tam otomatik bir dağıtım sistemi kullanamayacağım bir ortamda CentOS yüklemesini çalıştırmaya çalışıyorum. Bunu metin modu ile yapıyorum, ancak tuş vuruşları rastgele tekrarlanıyor ve uygun kurulum seçeneklerini seçmek zor. Örneğin:

ks=http://all.yourbase.org/kickstart/ks.cfg

şöyle görünür:

ks====httttttp://allll..yourbaseee.....org/kicksstart/ks.cccfg

Bunu Microsoft'un RDP istemcisini (Mac ve Windows'ta) kullanarak yapıyorum. Bunu daha önce, kurulumları çalıştırırken veya iç içe oturumlarda uzaktan çalışma yaparken fark ettim.

resim açıklamasını buraya girin

Bunun için güzel bir düzeltme var mı, yoksa sadece protokollerin bir işlevi mi?


3
Çok sayıda uzak sistemi olan yöneticilerin veya çeşitli sistemlere uzaktan kumanda etmesi gereken danışmanların bunu yaşamasını beklerim.
ewwhite

2
Bunu söylemekten nefret ediyorum, ama benim de bu problemi rutin olarak yaşıyorum ve henüz bunun için bir yol bulamadım.
Chopper3

3
Bu sorununuzu çözmez, ancak uzak uç noktanız bir VMware konsolu ise, VMware'in bu belgesi bir çözüm önerir.
larsks

Bu tekrarlanan tuş vuruşu sorunu yalnızca RDP oturumu ile ilo konsolu arasında mı oluyor?
Rqomey

@Rqomey Sorunun hangi katmanda oluştuğundan emin değilim. Sonuç aynıdır. Şuna benzer bir şey varsayalım: Mac -> RDP ILO veya vSphere istemci konsoluna bağlantı çalıştıran Windows oturumu.
ewwhite

Yanıtlar:


10

Bir SSH bağlantısı tuş vuruşlarını iletirken , bir HP ILO bağlantısı önemli durumları iletir . Bir tuşa her bastığınızda, sunucu ayrı KeyDown ve KeyUp olayları alır. KeyUp olayı geç alındığında tekrarlanan tuş vuruşları oluşur.

KeyUp olayının geç alınmasının en olası iki nedeni şunlardır:

  1. Ağ tıkanıklığı / performans sorunları.
  2. ILO bağlantısını başlatan istemci sisteminin performansı düşük. İstemci sanal bir makineyse, temeldeki ana makine sistemi aşırı yüklenmiş mi yoksa VM'de yeterli bellek / CPU kaynağı tahsis edilmiş mi?

Kök neden ele alınamıyorsa:

  1. Anahtar tekrarlama sorunu, "Anahtar Yukarı / Aşağı" adlı bir ILO2 ayarını devre dışı bırakarak çözülebilir. Bu, ILO2'nin anahtar durumlar yerine tuş vuruşlarını iletmesine neden olur. Ne yazık ki, bu ayar ILO3'ten kaldırılmıştır.
  2. Hedef işletim sistemi Linux ise, konsolu ttyS0bir sanal konsol yerine bir Sanal Seri Bağlantı Noktası (VSP) oturumuna yönlendirerek ve kullanarak bu soruna geçici bir çözüm bulabilirsiniz. Bu, Tuş Yukarı / Aşağı sorununu ortadan kaldıracaktır, çünkü seri bağlantılar tuş yukarı / aşağı olayları yerine tuş vuruşlarını iletir.
  3. Anahtar tekrarlama oranını ayarlamak ve / veya hedef sistemde otomatik tekrar çalmayı tamamen devre dışı bırakmak yararlı olabilir. Anahtar tekrarlama sorununun ciddiyetine bağlı olarak bunun başarılması kolay olmayabilir.
  4. Yerel iş istasyonunuz olarak bir Mac kullandığınız düşünüldüğünde, Command-V kullanarak tam komutları Mac RDP istemcinize yapıştırmayı denemeniz faydalı olabilir. Bunun uygulanabilir bir çözüm olup olmadığını bilmiyorum, ancak ilginç bir etkisi olabilir. Özellikle yerel komut kısayol tuşu kombinasyonları tahmin edilebilir şekilde çalışmaya devam ettiğinden, Mac iş istasyonundaki uzak Windows makinelerinde çalışmayı sık sık takdir ettim.

Referanslar:


Bunun VMWare uzak konsol tarafı hakkında bir fikir var mı? Orada aynı şeyi görüyorum.
ewwhite

2
VMware'de sadece anahtar tekrar gecikmesini 2 saniyeye değiştirerek çalışmak oldukça kolaydır, ancak bunu global olarak yapmanın bir yolu yoktur ( .Vmx
Skyhawk

1
Aynı satırlar boyunca, YET ANOTHER Windows oturumunu yuvalamak yararlı olabilir. İLO ile aynı ağ kesimindeki bir sunucuya RDP eklemek, anahtarlar arası gecikmenizi sorun olmayacak kadar azaltabilir.
longneck

5

Bu protokolle ilgili bir sorun gibi görünüyor. Ericom Blaze'yi bağlandığım merkezi sunucu için RDP aktarımı olarak kullanarak sorunu biraz azalttım ; örneğin "atlama kutusu".

Diğer şeyler:

Birden çok iç içe oturumdan kaçınmaya çalışıyorum.

Bazı durumlarda Windows'tan yerel RDP'yi kullanmama izin vermek için Mac'imde VMWare Fusion'ı Windows 7 ile çalıştırıyorum.

Şimdilik görebildiğim kadarıyla ilgili.


2

aşağıdaki satırı eklemek için .vmx dosyasını düzenlemeniz gerekir:

keyboard.typematicMinDelay = "2000000"

"sıçrama" alır.

Vmware sürümümle, VM kapatıldığında bu değişikliği yapmam gerekiyor. Bir düzenleme penceresinden yapılabileceğini anlıyorum, ancak bu yeri bulamadım.


1

Sorun rdp'ye bağlantınızda mı (not defteri doğru yazabilir misiniz?) Veya RDP ve iLO arasında mı?

RDP ve iLO arasındaysa (bunu zaten yaptığınızı biliyorum)

  1. Java uzak konsolunu kullanmak neredeyse imkansızdı. "Uzak konsol" (.Net denir) kullandıysanız, büyük bir gelişme ile sonuçlanan buldum. Gecikme daha azdı, gecikme gergin değildi ve tekrarlanan ve kaybedilen tuş vuruşları olmadı.

  2. Canlı cd'yi başlatın, openssh sunucusunu kurun ve bağlanmak için ssh kullanın. Kurulumumuzu ssh üzerinden yapın (bağlantı kötü ise ekranı da kullanın.

Siz ve RDP arasındaysanız:

Windows kutunuza düşük bant genişliğine ayarlanmış freenx veya vnc kullanın. Bu en azından tuş vuruşlarını temizlemelidir. RDP bağlantısı düzgün mü (tuş vuruşu sorunlarının olduğu yer burası mı?)

Her ikisi de: Komutları bir not defterine yazın, sonra mümkünse kopyalayıp yapıştırın, umarım yazmaktan daha iyi çalışır.


Kesinlikle .NET konsolunu kullanıyorum.
ewwhite

1

Hatırlanması gereken ilk kritik şey, bağlandığınız sanal makine veya RDP oturumu ve üst düzey ana makine de dahil olmak üzere tuş vuruşlarınızı işleyen her şeyde tuş tekrarı devre dışı bırakmaktır. Bu, nihai hedef makineyi düzeltmez, ancak durumu iyileştirmek için çok şey yapar.

Hedef makineye gelince:

HP iLO'nun SSH bağlantı noktasına bağlanmak için ssh kullanmanın anahtar tekrarlama sorunlarını önlediğine dair raporlar var, ancak bu yöntemi kullanamadım çünkü ana bilgisayarım (online.net) iLO güvenlik duvarından port 22'ye izin vermedi. Ancak iLO'nun SSH portuna (muhtemelen 22) erişiminiz varsa, bu en kolay yaklaşım gibi görünüyor.

Önyükleme sırasında klavye tekrar oranını ve gecikme süresini ayarlamak için bir systemd birimi kullanmayı denedim:

# Note that kbdrate only affects existing keyboards, and HP iLO attaches a new
# USB keyboard when you connect, so you may have to reboot (with the iLO console
# attached) to get the keyboard delay and repeat rate to take effect.

[Unit]
Description=Set longer delay time for key repeat

[Service]
Type=oneshot
RemainAfterExit=yes
StandardInput=tty
StandardOutput=tty
ExecStart=/sbin/kbdrate -d 1000 -r 2

[Install]
WantedBy=multi-user.target
WantedBy=rescue.target

(Çalışmadığından emin olun ve /sbin/kbdratevar nerede kbdrate. Yaz için /etc/systemd/systemd/slower-keyboard-repeat.serviceve systemctl daemon-reload && systemctl enable slower-keyboard-repeat.service)

ancak yorumda belirtildiği gibi, bu sadece kısmi bir başarıydı çünkü iLO'nun eklediği yeni klavyede tekrar oranını ayarlamak için yeniden başlatma gerektiriyordu. Ancak makineyi yeniden başlatmayı tamamlarsanız yeterince iyidir.

Nihayetinde, tüm klavyelerde varsayılan tekrarlama oranını ve gecikme süresini değiştirmek için Linux çekirdeğini yamaladım:

From 78c32f539b89bf385985bea47a7058a540d31da0 Mon Sep 17 00:00:00 2001
From: Ivan Kozik <ivan@ludios.org>
Date: Thu, 30 Mar 2017 13:31:17 +0000
Subject: [PATCH] Increase the default keyboard repeat delay from 250ms to
 1000ms and repeat rate from 1000/33 Hz to 1000/500 Hz to avoid unintentional
 repeated keystrokes when using remote consoles such as HP iLO over
 high-latency links.  These consoles (HP iLO included) often transmit key
 states (up/down) instead of keystrokes, making it impossible to even enter a
 password and log in.

Fixing this in the kernel avoids problems with kbdrate where the parameters
passed to kbdrate don't apply to the new keyboards attached by HP iLO.
---
 drivers/input/input.c          | 2 +-
 drivers/input/keyboard/atkbd.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 880605959aa6..a195af2d062a 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -2126,7 +2126,7 @@ int input_register_device(struct input_dev *dev)
     * is handled by the driver itself and we don't do it in input.c.
     */
    if (!dev->rep[REP_DELAY] && !dev->rep[REP_PERIOD])
-       input_enable_softrepeat(dev, 250, 33);
+       input_enable_softrepeat(dev, 1000, 500);

    if (!dev->getkeycode)
        dev->getkeycode = input_default_getkeycode;
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index ec876b5b1382..9dd04c2215b3 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -1096,8 +1096,8 @@ static void atkbd_set_device_attrs(struct atkbd *atkbd)
            BIT_MASK(LED_MUTE) | BIT_MASK(LED_MISC);

    if (!atkbd->softrepeat) {
-       input_dev->rep[REP_DELAY] = 250;
-       input_dev->rep[REP_PERIOD] = 33;
+       input_dev->rep[REP_DELAY] = 1000;
+       input_dev->rep[REP_PERIOD] = 500;
    }

    input_dev->mscbit[0] = atkbd->softraw ? BIT_MASK(MSC_SCAN) :
-- 
2.11.0

ve bu benim için problemi çözdü.


0

Kısıtlandığını söylediğini biliyorum, ama daha iyi bir şey düşünemiyorum: en azından sadece kurulumunun kritik kısmını yapmak için VNC veya TeamViewer'ı kurun.

İkinci çözüm, giriş iletileri için bir Media Center türü yönlendirme proxy'si kullanmaktır, böylece bilgisayarınıza ikinci bir klavye bağlarsınız ve HID kullanarak yalnızca TCP / SOAP üzerinden bu klavyeyi sunucuya iletirsiniz. Ancak sunucuya yazılım cinlerini yüklemeyi içerdiğinden, VNC ile de başlayabilirsiniz.

Tekrarlanan tuş vuruşlarını hiç yaşamadım, ancak Konuk İşletim Sisteminde VMware Araçları yüklü olmadığında RDP üzerinden VMware ile çalışırken büyük fare gecikmesi alıyorum.

Yukarıdaki seçeneklerden hiçbiri uygun değilse, Microsoft Destek ile iletişime geçmek ve size verdikleri çözünürlüğü bildirmek gibi bir açık seçenek gibi.


0

Deneyimlerime göre, dokunarak yazma hakkında öğrendiğim her şeyi unutmaya ve tuşları tek tek ve çok, çok hızlı bir şekilde yumruklamaya çalışırsam bana yardımcı oldu. Tercihen sadece bir parmağınızı kullanın, böylece çok rahat olmazsınız ve çok hızlı yazmaya başlayabilirsiniz. Ayrıca, tuşa hızlı bir şekilde basmaya çalışmanıza da izin verir . Tüm bunlar bir şaka gibi gelebilir, ancak sağ orta parmağımın (sağ elim) anahtarları hızlı bir şekilde itme yeteneğine sahip olduğunu gördüm.

Ve elbette, SSH'yi bundan sonra mümkün olduğunca çabuk çalıştırmaya çalışıyorum. Bunu yapamayacak kadar kısıtlıysanız ... ah.

Ayrıca farklı konsolları kullanmaya çalışın. Normalde Java sürümü en kötü olurdu, ancak .NET sürümü ile ilgili sorun yaşıyorsanız, Java'yı denemek isteyebilirsiniz. Java eklentisinin tarayıcınızı kilitleyebileceğine hazır olun (bu sadece iLO 2 ile ilgili bir sorundur; iLO 3 bir eklentiden web başlangıç ​​uygulamasına taşındı).


Bu kaba bir çözüm. Neden olduğuna dair fikri olan?
ewwhite

1
Buna "çözüm" demek oldukça cömerttir. Hayır, neden olduğu hakkında hiçbir fikrim yok, ancak her zaman uzak bağlantı protokolünü sorumlu tuttum. Şimdi bana bunu düşündürdüğüne göre, başka bir fikrim vardı ... bunu Erişilebilirlik pencereleri uygulamalarından Ekran Klavyesi ile yeniden oluşturmayı denediniz mi? Ekran klavyesi uygulamasının kusursuz çalışabileceği nagging hissi var.
chutz

Bu hafta bir VMWare vCloud sorunu ile ekran klavyesi yaklaşımını denedim. Açılır konsol, odaklanmak için ekran klavyesi ile çekişiyordu, bu yüzden uyumlu değildi.
ewwhite
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.