{"id":49,"date":"2010-10-17T20:24:02","date_gmt":"2010-10-18T01:24:02","guid":{"rendered":"http:\/\/mtu.net\/~jpschewe\/blog\/?p=49"},"modified":"2010-10-17T20:24:02","modified_gmt":"2010-10-18T01:24:02","slug":"setting-up-neatx","status":"publish","type":"post","link":"https:\/\/mtu.net\/~jpschewe\/blog\/2010\/10\/setting-up-neatx\/","title":{"rendered":"Setting up Neatx"},"content":{"rendered":"<p>I&#8217;ve been using the free version of the NX server from <a title=\"nomachine\" href=\"http:\/\/nomachine.com\">nomachine<\/a> to access my Linux hosts\u00a0and it&#8217;s been working really well. I&#8217;ve set it up at work to allowed shared access to our compute server, however we&#8217;ve run into an issue here. The free version limits how many people can use the server. Now we really don&#8217;t need the support and this isn&#8217;t like a big production shop where we need a rock solid version, so I started looking for open source alternatives. I found FreeNX, but development there seems to have paused for now. I then found <a href=\"http:\/\/code.google.com\/p\/neatx\/\">Neatx<\/a>. It&#8217;s hosted on google code and appears to be a little rough around the edges, but people claim it works.<\/p>\n<p>There isn&#8217;t an installer, but I&#8217;m a developer, so I figured this shouldn&#8217;t be too bad. Turns out that after about 2 hours this evening I was able to get it going. Here are the steps that I followed. Note that I&#8217;m doing this on opensuse 11.3. The instructions should work elsewhere though.<\/p>\n<ol>\n<li>Install nxclient, nxnode, and nxserver from nomachine&#8217;s website. I grabbed the RPMs for opensuse and they installed just fine. I had originally done this because these were the binaries I was using, as it turns out I need some libraries from there for neatx to run properly.<\/li>\n<li>Copy the libraries off to the side to use later. If someone knows how to get around this step, I&#8217;d be very happy.\n<ul>\n<li>sudo cp -r \/usr\/NX\/lib \/usr\/local\/nx-lib<\/li>\n<\/ul>\n<\/li>\n<li>Remove nxclient, nxnode, and nxserver. We don&#8217;t need them now.<\/li>\n<li>mkdir nx<\/li>\n<li>cd nx<\/li>\n<li>Download the following source files from <a href=\"http:\/\/nomachine.com\/sources\">nomac\ufeffhine&#8217;s opensource site<\/a>. My downloads were version 3.4.0, but there may be a newer version out when you read this.\n<ul>\n<li>nxagent-3.4.0-11.tar.gz<\/li>\n<li>nxauth-3.4.0-3.tar.gz<\/li>\n<li>nxcomp-3.4.0-7.tar.gz<\/li>\n<li>nxcompext-3.4.0-1.tar.gz<\/li>\n<li>nxcompshad-3.4.0-3.tar.gz<\/li>\n<li>nxproxy-3.4.0-2.tar.gz<\/li>\n<li>nx-X11-3.4.0-4.tar.gz<\/li>\n<\/ul>\n<\/li>\n<li>Untar the sources: for i in *.tar.gz; do tar -xzf $i; done<\/li>\n<li>cd nx-X11<\/li>\n<li>make World<\/li>\n<li>sudo cp programs\/Xserver\/nxagent \/usr\/local\/bin\/nxagent.real<\/li>\n<li>Now here is where we use the libraries. I tried finding all of the libraries in the sources that I built, but they weren&#8217;t enough, something was still missing. So you need to create \/usr\/local\/bin\/nxagent as a script with the following content:\n<ul>\n<li>#!\/bin\/bash<\/li>\n<li>export LD_LIBRARY_PATH=\/usr\/local\/nx-lib<\/li>\n<li>exec \/usr\/local\/bin\/nxagent.real &#8220;$@&#8221;<\/li>\n<\/ul>\n<\/li>\n<li>Download neatx from svn. Note that there aren&#8217;t any packages when I did this.\n<ul>\n<li>svn co http:\/\/neatx.googlecode.com\/svn\/trunk\/neatx neatx-read-only<\/li>\n<\/ul>\n<\/li>\n<li>Follow the instructions in neatx-read-only\/neatx\/INSTALL<\/li>\n<li>Fix the instructions on nx&#8217;s home dir\n<ul>\n<li>sudo chown -R nx ~nx<\/li>\n<\/ul>\n<\/li>\n<li>Edit \/usr\/local\/etc\/neatx.conf to match your system. Some paths will likely need to be changed.<\/li>\n<\/ol>\n<p>You should now have neatx setup. Connect to it from any NX client and give it a try. The default neatx.conf has the loglevel set to debug. Leave this on until you&#8217;ve successfully connected, then change it to info to keep your logs from getting real full. I spent a lot of time looking through the output of the debug logs for errors in my setup. Neatx is written in python, although you don&#8217;t need to know the language to be able to debug most of the errors.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been using the free version of the NX server from nomachine to access my Linux hosts\u00a0and it&#8217;s been working really well. I&#8217;ve set it up at work to allowed shared access to our compute server, however we&#8217;ve run into an issue here. The free version limits how many people can use the server. Now &hellip; <a href=\"https:\/\/mtu.net\/~jpschewe\/blog\/2010\/10\/setting-up-neatx\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Setting up Neatx<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-tech-tips"],"_links":{"self":[{"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":1,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/posts\/49\/revisions"}],"predecessor-version":[{"id":50,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/posts\/49\/revisions\/50"}],"wp:attachment":[{"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mtu.net\/~jpschewe\/blog\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}