NX Client

Virt-Manager keymaps on OS X

I consider the following worth to be noted down:
  1. VNC servers use a specific keymap to decode the keystrokes received from a VNC client.
  2. KVM's/QEMU's built-in VNC server can be told what keymap to use via the -k commandline option.
  3. Libvirt has a recent bug which causes new VM's not to have a keymap specified in the VM's domain config (in the <graphics type='vnc' ... /> node) by default. The post suggests the use of virsh to fix this, but you can do it in virt-manager too. You cannot edit the VNC server settings of an existing VM, but you can remove the "Display VNC" component and re-add it again. And during adding a display you can specify the various settings (eg. keymap) of the VNC server.
  4. If the KVM is not started with a specific keymap, then using a Mac + NX Client to start virt-manager on a linux server will result in scrambled keyboard layout in the VM (ie. hitting an "f" will eg. print "1", etc.).

NX Client 3.3.0-6 on Mac OS X 10.5.x (Leopard) + an Ubuntu Jaunty FreeNX server and keyboard layouts

I'm not sure when it happened, but some time in the past (a year or so) I've lost the ability (or I've just forgotten how) to use my Hungarian keyboard layout while logging in to the Ubuntu Jaunty based FreeNX server at work from my home workstation that runs a Mac OS X Leopard with NX Client 3.3.0-6. Actually this was not much of a problem, because I mostly leave my work in the office and a lot of tools/services are available to coworkers even without logging in to the FreeNX server. A few minutes ago I accidentally stumbled on a two year old blog post that suggested to start X11 before the NX Client and things are supposed to work. Actually it's even more simple than that. Smiling To use a specific layout in your NX session, you've to switch to the given layout on your Mac before you start the NX Client. The blog post I referred to said that you've to start X11 before the NX Client. For me this seems not to be a requirement. The Gnome keyboard layout indicator applet in my NX session still says that it's using the USA layout, however pressing the keys reveals that it's using the Hungarian layout. The only problem is that once you're logged in, you cannot switch layouts. Even if you change layout on the Mac, the NX session keeps the one that you were using at the time of the login. So remember: the X11 application (in this case the NX Client) uses the layout that was set at the moment X11 started.

NX Client suspend+terminate window not appearing

If a screensaver locks your X session (let it be Gnome, KDE or whatever), then pressing the Alt+Ctrl+T combo (or Cmd+W on a Mac) won't bring up the usual window where you can suspend or terminate the current session. This window does not belong to the NX Client (that you run on your machine), it's launched on the server in your NX session. Thus it's also bound to the restrictions that a screensaver puts on your session. If the screensaver asks for a password, then you've to do it before you can suspend (aka. disconnect) your session.

Keyboard shortcuts for the Mac version of NX Client

This info is available at the NoMachine site too, but Mac OS X is not mentioned explicitly (you just have to input the right keywords into Google to find it). Smiling For Mac OS X one has to substitute the Command key for the Alt key in the official NoMachine shortcut list.

nxclient startup scripts for use with LTSP5

I've built my own nxclient start scripts for use with LTSP5 (Ubuntu) based on the startx script that is shipped with LTSP. The scripts assume that they are placed in /etc/ltsp/screen.d and they take use of my small fix-focus utility too.

How to fix the keyboard focus issue with nxclient in rootless mode

I bet you've already noticed the focusing issue with nxclient if you tried to use it in rootless mode, just by running with xinit. The problem occurs when you disconnect from the NX server and start nxclient again: the client does not get the keyboard focus no matter what.

Glitch between the FreeNX server and the Mac OS X variant of NoMachine's NX Client

You can freely download an NX client for Mac OS X from NoMachine's website. However this client is not fully compatible with the FreeNX package (which is actually based on the same sources as NoMachine's NX server). Sad You can successfully connect to a FreeNX server, but the keypresses are not transferred correctly (some garbage comes out on the FreeNX server instead of what you really pressed). I've found a workaround however it is a bit cumbersome:
  1. start clean, so neither the NX Client, nor X11 should be running
  2. start the NX Client, set up a session and start the connection (the NX Client will start X11)
  3. after a successful connection suspend the session (press the "x" in the top left corner of the window), but keep X11 running (this is important!)
  4. now reconnect to the suspended session and this time the keys will work correctly
This works both with the U.S. and with the Hungarian keyboard layout.

Connecting to a linux server to Xfce using FreeNX

If you've eg. Xubuntu on your server with Xfce as the default desktop environment, then it's not trivial how you can connect with FreeNX and use this desktop environment. In the nxclient enter the session configuration screen, set the "desktop" to "Unix" and "Custom", enter "Settings" and choose the "Run the following command" for the "Application", and enter this into the textbox: /usr/bin/xfce4-session. In the "Options" select the "New virtual desktop". Press OK and select in the "Display" section "Full screen". Now you're all set. Smiling

Installing FreeNX on Ubuntu Feisty

The process is well described on the Ubuntu FreeNX Wiki page, the only difference is that you have to use the following apt sources for Feisty:
#freenx packages
deb http://free.linux.hp.com/~brett/seveas/freenx feisty-seveas freenx
deb-src http://free.linux.hp.com/~brett/seveas/freenx feisty-seveas freenx

After the brief installation procedure (takes no more than 5 minutes) you can connect right away to your linux server. Smiling

Syndicate content