概要
最近のコロナの騒ぎを受けて、弊社でもリモートワークが始まりました。 今まで社内では、macbookからデスクトップubuntuにsshでログインして作業していたんですが、異なるネットワークを介して接続したことはありませんでした。 弊社のネットワークはセキュリティを意識してか、vpn環境に入るとsshできず、rdpならできるという謎仕様なので、それならということでubuntuにxrdpサーバーを立ち上げてみました。 同様の記事は他にもたくさんあるのですが(例えばこことか)、あちこち情報が散らばってて設定に苦労したので、備忘録として残しておきます。
環境
- 繋ぐ方:macOS
- 繋がれる方:ubuntu mate 18.04
ubuntu側の設定
まずRDPをするのに必要なパッケージをインストールします。
sudo apt install xrdp xorg xorgxrdp
xorgxrdp
を入れるのを忘れていると、リモートログイン出来ても、その後ブラックスクリーンになるので注意します(ここでハマった)。
つぎに、ログイン後のカーソル周りの不具合を治すために、/etc/xrdp/xrdp.ini
でつぎの行を書き換えます。
書き換え前:
new_cursors=true
書き換え後:
new_cursors=false
さらに、~/.xsession
につぎのコマンドを書き加えます:
unset DBUS_SESSION_BUS_ADDRESS
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"
ibus-daemon -rdx
exec mate-session
ほかの方の記事では、/etc/xrdp/startwm.sh
に書き込んでいたのですが、こっちに落ち着きました。
また~/.xsessionrc
は空のままにしておきます。
最後に~/.zshrc
の下の方につぎを加えます。
export "LIBGL_ALWAYS_INDIRECT=1"
unset SESSION_MANAGER
正直何がなんだかわからないまま試行錯誤した結果、上記の設定でつなげるようになりました。
mac側の設定
まずmicrosoft remote desktop clientをインストールします。 App Storeからダウンロードしてください。
起動したら、新規のPCを追加し、
- PC name: ubuntuのipアドレス
- user account: ubuntuのユーザ名とパスワード
とします。 これで保存し、接続したらつなげるはずです。