Gnome環境からWindowsマシンへリモートデスクトップする

まぁ、在宅勤務が8ヵ月目突入ということで毎日ノートPC+外付けディスプレイで2画面接続をしているのですが、その際のメモ。
今回は、CentOS8 + Gnome3でvinagreによるRDP接続ではなく、xfreerdpとzenityでなんとなくCLIを使用しない方法を作成してみます。

まずは、コマンドラインでxfreerdpによる接続を。すでにGnomeなどのWMでログインしていれば、VPN接続後などにTerminalを開いて下記コマンドをコピペで、リモートのWindowsマシンへ接続できますね。

$ xfreerdp /bpp:16 /multimon /u:ユーザー名 /p:パスワード /v:WindowsマシンIP:3389 +fonts +window-drag

まぁ、Terminalが開きっぱなしになっちゃいますので、ちょっとbashの簡単なスクリプト + zenityによるなんちゃってGUIを作成してみます。

#!/bin/bash

RDP_IP="10.1.2.3"  # リモート接続先のWindowsマシンIPアドレス
Port="3389"

OUTPUT=$(zenity --title="RDP Office" \
    --username --password )
OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
    echo "something went wrong"
    exit 1
fi
Blank=""
Username=$(cut -d'|' -f1 <<<$OUTPUT)
Password=$(cut -d'|' -f2 <<<$OUTPUT)


xfreerdp /bpp:16 /multimon /u:${Username} /p:${Password} /v:${RDP_IP}:${Port} +fonts +window-drag &
Password=""

chmod +x ファイル名 を忘れずに。
また、アプリとして起動したければ、下記のようなファイルを作成してみます。

[/home/<USERNAME>/.local/share/applications/rdp_office]

[Desktop Entry]
Encoding=UTF-8
Name=RDP for Office
Exec='rdp_office'
Icon=/usr/share/icons/Adwaita/256x256/devices/computer.png
Categories=Application;
Version=0.1
Type=Application

(編集後、X11をディスプレイマネージャとして使用しているならば、Alt+F2を押して、rを入力後Enterしてください。)

今回rdp_officeという名前で登録したので、アプリケーションの一覧から起動すれば、下記のようなダイアログが出るはずです。

ユーザー名、パスワードを入れてあげればリモートデスクトップとして接続できるはずです。

普段使用しているbashスクリプトが簡単にGUIへ適応できるのはなかなか面白いですね。。