前置き
デスクトップ環境を遠隔から操作するアプリケーションのx2goの話です。
以前は FreeNX を使っていたのですが、新しく入れたLinux Mintの(Ubuntu)パッケージから消えていたので、代わりの物を探したところx2goを発見しました。
ここ とか ここ や、 公式ページに書かれているのを参考にしたら大体使えるのではないでしょうか。
WindowsやMacから操作できますが、操作される側はLinuxだけだと思います。
公式サイトには書いていますが、MacではXquartzをインストールしないといけません。
x2goの良い点
FreeNXもそうですが、作業を中断して再開できる点が良いです。X Window System だとログアウトしたらセッションが終わっていたような記憶があります。
それと、サーバー側の画面に作業の様子が表示されないという点も私にとっては必要でした。VNCは画面共有のアプリケーションなので、遠隔からの操作の様子が、PC側からも見えてしまいます。VNCでもデスクトップPCならモニタを消すなり、ノートPCなら画面を閉じるなりすれば良いとは思いますが、x2goは画面の描画も早いらしいのでx2goを使うことにしました。
また、FreeNXと違い、接続の流れがシンプルです。対象環境のユーザアカウントでSSH接続ですれば済みます。FreeNXは、FreeNXアカウントでログインした後、さらにサーバー内の対象環境のユーザーアカウントに接続するという流れだったと思います。他にも幾つか選べるオプションがあって最初に接続に成功するまでに時間がかかったような気がします。
接続設定
接続するとき、接続先の環境(ウィンドウマネージャー?)を選択するところがあります。Linux Mint のMATEを使っていいます。それはプルダウンの選択肢に含まれていないので、私は「その他」を選び「MATE」と記入して接続しています。
SSHの設定
まずポートも変えました。
また、SSHサーバーは基本的には鍵認証して接続しますが、LAN内からはパスワードで接続したかったので、以下のように /etc/ssh/sshd_config に以下のようにしました。
Match Address 127.0.0.1,localhost
PasswordAuthentication yes
Match Address 192.168.1.*
PasswordAuthentication yes
これでLAN内からアクセスするときはパスワードで大丈夫です。クライアント側の設定が鍵認証となっている場合は以下のようにSSH接続のたびにオプションを渡します(以下は一行です)。
shell> ssh -vvv user@192.168.1.10 -o PasswordAuthentication=yes -o PreferredAuthentications=password
実機を使う場合
リモートデスクトップするのではなく、実機を直接操作する場合、x2goは画面共有するわけではないので、リモートからの操作時のセッションを引き継げない。実機でも別のユーザーで実機にはログイン後x2goクライアントからセッションを引き継ぐようにしています。(引き継げないかと思っていたらWindowsのリモートデスクトップのような感じになっている?なっていた?そのうち確認します)