Проблемы с раскладкой клавиатуры с NX от Mac OS X Lion до Ubuntu - PullRequest
12 голосов
/ 11 августа 2011

У меня есть проблемы с искаженной картой ключей моего сеанса 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.

Ответы [ 7 ]

3 голосов
/ 18 июня 2016

Я нашел удивительно простое решение: отключить сеанс X2Go и повторно подключиться.Это исправляет проблему с клавиатурой Mac (которая, похоже, сохраняется и после OS X Lion).

3 голосов
/ 07 февраля 2017

Я хотел предоставить полное практическое решение.У меня была такая же проблема на некоторых Fedora FC20 машинах.Это полное руководство, которое должно работать копирование и вставка.

username - ваше имя пользователя для удаленного подключения с помощью ssh к компьютеру, на котором нужно запустить x2go, а machine - имя хоста этого компьютера.

ПРИМЕЧАНИЕ : если у вас есть пользовательские сопоставления клавиш на целевой машине, они, как правило, путаются с x2go.Чтобы это работало, мне нужно было сбросить раскладки клавиш и установить английский (США) .Я использовал Международный английский (США) с мертвыми клавишами , и он не работал ...

Был протестирован на Mac Book Pro Середина 2010, 2011 и 2013Новые машины Retina, похоже, не подвержены этой ошибке.

  1. Создайте файл определения таблицы ключей, используя xmodmap на локальном компьютере (клиентском компьютере), XQuartz может понадобиться для того, чтобы эта команда была доступна.Кстати, необходимо также использовать x2go.

    xmodmap -pke > osx-keymap
    

    Если xmodmap не найдено, это означает, что его нет в PATH, если вы установили XQuartz, команда должна быть помещенав /usr/X11/bin/xmodmap, поэтому вместо использования xmodmap добавьте к нему полный путь.

  2. Добавьте некоторые модификаторы в файл (как в ответе 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
    
  3. Загрузить файл на машину (username - ваше имя пользователя для входа на машины. Измените его!)

    scp osx-keymap username@machine:~/.Xmodmap 
    
  4. Создайте сценарий на рабочем столе, который можно запустить, просто используя мышь, если клавиатура не работает

    ssh username@machine <<"STR"
    echo '#/usr/bin/env bash
    xmodmap ~/.Xmodmap;'>~/Desktop/fix_keyboard.sh; chmod +x ~/Desktop/fix_keyboard.sh
    STR
    
  5. Соединиться с x2go.В основном это должно работать.

Если это все еще не работает, попробуйте:

  • отключить и повторно подключиться с помощью x2go
  • нажмите наrun_keyboard.sh на рабочем столе с помощью мыши и выберите Запустите .
  • , как и раньше, но затем отсоедините и повторно подключите с помощью x2go
  • К сожалению, это не полное решение.Сообщается, что некоторые компьютеры не работают с ним
2 голосов
/ 11 октября 2013

Добавьте это в конец вашего 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
1 голос
/ 18 января 2017

Этот ответ был дан @Simon в комментариях к вопросу и работает для меня (x2go / Xquartz):

На OSX сделать:

xmodmap -pke > keymap-x2go-osx.xmodmap
echo "xmodmap ~/keymap-x2go-osx.xmodmap" > x2go-xinit

Редактировать keymap-x2go-osx.xmodmap и добавить сброс модификатора из ответа @ 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
0 голосов
/ 25 февраля 2015

Попробуй изменить свой Shell с tcsh на bash. Tcsh вызывает проблемы с клавиатурой.

0 голосов
/ 28 января 2014

У нас была такая же проблема, хотя при запуске 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 .

0 голосов
/ 12 декабря 2011

Что сработало для меня, так это переход в системное меню -> клавиатура -> вкладка Layouts -> модель клавиатуры -> apple -> Macintosh old. Однако есть проблемы. Я не могу использовать Control + C , Control + V или клавиши со стрелками. Если ваши клавиши со стрелками работают, я был бы признателен, если бы вы сказали мне, как выглядят параметры клавиатуры .nxs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...