2022年8月29日月曜日

ParallelsClientを用いてLinuxのデスクトップをxrdpでmacOSから遠隔操作(追記あり)

 macOSからwindowsを遠隔操作する際は,Parallels Crientを使うとスピードの面でもキーボード配列の面でも良いので使っていました。

一方でmacOSからlinuxに繋ぐときは,XDMCPやVNCを使っています。

しかし,終了の仕方,起動の仕方にノウハウがありちょこちょこ変なことが起こったりするので,どうにかならないかと思っていました。


最近,xrpdについての記事をちょこちょこ見かけるようになったので,もしかしたらlinuxサーバもrdpを使うとmacから操作できるのではないかと思い,やってみました。


とりあえず私の環境は,古いのですがLinuxのサーバ側はScientificLinux7.9で,クライアントはmacOS BigSur。Montereyでも試しましたがほとんど一緒でした。

Linux側は多分CentOSでも一緒で,RedHat系のディストリビューションならきっとどれも同じでしょう。

Linux側へのxrdpのインストールは色々なところに情報がありますが,vncサーバのインストールも必要なようです。私は元々tigervncを入れてあったのでそこは意識することはありませんでした。


あとは,systemctlでxrdpを起動すれば何もせず接続できました。

# systemctl start xrdp

もし自動起動させたければ,

# systemctl enable xrdp


macからの接続は,Parallels Clientを起動し,新規接続から,標準RDPを選びます。

特に設定する項目はなく,サーバーのところにLinux側のIPアドレスを入れるだけでオッケー。
フレンドリ名は自分が見分けられる単純な名前にすれば良いようです。

ここまでの設定が済むと,そのまま接続すると認証エラーという画面が出てちょっと気分が悪いです。
これはおそらく接続する時にユーザ名とパスワード情報を同時に送信しているからだと思います。
これをログイン画面と解釈してLinux側のユーザ名とログイン名を入れれば何の問題もなくLinux側へログインができます。
認証エラーと言われることがあまり気持ち良くないのであれば,Parallels Client側の詳細設定でユーザ名とパスワードをあらかじめ入れておけばオッケーです。
ParallelsClientのトップ画面で,先程設定した接続を右クリックすると(私はすでにいくつか接続を設定してしまっていますが)
『自動ログイン』にチェックを入れていなくても私の場合上記の認証エラー画面がでます。
ここでLinux側のユーザ名とパスワードをあらかじめ入れておけば認証エラー画面が出ずに,そのままLinux側の画面が出ます。

ここで表示されるデスクトップは,ディストリビューションデフォルトのもので,デスクトップマネージャーのようなものが表示されないので,sessionを選択することなどができませんが,おそらく設定でどうにかできるとは思いますが,それはまた今後。

2022/08/31追記
バージョン19から新規接続の画面が以下のように変わり,デフォルトの設定だとなぜか接続できなくなります。
いくつか試した結果,デフォルトだとRetinaディスプレイのとんでもない解像度で接続に行ってしまいエラーになるようですので,接続前にディスプレイの解像度をたとえば1920x1080などに変えておくとエラーなく接続できるようです。

まず,新規接続は以下の画面でIPアドレスを入れるのではなく,左下にある『代替RDP接続を作成』から進みます。

すると以下の画面になるのでここでLinuxサーバ側のIPアドレスを入れます。
フレンドリ名は多分なんでもいいと思います。


詳細設定画面で,以下のように解像度をおさえめにするとうまく接続できるようです。