В то время как соединение SSH передает нажатий клавиш , соединение HP ILO передает состояния ключей . Каждый раз, когда вы нажимаете клавишу, сервер получает отдельные события KeyDown и KeyUp. Если событие KeyUp получено с опозданием, возникают повторяющиеся нажатия клавиш.
Двумя наиболее вероятными причинами того, что событие KeyUp будет получено с опозданием, являются:
Если основная причина не может быть устранена:
ttyS0
и используя виртуальный последовательный порт (VSP). сеанс вместо виртуальной консоли. Это устранит проблему нажатия клавиш вверх / вниз, поскольку последовательные соединения передают нажатия клавиш вместо событий нажатия клавиш. Ссылки:
Я знаю, что Вы сказали, что ограничиваетесь, но я ни о чем не могу думать лучше, чем: установите VNC или TeamViewer, по крайней мере, только, чтобы сделать критическую часть Вашей установки.
Второе решение состоит в том, чтобы использовать передающий прокси типа Медиацентра для входных сигналов, таким образом, Вы подняли бы трубку вторую клавиатуру к своему компьютеру и использование HID, передайте только что клавиатура по TCP/SOAP к серверу. Но поскольку это вовлекает демонов программного обеспечения установки на сервере, Вы могли бы также запустить с VNC.
Я никогда не испытывал повторенные нажатия клавиш, но я действительно получаю главную задержку мыши при работе с VMware по RDP, когда гостевой ОС не загрузили Инструменты VMware.
Заключительная опция, которую я имею, если ни один выше не подходит, состоит в том, чтобы связаться с Microsoft Support и сообщить о разрешении, которое они дают Вам здесь.. как билет с открытым исходным кодом.
Это смотрит, любит, это - просто проблема с протоколом. Я уменьшил проблему несколько при помощи Пламени Ericom как транспорт RDP для центрального сервера, от которого я соединяюсь; например, "поле перехода".
Другие вещи:
Я стараюсь избегать нескольких вложенных сессий.
Я выполняю VMware Fusion с Windows 7 на моем Mac, чтобы позволить мне использовать собственный RDP из Windows в определенных случаях.
Это обо всем, что я вижу на данный момент.
Возникает ли проблема с вашим подключением к rdp (правильно ли вы вводите в блокноте?) Или между RDP и iLO)?
Если между RDP и iLO (я вас знаю уже сделали это)
Использование удаленной консоли Java было практически невозможно. Я обнаружил, что использование «удаленной консоли» (ее можно назвать .Net) приводит к значительному улучшению. Задержка была меньше, задержка не была неустойчивой, повторяющихся и потерянных нажатий клавиш не происходило.
Загрузитесь с живого компакт-диска, установите сервер openssh и используйте ssh для подключения. Выполните нашу установку через ssh (если соединение плохое, используйте также экран.
Если между вами и RDP:
Используйте freenx или vnc, настроенные на низкую полосу пропускания для вашего окна Windows. Это должно, по крайней мере, убрать нажатия клавиш. Write out commands in a notepad, then copy and paste if you can, hopefully it will work better than typing.
По моему опыту, это помогло мне, если я попытаюсь забыть все, что я узнал о слепой печати, и попытаюсь бейте по клавишам одну за другой и очень, очень быстро. Желательно использовать только один палец, чтобы не слишком удобно и не начать печатать слишком быстро. Это также позволяет вам сосредоточиться на попытке быстро нажать клавишу . Все это может звучать как шутка, но я обнаружил, что мой средний палец правой руки (я правша) гораздо лучше всех способен быстро нажимать клавиши.
И, конечно же, После этого я стараюсь как можно быстрее запустить SSH. Если они слишком ограничены, чтобы позволить это делать ... ой.
Также попробуйте использовать разные консоли. Обычно версия Java будет наихудшей, но если у вас возникли проблемы с версией .NET, вы можете попробовать Java. Просто будьте готовы к тому, что плагин java может вызвать сбой вашего браузера (это проблема только с iLO 2; iLO 3 перенесен из плагина в приложение для запуска через Интернет).
вам нужно отредактировать файл .vmx, чтобы добавить следующую строку:
keyboard.typematicMinDelay = "2000000"
устраняет "отскок".
В моей версии vmware я должен вносить это изменение, когда виртуальная машина не работает. Я понимаю, что это можно сделать из окна редактирования, но мне не удалось найти это место.
Первое, что необходимо запомнить, - это отключить повторение клавиш для всего, что обрабатывает нажатия клавиш, в том числе на виртуальной машине или сеансе RDP, через который вы подключаетесь, а также на хост-машине верхнего уровня. . Это не исправляет конечную целевую машину, но делает многое для улучшения ситуации.
Что касается целевой машины:
Есть сообщения, что использование ssh для подключения к SSH-порту HP iLO позволяет избежать проблем с повторением клавиш, но я не смог использовать этот метод, потому что мой хост (online.net) не пропускал порт 22 через их брандмауэр iLO. Но если у вас есть доступ к SSH-порту iLO (вероятно, 22), это кажется самым простым подходом.
Я попытался использовать системный модуль, чтобы установить частоту повторения клавиатуры и время задержки при загрузке:
# 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 <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
и это решило проблему для меня.