1

It broke after Mac Os software update, I think.

This problem is not uncommon, but I have not seen a solution that would work for me.

Keyboard mapping is completely screwed up - e.g. typing 'damn it' gives me '1cxngw'. All machines have QWERTY keyboards and are set up to use US.

[Client] Mac OS version: Version: 10.5.8, Build: 9L30
[Client] Kernel version
uname -a
Darwin <comp name> 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
[Client] FreeNX Client version: 3.4.0-8
[Client] MacPorts version: MacPorts 1.8.2
[Client] The X Windows System: XQuartz 2.5.0 (xorg-server 1.7.6)

[Server] OS: Ubuntu 9.04
[Server] Kernel: 
uname -a
Linux <comp.name> 2.6.28-18-generic #60-Ubuntu SMP <date> x86_64 GNU/Linux
[Server] Other info: please ask for it but do tell me how to query/look for it.

Thanks!

Fantomas
  • 389

1 Answers1

2

A solution that works with on Mac (10.6) login with an NoMashine-Client to an FreeNX-Server running on an Ubuntu (10.04).

  1. Read out your keyboard mapping from your OSX System

    Open X11 terminal and execute:

    xmodmap -pke > nxclient_mac.xmodmap
    
  2. Edit nxclient_mac.xmodmap to enable also also remapping of shift-,alt- and command-keys

    Add at the beginning of file:

    clear Shift
    clear Lock
    clear Control
    clear Mod1
    !clear Mod2
    !clear Mod3
    !clear Mod4
    !clear Mod5
    ...
    ...(following content of former nxclient_mac.xmodmap)
    

    Add at the end of file:

    ...(before content of former nxclient_mac.xmodmap)
    ...
    add Shift   = Shift_L Shift_R
    add Lock    = Caps_Lock
    add Control = Control_L Control_R
    add Mod1    = Alt_L Alt_R
    !add Mod2    = Mode_switch
    !add Mod3    = Num_Lock
    !add Mod4    =
    !add Mod5    =
    
  3. Copy the new file nxclient_mac.xmodmap to your home directory of your used user on server system

  4. Load the key mapping file on server system only when login with this user when using NX-Login

    Add this lines to your ".profile" file:

    if [ -n "$NXSESSIONID" ]; then
        /usr/bin/xmodmap ~/nxclient_mac.xmodmap
    fi
    
  5. Terminate former NX-session and login again with NX-client... now hopefully it works

joe
  • 103