lost and found ( for me ? )

Fedora 16 : set up FreeNX server and connect to Linux machines from Windows through NX session


Here’s an explanation of how to set up FreeNX server on Fedora16.


[root@fc16 ~]# cat /etc/redhat-release
Fedora release 16 (Verne)

[root@fc16 ~]# uname -ri
3.2.1-3.fc16.i686.PAE i386

# /usr/libexec/nx/nxserver --list
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)

Windows7 ( FreeNX Client ) --- Fedora16 ( FreeNX Server )

[ install FreeNX Server ]

install FreeNX server via yum.
[root@fc16 ~]# yum install -y freenx-server

set up the FreeNX server
[root@fc16 ~]# nxsetup --install --setup-nomachine-key
Setting up /etc/nxserver ...done
Generating public/private dsa key pair.
Your identification has been saved in /etc/nxserver/users.id_dsa.
Your public key has been saved in /etc/nxserver/users.id_dsa.pub.
The key fingerprint is:

The key's randomart image is:

Setting up /var/lib/nxserver/db ...done
Setting up /var/log/nx/nxserver.log ...done
Adding user "nx" to group "utmp" ...done
Setting up known_hosts and authorized_keys2 ...done
Setting up permissions ...done
Setting up cups nxipp backend ...done

edit node.conf
[root@fc16 sessions]# egrep -v ^# /etc/nxserver/node.conf | egrep -v ^$
ENABLE_PASSDB_AUTHENTICATION="0"
ENABLE_SSH_AUTHENTICATION="1"
ENABLE_CLIPBOARD="both"
NX_LOG_LEVEL=4
COMMAND_START_GNOME="/usr/bin/gnome-session --session=gnome-fallback"


In my case , I can’t access to the Fedora with GNOME3 though NX session.
I can use GNOME3 when logging on the Fedora machine locally.
I changed “COMMAND_START_CNOME” option from “gnome-session” to “gnome-session --session=gnome=fallback”  to fallback to classic gnome style from GNOME3 style through NX session.

change COMMAND_START_GNOME option

from
COMMAND_START_GNOME=gnome-session

to
COMMAND_START_GNOME="/usr/bin/gnome-session --session=gnome-fallback"

You could find what kind of options you could specify as the  “--session=” option by checking /usr/share/gnome-session/sessions directory.
# ls /usr/share/gnome-session/sessions/
gdm-fallback.session  gdm-shell.session  gnome-fallback.session  gnome.session


In that case , I can use --session=gdm-fallback or gdm-shell or gnome-fallback or gnome.

start freenx-server
[root@fc16 ~]# systemctl start freenx-server.service

[root@fc16 ~]# systemctl status freenx-server.service
freenx-server.service - FreeNX Server
         Loaded: loaded (/lib/systemd/system/freenx-server.service; disabled)
         Active: active (exited) since Sat, 28 Jan 2012 16:59:02 +0900; 6s ago
        Process: 4729 ExecStart=/usr/libexec/nx/nxserver --start (code=exited, status=0/SUCCESS)
        Process: 4656 ExecStartPre=/usr/libexec/nx/nxserver --cleanup (code=exited, status=1/FAILURE)
         CGroup: name=systemd:/system/freenx-server.service

make .Xmodmap for keyboaad mapping settings.
# xmodmap -pke > /home/user/.Xmodmap
# chown user.user /home/user/.Xmodmap


edit .Xmodmap to correct the keyboard mappings.

change keycode 123:

from
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume

to
keycode 123 = backslash underscore

change keycode 133

from
keycode 133 = Super_L NoSymbol Super_L

to
keycode 133 = backslash bar backslash bar

You can check key codes by xev command.


[ NX client ]

Download NX client from http://www.nomachine.com/download.php.

launch NXClient and configure an NX session to access to the Fedora16 notebook like this:



edit the NX client configuration to use Japanese keyboard layout.

open *.nxs file with text editor
In my case , nxs files are stored under C:\Users\username\.nx\config folder.

add keyboard layout ( Fedora16 notebook.nxs )
<option key="Custom keyboard layout" value="jp" />

If your keyboard layout is still wrong even though you edited .Xmodmap file and nxs file ( NX client configuration) correctly , you might also check the keyboard layout of i-Bus settings via NX session.


To start freenx-server when booting the Fedora.
# systemctl enable freenx-server.service
ln -s '/lib/systemd/system/freenx-server.service' '/etc/systemd/system/multi-user.target.wants/freenx-server.service'

# /usr/libexec/nx/nxserver --list
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
NX> 127 Sessions list:

Server     Display Username        Remote IP       Session ID
------ ------- --------------- --------------- --------------------------------
127.0.0.1       2000    zzzz 192.168.11.5    zzzzzzzzzzzzzzzzzzzzzzzzz
NX> 999 Bye

3 comments:

  1. Thanx for writing this up. Unfortunately for me, freenx isn't working for me on Fedora 17 and i was hoping i might find the answer here. no luck.

    Any chance you ever got freenx configured on Fedora 17? For me, the new NoMachine Player just can't seem to connect to the server no matter what i try.

    ReplyDelete
    Replies
    1. Hi Ricardo,

      I've posted "how to configure FreeNX on Fedora 17 in my blog.
      In my environment , it works well.

      --
      how to install / set up Remote Desktop Free NX on Fedora 17 64bit
      http://lost-and-found-narihiro.blogspot.jp/2012/12/how-to-install-set-up-remote-desktop.html
      --

      Hope this helps.
      Thanks,

      Delete
    2. Thanx Shgehiro! I had a small additional problem to deal with but in the end it worked! (my client system is a Mac OS 10.8 system which requires me to use NoMachine Player and that had issues)

      Thanx for your help. Now i need to go figure out if I can get gnome-shell to work over a NX session! :)

      Delete

Note: Only a member of this blog may post a comment.