Проблемы с раскладкой клавиатуры с NX от Mac OS X Lion до Ubuntu
У меня есть проблемы с искаженной картой ключей моего сеанса NX.
У меня Macbook Air под управлением OS X Lion. Я использую OpenNX, чтобы начать сеанс с сервером Ubuntu, на котором работает FreeNX. Тип сеанса - Gnome.
Моя раскладка клавиатуры очень отключена (например, w дает =, удаление дает ",", t дает w). Я старался:
xmodmap -pke > nxclient.xmodmap
на клиенте и,
xmodmap nxclient.xmodmap
на сервере, и я восстановил многие из моих ключей, но это все еще непригодно для использования. Я попробовал раскладки клавиатуры Gnome, но ни одна из них не сработала. Проблема также возникает с сеансом XFCE.
Буду признателен за любые советы. x2go работал на клиенте и сервере, используя Gnome без проблем. К сожалению, в настоящее время он не работает на Mac OS X Lion.
8 ответов
Я нашел удивительно простое решение: отключить сеанс X2Go и восстановить соединение. Это исправляет проблему с клавиатурой Mac для меня (которая, кажется, сохраняется за пределами OS X Lion).
Я хотел предоставить полное практическое решение. У меня была такая же проблема на некоторых машинах Fedora FC20. Это полное руководство, которое должно работать копирование и вставка.
username
ваше имя пользователя для удаленного подключения с помощью ssh к компьютеру, на котором вы хотите запустить x2go
на и machine
это имя хоста этой машины.
ПРИМЕЧАНИЕ. Если на целевой машине есть пользовательские сопоставления клавиш, они могут испортить x2go
, Чтобы это работало, мне нужно было сбросить раскладки клавиш и установить голый английский (США). Я использовал Международный английский (США) с клавишами Dead, и он не работал...
Был протестирован на Mac Book Pro в середине 2010, 2011 и 2013 гг. Похоже, что эта ошибка не распространяется на новые компьютеры Retina.
Создайте файл определения карты ключей, используя
xmodmap
на локальном компьютере (клиентском компьютере) XQuartz может понадобиться для того, чтобы эта команда была доступна. Также необходимо использоватьx2go
Кстати.xmodmap -pke > osx-keymap
Если
xmodmap
не найдено, что означает, что это не вPATH
, если вы установили XQuartz, команда должна быть помещена в/usr/X11/bin/xmodmap
поэтому вместо использования простоxmodmap
пройдите к нему полный путь.Добавить некоторые модификаторы в файл (как из ответа ato)
echo '! Now reset all the modifiers too ! clear shift clear lock clear control clear mod1 clear mod2 clear mod3 clear mod4 clear mod5 add shift = Shift_L Shift_R add lock = Caps_Lock add control = Control_L Control_R add mod1 = Alt_L Alt_R add mod2 = Meta_L Meta_R' >> osx-keymap
Загрузите файл на машину (
username
ваше имя пользователя для входа на машины. Измени это!)scp osx-keymap username@machine:~/.Xmodmap
Создайте скрипт на рабочем столе, который можно запустить, просто используя мышь, если клавиатура не работает
ssh username@machine <<"STR" echo '#/usr/bin/env bash xmodmap ~/.Xmodmap;'>~/Desktop/fix_keyboard.sh; chmod +x ~/Desktop/fix_keyboard.sh STR
Соединить с
x2go
, В основном это должно работать.
Если это все еще не работает, попробуйте:
- отключить и снова подключиться с
x2go
- нажми на
run_keyboard.sh
на рабочем столе с помощью мыши и выберите Run. - как и раньше, но затем отключите и снова подключите
x2go
- К сожалению, это не полное решение. Сообщается, что некоторые компьютеры не работают с ним
Добавьте это в конец вашего nxclient.xmodmap
создано xmodmap -pke
чтобы получить полезный макет:
!
! Now reset all the modifiers too
!
clear shift
clear lock
clear control
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5
add shift = Shift_L Shift_R
add lock = Caps_Lock
add control = Control_L Control_R
add mod1 = Alt_L Alt_R
add mod2 = Meta_L Meta_R
Этот ответ был дан @Simon в комментариях к вопросу и работает для меня (x2go / Xquartz):
На OSX делаем:
xmodmap -pke > keymap-x2go-osx.xmodmap
echo "xmodmap ~/keymap-x2go-osx.xmodmap" > x2go-xinit
редактировать keymap-x2go-osx.xmodmap
и добавьте модификатор reset из ответа @ato, затем скопируйте его в виртуальную машину:
scp keymap-x2go-osx.xmodmap -P your_port your_ip:/home/your_user/
scp x2go-xinit -P your_port your_ip:/home/your_user/.xinit
Вы можете просто исправить это, изменив один параметр в Xquarts. Исправить:
- Открыть Xquarts
- Перейти к настройкам
- Проверьте следование системной раскладке клавиатуры.
- Сделанный!
Попробуйте сменить свой Shell с tcsh на bash. Tcsh вызывает проблемы с клавиатурой.
То, что сработало для меня, собиралось в системное меню -> клавиатура -> вкладка Layouts -> модель клавиатуры -> apple -> Macintosh old. Однако есть проблемы. Я не могу использовать Control+C, Control+V или клавиши со стрелками. Если ваши клавиши со стрелками работают, я был бы признателен, если бы вы сказали мне, что ваши .nxs
варианты клавиатуры выглядят так.
У нас была такая же проблема, хотя мы запускали xfce, который похож на gnome2. Я только что нашел решение (под управлением Mac OSX 10.9.1):
- Загрузите новейший клиент x2go (4.0.1.3 на момент публикации)
- Настройте x2go-сессию на "автоматическое определение настроек клавиатуры"
- Подключитесь и поймите, что, например, табулятор работает только при дополнительном нажатии клавиши управления.
- Решение: отредактируйте сочетания клавиш в "~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" (на сервере) и удалите запись, для которой установлено значение "Super + Tab"
- Наслаждайтесь функциональной клавиатурой
Кредиты идут на goofrider.