SUSE LINUX Enterprise & openSUSE Community
สิงหาคม 23, 2017, 10:40:42 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: [Temporary Fixed] NX Client arrow keys screenshot mapping solution  (อ่าน 6850 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: มกราคม 23, 2013, 06:59:52 PM »


NX Client arrow keys screenshot mapping solution

Issue: Problem with keyboard mappings when i connect to a remote server using nxclient. NX Client session keyboards do not map keys Correctly in The arrow keys are not working, and the Up key thinks it is a PrntScr key and starts snapshot.

Our system:
Client: HP t610 Thin Client with ThinPro Image updated T6X42019 Rev. 1 (12 Dec 2012) ThinPro 4.2, Ubuntu 10.04.4 LTS, Additional "NX Client" software.

NX Server: Dell PowerEdge T110 SLED 11 SP2, x86

Software version:
FreeNX  (FreeNX Application and Thin Client Server)   v.0.7.2
NX         (Proxy System for X11)   v.3.4.0
nxclient  (NX Client)   v. 3.4.0     


Solution:

Step 1 [FreeNX NX Server]: Enable GNOME Assistive Technologies

Per user setting:

• Going into "Control Center" > "Personal" > "Assistive Technologies"
• Click "Enable assistive technologies"

All user setting:

Tip: Auto activate Assistive Technology

โค๊ด:
gconftool-2 --set "/desktop/gnome/interface/accessibility" --type boolean "True"


Step 2 [FreeNX NX Server]: Autostart to keys mapping

Per user setting:

Going it "Control Center" > "System" > "Startup Applications"

Note: Files created in a directory "~/.config/autostart/"


All user setting:

1. Create file startup application

e.g Depends on local operation system. To determine the keysym for your system key, run the xev or xmodemap -pke command.

โค๊ด:
vi NX-Keyboard-mapping.desktop

โค๊ด:
[Desktop Entry]
Type=Application
Exec=xmodmap -e 'keycode 198 = Up'
Hidden=false
X-GNOME-Autostart-enabled=true
Name[en_US]=NX-Keyboard-mapping
Name=NX-Keyboard-mapping
Comment[en_US]=Temporary fixed NX keyboard the Up/Down arrow is key code
Comment=Temporary fixed NX keyboard

Note: Manual mapping use xmodmap -e 'keycode 198 = Up' command.

2. Copy & Execute

โค๊ด:
cp NX-Keyboard-mapping.desktop /usr/share/gnome/autostart/

โค๊ด:
chmod 644  /usr/share/gnome/autostart/NX-Keyboard-mapping.desktop


3. Try to connect to NX server using nxclient.

Working and perfect.
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 20, 2013, 07:28:44 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #1 เมื่อ: กุมภาพันธ์ 07, 2013, 04:06:29 PM »


You also may use solution as below.

1. Local Keyboard Layout setting

ที่ HP Thin Client กำหนด Keyboard Layout เป็น Custom: Evdev-managed keyboard
Control Panel > Keyboard Layout


2. NX Terminal server setting

- Create keycodes file (example: Per user)

โค๊ด:
vi ~/.Xmodmap

keycode 107 = Print Sys_Req
keycode 78 = Scroll_Lock
keycode 127 = Pause Break
keycode 113 = Left
keycode 114 = Right
keycode 111 = Up
keycode 116 = Down
keycode 118 = Insert
keycode 110 = Home
keycode 112 = Prior
keycode 119 = Delete
keycode 115 = End
keycode 117 = Next


- Add gnome session startup

[Use GUI]
Computer > Control Center > Startup Applications

Name: 0NX-Keybaord-mapping
Command: xmodmap $HOME/.Xmodmap
Comment: NX Keyboard mapping

[หรือ]
โค๊ด:
vi $HOME/.config/autostart/0NX-Keyboard-mapping.desktop

โค๊ด:
[Desktop Entry]
Type=Application
Exec=xmodmap $HOME/.Xmodmap
Hidden=true
X-GNOME-Autostart-enabled=true
Name[en_US]=0NX-Keyboard-mapping
Name=0NX-Keyboard-mapping
Comment[en_US]=Temporary fixed NX keyboard the Up/Down arrow is key code
Comment=Temporary fixed NX keyboard

- Try to login again

> Click "OK" button into load .Xmodmap file.


Note:
- ดูคีย์แป้นพิมพ์ปัจจุบันด้วยคำสั่ง  "xmodmap -pk" ใน GNOME terminal
- รันคำสั่ง "xev" ใน GNOME terminal สำหรับตรวจสอบปุ่มคีย์บอร์ด หรือ key symbol ว่า map ถูกต้องไหม ใช้ในการเลือก Keyboard Layout ฝั่ง Local ให้ map กับ Remote เซิร์ฟเวอร์

Important:
หากมีการเปลียน Keyboard Layout Setting ที่ Local (Thin Client) หลังจาก Login NX ยูสเซอร์แล้ว keycode จะ map ผิด ต้อง manual รัน xmodmap $HOME/.Xmodmap จากนั้นให้ Logout แล้วเปลี่ยน Layout ที่ Local เป็น Evdev-managed keyboard เหมือนเดิมค่อย  Login

Work fine.
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 21, 2013, 01:34:24 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #2 เมื่อ: กุมภาพันธ์ 21, 2013, 01:55:16 PM »


Client side: HP t610 ThinPro 4.2 or Linux Ubuntu Desktop + NX Client for Linux (NoMachine Products)

Issue: I have connected locally and from a HP Thin client t610 (ThinPro 4.2, Ubuntu 10.04.4 LTS) to the FreeNX Open Source NX server and created a GNOME session. Everything works fine for the most part, except there are a few keys that are mapped wrong. Notably the arrow keys (Up, Down) and delete buttons do not work.
e.g The arrow key UP does a print screen.

Keycodes mapped worng:
  Print Screen/SysRq = keycode 107 (keysym 0xffff, delete)
  Scroll Lock = keycode 78 (keysym 0xff14, scroll_lock)
  Pause/Break = keycode 127 (keysym 0x0, no_symbol)
 
  Left Arrow = keycode 113 (keysym 0xffea, delete)
  Right Arrow = keycode 114 (keysym 0x0, nosymbol)
  Up Arrow = keycode 111 (keysym 0xff61, print)
  Down Arrow = keycode 116 (keysym 0xffec, super_r)
 
  Insert = keycode 118 (keysym 0x0, nosymbol)
  Home = keycode 110 (keysym 0xff13, pause)
  Page Up = keycode 112 (keysym 0xffaf, kp_divide)
  Delete = keycode 119 (keysym 0x0, nosymbol)
  End = keycode 115 (keysym ffeb, super_l)
  Page Down = keycode 117 (keysym 0xff67, menu)
 
  KeyPad / = keycode 106 (keysym 0xff63, insert)
  KeyPad Enter = keycode 104 (keysym <didn't write this one down>, down)


Solution: Edit file nxnode on server side (/usr/bin/nxnode)

Another problem is that the arrow keys do not work or have an unexpected action. The solution is to add the text
โค๊ด:
${client:+client=$client,}

in a line which contains:
โค๊ด:
${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}

insert the text with client above right after the text above. The line above is only part of whole line.

- Edit file nxnode

โค๊ด:
vi /usr/bin/nxnode

search: keymap:+keymap
โค๊ด:
...
cat << EOF > "$USER_FAKE_HOME/.nx/C-$sess_id/options"
${keyboard:+keyboard=$keyboard,}${kbtype:+kbtype=$kbtype,}${kbload:+kbload=$kbload,}${keymap:+keymap=$keymap,}${client:+client=$client,}${resize:+resize=$resize,}${CACHE}${IMAGES}${PACK}link=$link,nodelay=$nodelay,type=$realtype,cleanup=0,${ACCEPT}cookie=$proxy_cookie,id=$sess_id,samba=$samba,media=$media${sync:+,sync=$sync}${cups:+,cups=$cups}${keybd:+,keybd=$keybd}${aux:+,aux=$aux}${http:+,http=$http}${rdpcolors:+,rdpcolors=$rdpcolors}${rdpcache:+,rdpcache=$rdpcache}${fullscreen:+,fullscreen=1}${clipboard:+,clipboard=$clipboard}${menu:+,menu=$menu}:$display
EOF
...

- Restart NX server

โค๊ด:
nxserver --restart


Everything works fine.


Reference:
Google search keywords "nx disable arrow keys"
http://en.opensuse.org/SDB:FreeNX_server
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #3 เมื่อ: มกราคม 14, 2014, 11:27:45 AM »


อ้างถึง
Problem: The arrow key UP does a print screen.
On SLED 11 SP3, Everything works fine.
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.042 วินาที กับ 21 คำสั่ง (Pretty URLs adds 0.007s, 2q)