个人工具

UbuntuHelp:NomachineNX

来自Ubuntu中文

跳转至: 导航, 搜索

Beware that the following packages are not free but if you're facing problems with the freeNX packages, it may be a good solution: Setting up Nomachine NX packages on Ubuntu is now quite easy:

Server

  1. Launch Ubuntu desktop or the server edition and install ubuntu-desktop
     sudo aptitude install ubuntu-desktop 
     
  2. Download the Nomachine NX packages for Ubuntu (http://www.nomachine.com/download)
(versions as of 2010-01-22)
 wget http://64.34.161.181/download/3.4.0/Linux/nxclient_3.4.0-5_i386.deb
 wget http://64.34.161.181/download/3.4.0/Linux/nxnode_3.4.0-6_i386.deb
 wget http://64.34.161.181/download/3.4.0/Linux/FE/nxserver_3.4.0-8_i386.deb
 
  1. Install the packages in this order: client, node, server
  2. Import localhost key
     
     sudo cp /usr/NX/etc/keys/node.localhost.id_dsa.pub  \
         /tmp/node.localhost.id_dsa.pub.save 
     
 
 sudo /usr/NX/bin/nxnode --keyadd /tmp/node.localhost.id_dsa.pub.save 
 

(Caveat: Don't directly import the file /usr/NX/etc/keys/node.localhost.id_dsa.pub. First copy it, otherwise it will be deleted after the importation).

  1. Regenerate new SSH key for NX user as the default is common for all others
     sudo /usr/NX/bin/nxserver --keygen
     
  2. Change the owner of the nx user public key on the server
     sudo chown nx:root /usr/NX/home/nx/.ssh/authorized_keys2
     
    1. If you are going to use it with e.g. Amazon ec2, then NX's hard link between authorized_keys2 and the default.id_dsa.key will create problems when bundling AMIs.
       sudo cp /usr/NX/home/nx/.ssh/authorized_keys2 \
            /usr/NX/home/nx/.ssh/authorized_keys2.tmp
       
       sudo rm /usr/NX/home/nx/.ssh/authorized_keys2 
       
       sudo cp /usr/NX/home/nx/.ssh/authorized_keys2.tmp \
          /usr/NX/home/nx/.ssh/authorized_keys2
       
    2. Check that the name conforms to the filename given in the /etc/ssh/sshd_config file. With the default Ubuntu SSH setting this is not neccessary, but someone might have changed it to e.g.: authorized_keys
       -- sudo chmod 0644 /usr/NX/home/nx/.ssh/authorized_keys2 --
       
       -- sudo mv /usr/NX/home/nx/.ssh/authorized_keys2 \
          /usr/NX/home/nx/.ssh/authorized_keys --
       
  3. Editing SSH configuration:
     sudo vi /etc/ssh/sshd_config
     
    1. You will need to enable password login into SSH:
       PasswordAuthentication yes
       UsePam yes
       
    2. If you have restricted SSH with AllowUser you need to add nx to the list:
       AllowUser nx ''youruser'''
       
  4. It may be neccessary to remove a line in SSH's your known host file for your user on the server, or remove it all together(reset it):
      sudo rm /home/''youruser''/.ssh/known_hosts
     
  5. Restart services
     sudo /etc/init.d/ssh restart
     sudo /etc/init.d/nxserver restart
     
  6. Check if your user will work:
     sudo /usr/NX/bin/nxserver --usercheck ''youruser''
     

Client

  1. Install the client on your local machine.
  2. Start it either via Applications/Internet/NX Client for Linux/NX Connection Wizard or via cmd line;
      /usr/NX/bin/nxclient --wizard &
     
  3. Enter the hostname and so on till you get prompted for login.
  4. Enter your username and password.
  5. Import the new nx key by:
    1. Downloading the new DSA key from the server:
       scp ''SERVERNAME'':/usr/NX/share/keys/default.id_dsa.key \
           ''SERVERNAME''.id_dsa.key
       
    2. Then click on Configure..., then Key under General and then on Import.
    3. Find the file ''SERVERNAME''.id_dsa.key and click save, save then Ok.
  6. Login should now hopefully work....

References: