ksaitoの日記

日々試したことの覚え書き

FreeNXでWindowsからUbuntuを操作する

移転しました。

自動的にリダイレクトします。

WindowsリモートデスクトップのようにUbuntuをリモートから操作するのに便利なFreeNXを設定しました。
FreeNXでLinuxをリモート操作するにはにも記事がありますが、Xサーバより安定して動作も速いです。

ダウンロード

NX Free EditionのDebパッケージをダウンロードします。
ダウンロード時には、md5のハッシュを確認しましょう。

$ wget http://64.34.161.181/download/3.2.0/Linux/FE/nxserver_3.2.0-11_i386.deb
$ wget http://64.34.161.181/download/3.2.0/Linux/nxnode_3.2.0-8_i386.deb
$ wget http://64.34.161.181/download/3.2.0/Linux/nxclient_3.2.0-9_i386.deb
$ openssl md5 *.deb
MD5(nxclient_3.2.0-9_i386.deb)= 1ed46a71e7247d2420114b88db814473
MD5(nxnode_3.2.0-8_i386.deb)= b03eea368757cafe679d1d0bd1685968
MD5(nxserver_3.2.0-11_i386.deb)= 6b37cc5e99c8b8c594c0091c66f9c225
$

インストール

$ sudo dpkg -i nxclient_3.2.0-9_i386.deb
[sudo] password:
未選択パッケージ nxclient を選択しています。
(データベースを読み込んでいます ... 現在 111692 個のファイルとディレクトリがインストールされています。)
(nxclient_3.2.0-9_i386.deb から) nxclient を展開しています...
nxclient (3.2.0-9) を設定しています ...
Showing file: /usr/NX/share/documents/client/cups-info

 CUPS Printing Backend

 The NX Client set-up procedure detected that your "IPP CUPS" printing
 backend doesn't allow printing from the NX session. In order to have
 printing support in your NX system, you need to set proper permissions
 on the IPP backend. Please execute:

   chmod 755 /usr/lib/cups/backend/ipp

$ ls -l /usr/lib/cups/backend/ipp
 -rwx------ 1 root root 24040 2008-04-22 05:18 /usr/lib/cups/backend/ipp
$ sudo chmod 755 /usr/lib/cups/backend/ipp
$ sudo dpkg -i nxnode_3.2.0-8_i386.deb
未選択パッケージ nxnode を選択しています。
(データベースを読み込んでいます ... 現在 111859 個のファイルとディレクトリがインストールされています。)
(nxnode_3.2.0-8_i386.deb から) nxnode を展開しています...
nxnode (3.2.0-8) を設定しています ...
NX> 700 Starting: install node operation at: 月  6月 02 00:30:37 2008.
NX> 700 Autodetected system 'debian'.
NX> 700 Install log is '/usr/NX/var/log/install'.
NX> 700 Creating configuration in /usr/NX/etc/node.cfg.
NX> 700 Inspecting local CUPS environment.
NX> 700 Generating CUPS entries in: /usr/NX/etc/node.cfg.
NX> 700 Installation of version: 3.2.0-8 completed.
NX> 700 Bye.

$ sudo dpkg -i nxserver_3.2.0-11_i386.deb
未選択パッケージ nxserver を選択しています。
(データベースを読み込んでいます ... 現在 112056 個のファイルとディレクトリがインストールされています。)
(nxserver_3.2.0-11_i386.deb から) nxserver を展開しています...
nxserver (3.2.0-11) を設定しています ...
NX> 700 Installing: server at: 月  6月 02 00:31:07 2008.
NX> 700 Autodetected system: debian.
NX> 700 Install log is: /usr/NX/var/log/install.
NX> 700 Creating configuration file: /usr/NX/etc/server.cfg.
NX> 723 Cannot start NX statistics:
NX> 709 NX statistics are disabled for this server.
NX> 700 Version '3.2.0-11' installation completed.
NX> 700 Showing file: /usr/NX/share/documents/server/install-notices
... 省略 ...
$ 

クライアント側のインストールと設定

NX Clientのインストールは、インストーラの指示通りです。
起動すると、接続情報を設定します。
Hostにサーバ名、ポートにsshのポート、DesktopにUnix-GNOME、Displayに表示サイズを指定しOKボタンを押します。
ユーザIDとパスワードを入力すれば、デスクトップが表示されます。
表示や操作は、リモートデスクトップよりスムーズに感じます。
日本語入力は、この時点ではできません。

日本語入力

http://forum.ubuntulinux.jp/viewtopic.php?pid=1670#p1670:Ubuntuフォーラムにある通り、scim-bridgeを起動するように設定変更が必要です。

シェルの準備

下記のシェルを準備します。

$ cat /usr/NX/bin/GNOME.sh
#! /bin/bash

export LC_CTYPE=ja_JP.utf8
export XMODIFIERS=@im=SCIM
export QT_IM_MODULE=scim-bridge
export GTK_IM_MODULE=scim-bridge
export USE_XOPENIM=t
/usr/bin/scim -d &
/usr/bin/dbus-launch --exit-with-session gnome-session
$ ls -l /usr/NX/bin/GNOME.sh
 -rwxr-xr-x 1 root root 228 2008-06-02 23:01 /usr/NX/bin/GNOME.sh
$
シェルの組み込み

Gnome起動時に実行されるランチャーを準備したシェルに置き換えます。(コメントアウトがオリジナルです。)
これでscim-bridgeが実行されて日本語入力が可能になります。

$ grep Gnome /usr/NX/etc/node.cfg
#CommandStartGnome="/usr/bin/dbus-launch --exit-with-session gnome-session"
CommandStartGnome="/usr/NX/bin/GNOME.sh"