Я не знаю то, что значения по умолчанию для SSH.EXE cygwin, но для openssh значение по умолчанию не должно включать передачу X11.
То значение по умолчанию может быть переопределено путем изменения файла конфигурации ssh клиента (например, ~/.ssh/config на поле unix/linux) или при помощи -X
опция на ssh командной строке - например. ssh -X remotehost gimp
Могла бы быть стоящая проверка, имеет ли cygwin SSH.exe то же значение по умолчанию и/или ту же или подобную опцию.
BTW, что происходит когда Вы ssh к полю Mint и затем выполненный gimp
из командной строки? если это не работает, попробовало еще раз с -X
.
Наконец, можно хотеть попробовать шпаклевку как ssh клиент на поле окон.
При выполнении этого в "режиме ASCII", он печатает восьмеричное представление ключа.
$ sudo showkey -a
Press any keys - Ctrl-D will terminate this program
a 97 0141 0x61
b 98 0142 0x62
c 99 0143 0x63
d 100 0144 0x64
e 101 0145 0x65
f 102 0146 0x66
g 103 0147 0x67
1 49 0061 0x31
2 50 0062 0x32
3 51 0063 0x33
^D 4 0004 0x04
3-й столбец является восьмеричным кодом.
выборка от showkey
страница справочника
Когда в 'ASCII' выводят режим, showkey печать к стандартному выводу десятичное, восьмеричное, и шестнадцатеричное значение (значения) нажатой клавиши, согласно он представляет контурную карту.
showkey
не имеет переключателя для этого, но вы всегда можете перенаправить вывод в другую программу для выполнения преобразования.
С помощью zsh
вы можете сделать это следующим образом:
stdbuf -oL showkey -s | while read line
do
if [[ "$line" =~ '^0x' ]]
then
for code in ${(z)line}
do
printf "0%o " $code
done
echo
else
echo $line
fi
done
stdbuf
является частью GNU coreutils и может использоваться для изменения операций буферизации в стандартных потоках. Вызывается с помощью -oL
, он настраивает stdout на строчную буферизацию. Это необходимо сделать для того, чтобы выходные данные команды showkey -s
проходили сразу же по конвейеру построчно. В противном случае вывод будет передаваться только при заполнении буфера (обычно несколько килобайт) или выходе из программы.
Выходные данные передаются по конвейеру в цикл while
, который считывает каждую строку в переменную строку
, пока конвейер не закроется.Если строка
начинается с 0x
(соответствует регулярному выражению '^ 0x'), каждое шестнадцатеричное число ( $ {(z) param}
разбивает строку на слова, такие как zsh разделит командную строку) преобразуется в восьмеричное (на самом деле шестнадцатеричное число неявно преобразуется оболочкой в десятичное, а затем форматируется как восьмеричное с помощью printf
). Если строка
не начинается с 0x
, распечатайте ее как есть.
Вы также можете использовать perl
:
stdbuf -oL showkey -s | perl -e '
while(<STDIN>){
if(/^0x/){
printf "0%o ", hex($_) for split;
print $/;
} else {
print
}
}'
Применяется тот же принцип.
ascii
- код, но не скэн-код. Из showkey страницы справочника:showkey prints to standard output either the scan codes or the keycode or the ascii code of each key pressed.
– student 27.10.2013, 08:21