Спасибо за все приведенные выше сведения. Попробовав все предложения, оригинальный сценарий внезапно снова начал работать. Когда запрашивался пароль, и пароль отправлялся по желанию, он не появлялся в терминале, как раньше, и был отклонен, его незаметно передавали в терминал и принимали, как будто я набирал сам.
Итак, я запускал скрипт несколько раз, и 1/10 раз та же проблема все еще сохранялась. Есть три разных пароля, которые необходимо отправить, и какой из них «проходит», а какой «эхо» в терминале и отклоняется, кажется случайным. Я не знаю, почему это происходит, но я подозреваю, что это имеет мало общего с Expect и фактическим сценарием.
По предложению @dirkt вы можете использовать матрицу трансформации для исправления ситуации.
Для начала, чтобы увидеть текущие настройки матрицы трансформации, вы можете выполнить:
xinput
#locate the device ids that do not work correctly
xinput list-props devid |grep Matrix
#replace devid with your device number.
Если все работает нормально, матрица должна выглядеть так:
1 0 0 0 1 0 0 0 1 #case normal
Если вы когда-нибудь захотите заставить мышь/экран быть перевернутыми, то вы должны применить матрицу следующим образом:
-1 0 1 0 -1 1 0 0 1 #case inverted
Я полагаю, что поскольку ваша мышь/экран работают в перевернутом виде, их xinput list-props |grep Matrix
должны выглядеть как "case inverted" вместо "case normal"
В этом случае, заставьте эти устройства использовать матрицу нормального регистра следующим образом:
xinput set-prop devicename Coordinate Transformation Matrix 1 0 0 0 1 0 0 0 0 1 #убедитесь, что используете точное имя устройства, как оно сообщается xinput
Теперь вы должны быть в порядке.
Я не знаю, по какой причине в ваших устройствах была применена неправильная матрица, но я думаю, что лучше написать в Kali о таком поведении.
Если экран инвертирован, то xrandr должно быть достаточно:
xrandr --output yourscreen --rotate normal
Если ваш экран сенсорный, то xrandr rotate недостаточно. Вам нужно применить правильную матрицу трансформации и на вашем сенсорном экране, чтобы касания воспринимались в правильном положении.
Вот как я решил эту проблему :Ввод xinput
, в вашу консоль будет выведен список таких входов:
? Virtual core pointer id=2 [master pointer (3)]
? ? Virtual core XTEST pointer id=4 [slave pointer (2)]
? ? USBest Technology SiS HID Touch Controller id=11 [slave pointer (2)]
? ? ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
? Virtual core keyboard id=3 [master keyboard (2)]
? Virtual core XTEST keyboard id=5 [slave keyboard (3)]
? Power Button id=6 [slave keyboard (3)]
? Asus Wireless Radio Control id=7 [slave keyboard (3)]
? Video Bus id=8 [slave keyboard (3)]
? Sleep Button id=9 [slave keyboard (3)]
? USB2.0 UVC HD Webcam id=10 [slave keyboard (3)]
? Asus WMI hotkeys id=12 [slave keyboard (3)]
? AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
(Ваш опыт может различаться в зависимости от устройства)
Обратите внимание, что id= #— это идентификатор устройства, которое вы на самом деле ищете.
Я не был уверен в том, какое устройство работает неправильно, поэтому я просмотрел каждое из них. Оказывается, устройство 11 тупило! Чтобы просмотреть свойства, введите:
xinput list-props 11
(Поскольку проблемным устройством было устройство с идентификатором = 11)
Введя это, вы увидите что-то вроде...
Device 'USBest Technology SiS HID Touch Controller':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): -1.000000, 0.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, -1.000000
libinput Calibration Matrix (276): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (277): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (259): 1, 0
libinput Send Events Mode Enabled (260): 0, 0
libinput Send Events Mode Enabled Default (261): 0, 0
Device Node (262): "/dev/input/event10"
Device Product ID (263): 1111, 4238
(Я пишу это после того, как исправил проблему, так что значения -1.000000 могли быть где-то еще )Эти значения «-1.000000» являются проблемой. Чтобы установить для них правильные значения, Я набрал:
xinput set-prop 11 "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1
Затем я перезагрузился, и все было хорошо!
Я не знаю, почему это все еще проблема. Он был зарегистрирован на bugs.kali.org более одного раза, и каждый из них помечен как закрытый с разрешением «не будет исправлено».