NoMachine

提供: ArchWiki
ナビゲーションに移動 検索に移動

NoMachine はネットワーク越しにコンピュータのグラフィカルなデスクトップを操作することを可能にします。

バージョン 3.x までは、NoMachine は NX という名前で GPL で配布されていました。NX ライブラリを使用するソフトウェアとして FreeNXX2Go などが存在しますが、nxagent に組み込まれている2005年製の X サーバーを利用するため、新しいバージョンの X ライブラリでしかサポートされていない機能が使えません。アプリケーションによっては動作しないことがあります。

他のリモートデスクトップソリューション (例: TeamViewer) と異なり、NoMachine は接続を確立するのに中間サーバーを必要としません。

NoMachine バージョン 4 から、ソフトウェアはプロプライエタリとなり2つのエディションが存在します: Free と Enterprise です。Linux, MS Windows, OS X, Android, iOS のクライアントが利用できます。

フリーエディションでは既存の X ディスプレイに接続することができ、X ディスプレイが存在しない場合 (例: ヘッドレスサーバー)、NoMachine はデフォルトのデスクトップ環境で X サーバーを自動的に起動します。フリーエディションの主な制約としてサーバー上で実行できるリモートデスクトップセッションはひとつだけとなっています。

インストール

nomachineAUR パッケージをインストールしてください。

パッケージにはサーバーとクライアント両方の tarball が含まれています。ポストインストールスクリプトによってセットアップが行われるため pacman -Ql nomachine コマンドでは全てのファイルが確認できません。

NoMachine のファイルの多くは /usr/NX ディレクトリに保存されますが、例外として以下のファイルがあります:

/etc/NX
/etc/pam.d/nx
/usr/lib/systemd/system/nxserver.service
/usr/local/share/applications/NoMachine*.desktop
/usr/share/polkit-1/actions/org.freedesktop.pkexec.nomachine.policy

NoMachine Player によって作成されたファイルは以下のディレクトリに保存されます:

$HOME/.nx
$HOME/Documents/NoMachine

また、ポストインストールスクリプトは nx ユーザーを新しく作成します。

X2Go や FreeNX をインストールしたことがある場合、似たような名前のファイルが存在するので注意してください (例: /usr/bin/nx)。

サーバー側のコンピュータでは nxserver.service を起動・有効化してください。クライアント側では不要です。

使用方法

操作対象のコンピュータで systemd を使って nxserver.service起動有効化してください。または、デスクトップのメニューから GUI で起動することもできます: Internet > NoMachine > NoMachine Service

クライアント側では "Player" (Internet > NoMachine > NoMachine) を起動してください。利用可能な NoMachine サーバーが LAN 上に存在しないか検索されます。別のサブネットや WAN 上にマシンがある場合は、手動でマシンのホストネームや IP アドレスを入力できます。ログインするときはサーバー側のコンピュータと同じユーザー名・パスワードを使います。

トラブルシューティング

ヘッドレスサーバー

サーバー上で X サーバーが実行されていない場合、NoMachine は X サーバーを立ち上げて (DISPLAY :0)、/etc/X11/Xsession スクリプトを実行してデフォルトの DE を起動しようとします。しかしながら Arch Linux では Xsession スクリプトが存在しないため黒画面しか表示されません。

この問題を解決するには、/usr/NX/etc/node.cfgDefaultDesktopCommand キーを編集してください。例えば MATE デスクトップ環境の場合:

DefaultDesktopCommand "/usr/bin/mate-session"

既存の X セッションと別に NoMachine の X セッションを実行する

デフォルト設定では、NoMachie のフリーエディションは (X ディスプレイマネージャしか動作していなかった場合でも) リモートコンピュータで動作している既存の X セッションに直接クライアントを接続します。同じコンピュータを物理的なディスプレイで見ている人にはリモートで接続してきたユーザーが行っている操作しか見れません。

NoMachine の設定を変更することで特定の DISPLAY だけをチェックするようにすることで (例: DISPLAY :10)、(Arch Linux のデフォルトである) {ic|DISPLAY :0}} で動いている既存の X セッションを無視して新しい仮想セッションを起動させることができます。

/usr/NX/etc/node.cfgPhysicalDisplays キーを編集してください:

PhysicalDisplays :10

ディスプレイマネージャのデフォルトキーボードの問題

NoMachine がディスプレイマネージャに接続されてログインを試みたときにユーザー認証が失敗する場合、キーマップが異なっていることが原因の可能性があります。ユーザーのパスワードをテキストエディタなどに入力してからクリップボードにコピーして NoMachine セッションで貼り付けてください。

リモートデスクトップ環境にログインできたら、setxkb jp ('jp' は日本語キーボードです) を実行することでキーマッピングの問題は解決するはずです。

SSH による接続

NoMachine のフリーエディションでは SSH プロトコルを使ってコンピュータに接続することはできず、(デフォルトでは 4000 ポートを使用する) NX プロトコルしか使えません。

ファイアウォールのポートを開きたくない場合、クライアントとサーバーの間に SSH トンネルを作成して接続する方法があります:

クライアント側のコンピュータで以下を実行:

$ ssh -L 4000:localhost:4000 user@targetmachine

それから NoMachine Player を起動して NX プロトコルで localhost に接続してみてください。targetmachine にトンネル接続されてサーバーの localhost ポートの 4000 に転送されます。