Windows環境、macOS環境に続いて、Linux (Ubuntu) から ACRi ルームのサーバに接続する方法を紹介します。コマンドラインで操作する場合には macOS 環境 と同様にターミナルから ssh を使ってログインして利用してください。Vivado を GUI で操作する場合にはリモートデスクトップ接続をしなければなりません。この記事では、Linuxで利用できるリモートデスクトップ接続クライアントである Remmina をインストールして ACRi ルームにアクセスしてみます。
Remminaのインストール
Ubuntu に Remmina をインストールするには Remmina のインストール手順に従うのが楽です。具体的な手順は次の通りです。
$ sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
$ sudo apt update
$ sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret
これで Remmina を使えるようになります。
ポートフォワーディング
リモートデスクトップ接続をするにあたって、ssh のポートフォワーディングを使って、ゲートウェイサーバを通してローカル PC の13389番ポートから FPGA 利用環境のあるサーバの3389番ポートへの通信路を設定します。
$ ssh -f -N -L 13389:利用するサーバー:3389 ユーザ名@gw.acri.c.titech.ac.jp
利用するサーバーの部分は vs001 や as001 のようなアクセスするサーバー名で置き換えてください。
まれに、ローカル PC の13389番ポートが他のプログラムで使用されている場合があります。既にポートが使用中であるかどうかは、以下のコマンドで確認できます。
$ netstat -an | grep 13389
このコマンドで何も出力されない場合には、ローカル PC の13389番ポートは空いています。もし何か表示された場合には、他の適当なポート番号 (例えば13390番のように) を使用してください。この場合、以降の説明でポート番号 (13389) が出てきたら、使用した番号で読み替えてください。
Remminaで接続(初回)
Remmina は、ターミナルから remmina と入力するか スタートメニューから remmina を選択して起動します。起動すると次のような管理ウィンドウが開きます。

左上のアイコン(四角に+のマーク)をクリックすると、次のような接続先の設定ができます。

ここで大事なのは、Name 、Server、Resolutionの3箇所です。
Name には、接続先の設定名を入力します。管理ウィンドウに表示されるのでわかりやすい名前をつけましょう。ここでは接続先と同じ localhost:13389 と入力しています。
Server には、接続先です。接続先はサーバーのリモートデスクトップサーバーにポートフォワーディングで接続したローカルポートの localhost:13389 を入力します。
Resolution は解像度です。ここは Customで設定するのがよいです。次のように、Customのラジオボタンにチェックをいれてリストから解像度を選択します。

好みの解像度がなければ、解像度リストの右にある … のボタンをクリックして好きな解像度を登録することができます。「+」ボタンでエントリを追加します。

下の画像が Name、Server、Resolutionを設定したところです。設定が終わったら Save and Connect をクリックして、設定を保存して接続します。

接続すると、次のようにサーバーのログインウィンドウが表示されます。パスワードを入力してログインしてください。

Remminaでの接続(二回目以降)
二回目以降は Remmina を起動して表示される管理ウィンドウで設定された接続情報をクリックして接続できます。

ポートフォワーディングも Remmina に任せる
Remmina の SSH トンネル機能を利用すると、あらかじめ ssh コマンドを使ってポートフォワーディングする必要がなくなって便利です。
SSH トンネル機能を利用する場合、Basic タブの Sever には接続したいサーバー名を指定します(たとえばas001など)。ポート番号は指定しません。Name (設定名)は、好きに付けて構いませんが、サーバー名と同じ文字列がわかりやすくて良いのではないでしょうか。

SSH Tunnelタブを開いてsshトンネルの設定をします。Enable SSH tunnelボタンをクリックして機能を有効化、その下の Custom ラジオボタンにチェックをいれてゲートウェイの gw.acri.c.titech.ac.jp をセットします。また、その下の SSH Authentication フィールドの username にACRiルームのユーザ名を入力します。下の例では認証にパスワードを使うことを指定して入力は空にしています。もし、公開鍵認証の設定をしていれば秘密鍵のファイルをセットしておくこともできます。

設定をしたら Save and Connect で接続です。まず、ゲートウェイとの間のssh接続用のパスワード入力を求められます。

パスワードを入力すると、次のように接続先が正しいことを確認する画面が表示されることがありますがYesをクリックします。

無事ログイン画面にアクセスできました。

Save and Connect では、設定情報が保存されますので、次からは管理ウィンドウから選択するだけで接続できます。アクセス先のサーバー毎に設定が必要なので最初は手間かもしれませんが、いちいちポートフォワーディングしなくてよいのは楽です。特に複数のサーバーに対してゲートウェイ越しにリモートデスクトップ接続をする場合には、自分でポート番号の管理をしなくていいのが嬉しいですね。