Автор Тема: Через терминалку Xrdp вместо букв б,ю,ж печатаются ?, /, $  (Прочитано 4842 раз)

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Доброе время суток!
Вхожу в терминалку с виндового тонкого клиента через стандартную программу mstsc.exe. Используется Xrdp, при работе с рабочим столом и другими приложениями внутри терминалки на клавиатуре вместо букв б,ю,ж печатаются ?, /, $.  Если на сервере работаю напрямую (не в терминальном режиме), под той же учеткой, что и входил в терминале, все нормально. Куда копаться? Xrdp? VNC-server? Xorg? или еще где-то?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 166
    • Домашняя страница
Доброе время суток!
Вхожу в терминалку с виндового тонкого клиента через стандартную программу mstsc.exe. Используется Xrdp, при работе с рабочим столом и другими приложениями внутри терминалки на клавиатуре вместо букв б,ю,ж печатаются ?, /, $.  Если на сервере работаю напрямую (не в терминальном режиме), под той же учеткой, что и входил в терминале, все нормально. Куда копаться? Xrdp? VNC-server? Xorg? или еще где-то?
Попробуйте войти под rdesktop, там этой проблемы быть не должно.
Андрей Черепанов (cas@)

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Попробуйте войти под rdesktop, там этой проблемы быть не должно.
Как я понимаю, rdesktop - линуксовый клиент терминалов. Зачем он мне? У меня все тонкие клиенты работают на Windows XP Embedded.


Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Попробуйте войти под rdesktop, там этой проблемы быть не должно.
Пробовал войти на сервере в rdesktop, открывается xrdp, залогинился, та же проблема, б,ю,ж, не печатаются. Надо искать, где собака зарыта: Xrdp, VNC-server, Xorg, xkb, или еще где-то.
В Убунте, похоже, схожая проблема.
Да, я этот топик видел, гуглил весь инет, решения не нашел.

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Запустил в шелле:
rdesktop -u vady localhost -k ru.fixed
залогинился, при нажатии:
на кнопку "б" в шелле выдает: WARNING: No translation for (keysum 0x2c, comma)
на "ю" - WARNING: No translation for (keysum 0x2e, period)
на "ж" - WARNING: No translation for (keysum 0x3b, semicolon)

Оффлайн kac

  • Участник
  • *
  • Сообщений: 55
Запусти в шелле:
rdesktop -u vady localhost -k ru

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Запусти в шелле:
rdesktop -u vady localhost -k ru
Запустил, ничего не изменилось - печатают ?/$ соответственно.

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Думаю, надо начинать с дебага каждого пакета. Как протестировать Xorg, нет ли там косяков с клавиатурой?

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Частично нашел решение: http://slax.org.ru/rus.html
Цитировать
setxkbmap -model pc104 -layout us,ru -variant winkeys
После этой команды отлично работают "б, ю, ж"
Но это надо делать каждый раз при каждом запуске терминала. Как проще настроить, чтобы это действовало у всех пользователей (юзеров у нас 70)?
« Последнее редактирование: 29.07.2012 09:19:13 от Vady »

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Частично нашел решение: http://slax.org.ru/rus.html
Цитировать
setxkbmap -model pc104 -layout us,ru, -variant winkeys
После этой команды отлично работают "б, ю, ж"
Но это надо делать каждый раз при каждом запуске терминала. Как проще настроить, чтобы это действовало у всех пользователей (юзеров у нас 70)?
А если через скрипт, положенный в /etc/rc.d попробовать ? Обозвать его типа rc.local и добавить туда #!/bin/sh
setxkbmap -model pc104 -layout us,ru, -variant winkeys
Файлу надо дать право на запуск:
chmod +x /etc/rc.d/rc.local

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
А если через скрипт, положенный в /etc/rc.d попробовать ? Обозвать его типа rc.local и добавить туда #!/bin/sh
setxkbmap -model pc104 -layout us,ru -variant winkeys
Файлу надо дать право на запуск:
chmod +x /etc/rc.d/rc.local
не помогает :(

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Может где-то в конфигах xrdp или иксов есть возможность указать настройку клавиатуры? Такое ощущение, что при подключении выбирается неправильный её тип. Не знаю, есть ли такая возможность, но может есть возможность как-нибудь передать с клиента setxkbmap -model pc104 -layout us,ru -variant winkeys...
PS С xrdp дела иметь не приходилось.

Оффлайн Vady

  • Участник
  • *
  • Сообщений: 106
Пробовал следующими способами:
1)
Цитировать
Добавил в /usr/share/alterator-x11/xorg.conf следующие строки:
Section "InputDevice"
   Identifier "Generic keyboard"
   Driver "keyboard"
   Option "CoreKeyboard"
   Option "XkbRules" "xfree86"
   Option "XkbModel" "pc104"
   Option "XkbLayout" "us,ru"
   Option "XkbVariant" ",winkeys"
EndSection"
2)
Цитировать
Создал в /etc/xdg/autostart/ файл setxkbmap.desktop со следующим содержимым:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=SetXkbMap
Type=Application
Exec=setxkbmap -model pc104 -layout us,ru -variant winkeys
Icon=altlinux
Terminal=false
StartupNotify=false
X-KDE-autostart-phase=1
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false
X-DBUS-Startup-type=none
Categories=Qt,System;
GenericName=SetXkbMap
GenericName[ru]=SetXkbMap
Comment=Fix Russian keyboard
Comment[ru]=Фиксатор русской клавиатуры
3)
Цитировать
В среде GNOME Система-Параметры-Запускаемые приложения прописал setxkbmap -model pc104 -layout us,ru -variant winkeys
4)
Цитировать
В файле /etc/xrdp/startwm.sh:

#!/bin/sh

export LANG=ru_RU.UTF-8
SESSIONS="startkde gnome-session startxfce4 xterm"

for WindowManager in $SESSIONS
do
   which $WindowManager
   if test $? -eq 0
   then
      echo "Starting $WindowManager"
      $WindowManager
      setxkbmap -model pc104 -layout us,ru -variant winkeys
      exit 0
   fi
done

exit 1
Ни один из вышеприведенных способов не помогает. Я уже в отчаянии...

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Второй способ вот так попробуйте:[Desktop Entry]
Type=Application
Exec=/bin/sh -c 'setxkbmap -model pc104 -layout us,ru -variant winkeys'
« Последнее редактирование: 31.07.2012 10:50:49 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)