63
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows10→Ubuntu 18.04のリモートデスクトップ接続メモ

Last updated at Posted at 2020-04-08

Linuxのデスクトップ画面を飛ばす方法には、他にもVNCがありますが、今回、敢えてリモートデスクトップ(RDP)を選択しました。Windows10→Ubuntu 18.04のRDP接続の設定方法はいろいろと見つかりますが、少々試行錯誤したこともあり、備忘録を残すことにします。

Ubuntu 18.04サーバをインストール

Ubuntuのデスクトップ画面を飛ばすなら、最初から、デスクトップ用のインストーラを使えば良さそうですが、敢えて、サーバを入れて、その後、デスクトップのパッケージをインストールすることにします。このような面倒な手順を踏む理由は、デスクトップをインストールすると、linux-generic-hwe-18.04というHWE kernelが入るのですが、このkernelではRDPを実現するxrdpがうまく機能しないためです。

Download Ubuntu ServerからUbuntu Server 18.04.4 LTSをダウンロードして、インストールします。インストール終了後、rebootします。

デスクトップパッケージをインストール

結構時間が掛かります。

# apt update
# apt install -y ubuntu-desktop
# reboot

画面の解像度を変更

デフォルトの画面解像度が800x600のため、作業用に少し大きめの解像度にします。

Setting → Devices → Displays
set-display-modify.png
わたしは解像度に1280x960を選択しました。

日本語環境の設定

デスクトップ画面の表示を英語から日本語に変更します。

Setting → Region & Language → Manage Installed Languages → Install / Remove Languages...
select-japanese-modify.png
上記で日本語をインストールし、ログインし直します。このログインし直しで、日本語の選択が可能になります。続いて、

Setting → Region & Language → Language
set-japanese-modify.png
上記で日本語を選択し、再度、ログインし直します。これで、日本語表示に変わります。この後、必要なら、ホームディレクトリにデフォルトで作成されたディレクトリを日本語に変更して下さい。

NetworkManagerの設定

以下のnetplanのファイルの内容を変更します。

/etc/netplan/50-cloud-init.yaml

    
    version: 2
    renderer: NetworkManager ← 追記

この後、rebootすることで、認識されているネットワークインターフェースの設定機能が現れますので、固定アドレスにするなどの設定がし易くなります。
set-network-modify.png

xrdpリモートデスクトップの設定

xrdpリモートデスクトップの設定に関しては以下の記事を参考にさせて頂きました。とても有益な情報ありがとうございます。

まず、xrdpパッケージをインストールします。

# apt install -y xrdp

続いて、上記記事の**「Ubuntu側の設定」**で説明されているように、リモートデスクトップ接続するユーザでUbuntuにログインして、以下を実行します。(u_setting.shg_setting.sh)

$ sh u_setting.sh
$ sh g_setting.sh

なお、上記記事で説明されているこれらシェルスクリプトの内容を念のため掲載します。

  • u_setting.sh
cat <<EOF > ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
EOF
  • g_setting.sh
sudo sed -e 's/^new_cursors=true/new_cursors=false/g' -i /etc/xrdp/xrdp.ini

cat <<EOF | \
sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla
[Netowrkmanager]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

sudo systemctl restart xrdp
sudo systemctl restart polkit

Windows10→Ubuntu 18.04にRDP接続

RDPを設定したUbuntuマシンのアドレスとユーザ名、パスワードを指定して接続します。なお、コンソールからログイン済み、または既にRDP接続している場合は、追加でRDP接続することはできません。

  • xrdpログイン画面

Windows10のリモートデスクトップ接続から当該のUbuntu 18.04マシンに繋ぐと、以下のxrdpログイン画面が表示されます。
login.png

  • ログイン後の画面
ubuntu-desktop.png
  • アクティビティを押下した時の画面
ubuntu-desktop2.png

最後に

昨今の情勢から、テレワークされる方が急増していると思います。現在、テレワークを実現するための製品が各社から出ていますが、取り敢えず、簡単に試してみたい方にはオープンソースのApache Guacamoleがあります。なかなかの優れもので、Guacamoleサーバが踏み台の役割を果たし、接続先のマシンがRDP、VNC、SSHのいずれかに対応する場合、接続することができます。アクセスログの取得やセキュリティの要をGuacamoleサーバに(ある程度)集約することができます。クライアントにはHTML5に対応したブラウザ(FirefoxやChrome等)だけあればよく、ブラウザ上に接続先のデスクトップ画面が表示されます。なお、商用サポートもあるそうです。

ただ、残念な点は、CTRLキーがブラウザのキーバインドとバッティングして、意図しない動作になることです。Emacs使いには辛いものがあります…

# 最後は、タイトルから脱線して、Guacamoleの話になりました…

なお、こちらの説明によると、2020.06.28にリリースされたv1.2.0から、リモートマシンのデータをクリップボードを介して手元のマシンに転送する際、Guacamoleの管理者権限で制限できるようになりました。更に、ファイル転送については、通常、無効に設定されていますが、必要に応じて、ダウンロードまたはアップロードを個別に有効にできるようになりました。これにより、データのカジュアルコピーを防止できるようになり、企業や組織でテレワークを手軽に実現する手段として、Guacamoleを現実的な選択肢に考えられるようになったと思います。

主な変更履歴

  • 2020.04.09
    「画面共有の設定」はVNCを使用する際に必要な作業であり、xrdpでリモートデスクトップ接続する場合は不要でしたので削除しました。失礼しました。
  • 2020.08.09
    Apache Guacamole v1.2.0で追加されたセキュリティ機能について、「最後に」に追記しました。
63
66
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
66

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?