我正在完全通过ILO进行远程服务器安装(但这也适用于IPMI和VMWare控制台会话)。 由于软件应用程序和环境的原因,我的访问被限制在必须通过RDP访问的Windows服务器上。 从该系统到目标服务器是通过HP ILO2或ILO3完成的。
我试图在一个不能使用全自动部署系统的环境中运行CentOS安装。 我正在通过文本模式进行此操作,但按键是随机重复的,很难select正确的安装选项。 例如:
ks=http://all.yourbase.org/kickstart/ks.cfg
最终看起来像:
ks====httttttp://allll..yourbaseee.....org/kicksstart/ks.cccfg
我正在使用Microsoft的RDP客户端(在Mac和Windows上)执行此操作。 在运行安装或在嵌套会话中进行远程工作之前,我也注意到了这一点。
有没有一个很好的解决这个,或者它只是协议的function?
而SSH连接传输击键,HP ILO连接传输键状态 。 每次按某个键时,服务器都会收到单独的KeyDown和KeyUp事件。 KeyUp事件迟到时会导致重复的击键。
KeyUp事件迟迟收到的两个最可能的原因是:
如果根本原因无法解决:
ttyS0
并使用虚拟串行端口(VSP)会话而不是虚拟控制台来解决此问题。 这将消除Key Up / Down问题,因为串行连接传输击键而不是关键的向上/向下事件。 参考文献:
这看起来很喜欢这只是协议的问题。 通过使用Ericom Blaze作为我连接的中央服务器的RDP传输,我已经减less了这个问题; 例如“跳转框”。
其他事情:
我试图避免多个嵌套会话。
我在Mac上运行Windows 7的VMWare Fusion,允许我在某些情况下使用Windows的本机RDP。
这就是我现在所能看到的。
您需要编辑.vmx文件以添加以下行:
keyboard.typematicMinDelay =“2000000”
它拿出“反弹”。
使用我的vmware版本时,我必须在VMclosures时进行此更改。 我明白,它可以从编辑窗口,但我一直无法find那个地方。
问题是否与您连接到rdp(可以正确input记事本?)或RDP和iLO之间的连接?
如果在RDP和iLO之间(我知道你已经做到了)
使用Java远程控制台几乎是不可能的。 我发现,如果我使用“远程控制台”(可能被称为.Net),导致了一个巨大的改善。 延迟较less,延迟并不紧张,重复和丢失的击键没有发生。
启动live CD,安装openssh服务器,并使用ssh连接。 做我们的安装在SSH(如果连接是坏的使用屏幕也。
如果你和RDP之间:
使用freenx或vnc调谐到低带宽到您的窗口框。 这应该至less清理击键。 连接到RDP是否正确(是哪里出现按键问题?
如果两者:写出记事本中的命令,然后复制并粘贴,如果可以的话,希望它会比打字更好。
要记住的第一件重要的事情是,在处理您的击键的所有事情上,包括在您连接的虚拟机或RDP会话以及顶级主机上,禁用重复键。 这不能解决最终的目标机器,但它改善了情况。
至于目标机器:
有报道说使用ssh连接到HP iLO的SSH端口可以避免重复的问题,但我不能使用这种方法,因为我的主机(online.net)没有让端口22通过他们的iLO防火墙。 但是,如果您有权访问iLO的SSH端口(可能是22),那么这似乎是最简单的方法。
我尝试使用systemd单元来设置启动时的键盘重复速率和延迟时间:
# 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
(确保/sbin/kbdrate
是你有kbdrate
,写入/etc/systemd/systemd/slower-keyboard-repeat.service
和systemctl daemon-reload && systemctl enable slower-keyboard-repeat.service
)
但正如评论中提到的,这只是部分成功,因为它需要重新启动才能在iLO附加的新键盘上设置重复速率。 但是如果你可以重新启动机器就足够了。
最终,我最终修补了Linux内核以更改所有键盘上的默认重复速率和延迟时间:
From 78c32f539b89bf385985bea47a7058a540d31da0 Mon Sep 17 00:00:00 2001 From: Ivan Kozik <[email protected]> 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.cb/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.cb/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
那为我解决了这个问题。
我知道你说过你是受限制的,但是我想不出什么比安装VNC或者TeamViewer更好,至less只是做你的安装的关键部分。
第二种解决scheme是使用媒体中心types转发代理来处理input消息,因此您需要将第二个键盘连接到您的计算机上,并使用HID,只通过TCP / SOAP将该键盘转发到服务器。 但是,因为这涉及在服务器上安装软件守护进程,所以您最好还是从VNC开始。
我从来没有经历过重复的按键操作,但是当客户操作系统没有加载VMware Tools时,通过RDP使用VMware时,确实会出现严重的鼠标滞后现象。
我有最后的select,如果以上都不适合,请联系微软支持,并在这里报告他们给你的决议..就像一个开源票。
根据我的经验,如果我忘记了所有的触摸打字知识,并尝试一个接一个地敲打钥匙,并且非常迅速地帮助了我。 最好只用一根手指,这样就不会太舒服,开始打字太快。 它还可以让你专注于快速按下按键。 这整个事情听起来像是一个笑话,但我发现我的右手中指(我右手)是最有能力快速推键。
当然,我尝试尽快让SSH启动并运行。 如果太限制,不允许这样做…哎哟。
也尝试使用不同的控制台。 通常情况下,Java版本是最差的,但是如果你的.NET版本有问题的话,那么你可能要试试Java。 只要准备好Java插件可能会导致浏览器崩溃(这只是iLO 2的一个问题; iLO 3从插件移动到Web Start应用程序)。