Ubuntu Weekly Recipe

第98回FreeNXでリモート・デスクトップ環境を実現する

FreeNXをUbuntuにインストールすれば、UbuntuやWindows、Mac OSXがインストールされた他のマシンからUbuntuのデスクトップが利用できるようになります。VNCなど、他にもリモート・デスクトップを実現するソフトウェアはありますが、FreeNXの特徴は低速な回線でも快適に利用できることです。また、セキュリティを重視した仕組みであるため、インターネット経由で使うようセットアップするのも簡単です。今回はFreeNXのインストールから使い方までを解説します。

インストール前の準備

FreeNXをインストールする前に、SSHサーバをセットアップしておく必要があります。インストールしていなければ、端末を開いて以下のコマンドを実行しましょう。

sudo apt-get install openssh-server

インターネット経由で接続するのであれば、アタック対策としてfail2banパッケージをインストールしておくのも良いでしょう。

また、DHCPサーバからIPアドレスを取得している場合は、固定のものを設定しておいたほうが良いでしょう。IPアドレスを固定にするにはを参考に固定のIPアドレスを設定してください。

なお、FreeNXで接続するUbuntuマシンにはデスクトップ環境が必要です。UbuntuのDesktop CDでインストールした環境ならば問題ないでしょう。デスクトップ環境がインストールされていない場合は、インストールしておきます。⁠ubuntu-desktop」パッケージをインストールするのが簡単でしょう。

FreeNXのPPAを追加する

FreeNXのパッケージは、Personal Package Archive(PPA)で提供されています。FreeNXのPPAページを参照し、レポジトリを追加しましょう。

9.10の場合

先月(2009年10月)にリリースされたUbuntu 9.10より、PPAのレポジトリが簡単に追加できるようになりました。FreeNXのPPAを追加するには、端末を開いて以下のコマンドを実行します。

sudo add-apt-repository ppa:freenx-team

これで、リポジトリと公開鍵の追加が行われます。続けて、以下のコマンドでパッケージ情報をアップデートしておきましょう。

sudo apt-get update

9.04以前の場合

9.04以前の場合は、少し複雑になります。FreeNXのPPAページにある「Technical details about this PPA」をクリックし、現れたドロップダウンボックスから該当するUbuntuのバージョンを選択してください。すると、以下のような行が表示されます。

deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu VERSION main
deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu VERSION main

「VERSION」は、選択したUbuntuのバージョンに対応したコードネーム(たとえば、8.04なら「hardy⁠⁠)となっているはずです。この2行を、/etc/apt/sources.listに追記します。

さらに、端末で以下のコマンドを実行してFreeNXのPPAで使われている公開鍵を登録しておきましょう。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D018A4CE

最後に、以下のコマンドでパッケージ情報をアップデートしましょう。

sudo apt-get update

FreeNXをインストールする

PPAを追加したら、FreeNXのインストールしましょう。以下のコマンドを実行するだけです。基本的な設定は自動で行われます。

sudo apt-get install freenx

NXクライアントをインストールする

FreeNXサーバに接続するためのクライアントアプリケーションとして、イタリアのNoMachines社が無償で配布している「NX Client」を利用することができます[1]⁠。ダウンロードページで、クライアントのOSに応じたNX Clientをダウンロードしましょう。

Windowsの場合は、ダウンロードページにある「NX Client for Windows」として配布されているファイルをダウンロード、実行します。セットアップ・ウィザードが起動するので、通常はデフォルト設定のままインストールすれば完了です。なお、Add-On Downloadsとしてフォントを追加するプログラムが提供されていますが、古いUnixアプリケーションを使うのでなければ必要ないでしょう。

Ubuntuの場合は、ダウンロードページ「NX Client DEB for Linux - i386 ⁠⁠32bit版)もしくは「NX Client DEB for Linux - x86_64」⁠64bit版)をダウンロードしましょう。ダウンロードしたパッケージをインストールすれば、メニューの「アプリケーション⁠⁠→⁠NX Client for Linux⁠⁠→⁠NX Client for Linux」で起動することができます。

FreeNXサーバに接続する

NX Clientを起動すると、⁠NX Connection Wizard」が起動します。セッションの名前(接続先のホスト名などがいいでしょう⁠⁠、FreeNXをインストールしたPCのIPアドレス、サーバとの接続の種類を設定します。

図1 
図1

次の画面では、⁠Unix」「Gnome」を選択しておきます。また、⁠Available area」のままだとウィンドウが画面いっぱいに広がるため、好みに応じて変更してもいいでしょう。

図2 
図2

ウィザードが終了すると、ログインダイアログが表示されます。FreeNXをインストールしたUbuntuマシンに登録されているユーザでログインしましょう。なお、⁠Configure」をクリックすれば、ウィザードで設定した項目のほか、さまざまな設定を行うことができます。

図3 
図3

ログインに成功すれば、Ubuntuのデスクトップが表示されます。

図4 
図4

日本語入力を行うには

普通にセットアップするだけでは、FreeNXでログインしたデスクトップで日本語が入力できません。日本語入力を使えるようにするには、以下の設定が必要です。

iBusを使う

Ubuntu 9.10から標準となったiBusを使って日本語入力を行うことができます。ただし、筆者が試した限りではiBusのツールバーが表示されませんでした。日本語の入力自体は問題なく可能です。

まず、以下の内容で/usr/NX/bin/GNOME-iBus.shを作成します。

#!/bin/bash

export LC_CTYPE=ja_JP.utf8
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
export GTK_IM_MODULE=ibus
export USE_XOPENIM=t
/usr/bin/ibus-daemon --xim &
/usr/bin/nx-session-launcher-suid gnome-session

次に、以下の内容で/etc/nxserver/node.conf.d/10ibusを作成します。

COMMAND_START_GNOME='/usr/NX/bin/GNOME-iBus.sh'

その後、NX Clientでログインしなおせば日本語入力ができるはずです。

SCIMを使う

Ubuntu 9.04までの標準だったSCIMを使うこともできます。こちらを使えばツールバーも表示されます。SCIMがインストールされていない場合は、少なくとも以下のパッケージをインストールしておく必要があります。

sudo apt-get install scim-anthy scim-bridge-client-gtk

iBusの場合と同様に、ファイルを作成する必要があります。以下の内容で/usr/NX/bin/GNOME-SCIM.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/nx-session-launcher-suid gnome-session

さらに、/etc/nxserver/node.conf.d/10scimを以下の内容で作成します。

COMMAND_START_GNOME='/usr/NX/bin/GNOME-SCIM.sh'

これでログインしなおせば、SCIMを使った日本語入力ができるようになります。

セッションの保存

UbuntuデスクトップからログオフすればNX Clientは終了しますが、FreeNXサーバにデスクトップ・セッションの状態を残したままNX Clientを閉じることもできます。ウィンドウの×ボタンをクリックし、表示されたダイアログで「Disconnect」を選択してください。次に接続したときには、終了したときの状態のデスクトップが表示され、作業を継続することができます。設定さえ同じならばクライアントPCを切り替えても接続可能なので、会社のPCでDisconnectし、自宅のPCからそのセッションに接続する、といったこともできます。

おすすめ記事

記事・ニュース一覧