treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

(2/2)Remminaをログイン後に自動起動してWindowsに接続する

前回、「(1/2)Remminaをログイン後に自動起動してWindowsに接続する(前準備)」の続きです。
前回の設定ができている前提で進みます。

アプリケーションの自動起動ウインドウ起動

ここから自動起動の設定をやっていきます。

Debian MATEではスタートメニューのメニューバーから「システム」⇒「設定」⇒「ユーザ向け」⇒「自動起動するアプリ」で自動起動設定の画面を開くことができます。※Windowsでいうところのスタートアップフォルダ

f:id:treedown:20210726170403p:plain
開いたら、

f:id:treedown:20210726170423p:plain
この画面から、「追加」をクリック。
「自動起動するプログラムの追加」という画面が表示されます。

f:id:treedown:20210726170437p:plain
ここでRemminaをコマンドラインで起動出来るように指定することでやりたいことはできそうなのですが、Remminaをコマンドで起動するには、「remmina -c %接続ファイル%」という具合に、構成ファイルを指定する必要があります。このファイルをどうやって用意するかでちょっと詰まりました。

迷ったのですが、いったん接続を実施して、自動的に生成される.remminaファイルを活用する手法で今回はやってみました。

ターミナルで接続ファイルを用意する

ここからターミナルの作業。(※ちなみにsudoは使わずユーザ権限でやります。)

ユーザのホームディレクトリから、「/home/testuser/.local/share/remmina/」を確認。(ls -la /home/testuser/.local/share/remmina/で見てみる)

f:id:treedown:20210726170506p:plain
前回確認のため接続した接続先が、「.remminaファイル」として保存されています。(これはたぶん一時ファイル)
Remminaの接続情報(Last time used)とファイルのタイムスタンプが合致していれば、前回接続した状態がこの「.remminaファイル」に記憶されていると考えられました。(こんな具合に)
f:id:treedown:20210726170534p:plain※画面はRemminaの接続情報画面

たとえば、これを使って「remmina -c /home/testuser/.local/share/remmina/1627276782509.remmina」という具合にファイル名を指定して実行すると、ちゃんと接続されます。
なので…
ディレクトリを作成(設定ファイルを格納する場所を固定しておきたいので)して、

$ mkdir /home/testuser/remmina-auto-connect

Remminaが生成してくれた一時ファイルをコピーして流用するために、

$ cp /home/testuser/.local/share/remmina/1627276782509.remmina /home/testuser/remmina-auto-connect/

でファイルをコピーして、

$ cd /home/testuser/remmina-auto-connect/
$ mv 1627276782509.remmina connect.remmina

と言う具合に、ファイルをリネームしてしおきます。

f:id:treedown:20210726170636p:plain

ここまでやったらば

remmina -c /home/testuser/remmina-auto-connect/connect.remmina

と言う具合に、コマンドで実行することで以前に実行した際に使用した接続設定を使って接続が可能になります。

そいで、これを前述の「自動起動するアプリ」画面でコマンド指定しておけば、ログイン後に自動的にRDP接続を開始するように構成できるのではないかと考えました。ファイルの用意ができたので早速やってみます。

再び、自動起動ウインドウで

ファイルの生成ができたので、自動起動ウインドウに戻ってRemminaのコマンドラインを入力していきます。

f:id:treedown:20210726170744p:plain
コマンド以外は人間が忘れないようにするための値なので好きな入力が可能です。これで保存ボタンで終了。

f:id:treedown:20210726170803p:plain
自動起動するアプリとして接続先を指定したRemminaが登録されました。
これで、

f:id:treedown:20210726170819p:plain
いったんログアウト。次にログインして自動実行されることを確認します。

接続の確認

ログアウト後、再度同じユーザでログインします。

f:id:treedown:20210726171049p:plain
ログイン後に自動的にRemminaが起動して、指定した接続先に接続してくれました。ただし、

f:id:treedown:20210726170857p:plain
初回の起動だけパスワードが要求されます。(※たぶん.remminaファイルにパスワードは保存していないので、同じ接続ファイルを使ってもパスワード情報が無い)
ここは初回だけパスワードを入力して、「パスワードを保存する」を忘れずに有効化しておきます。(次回からは出なくなります。)

f:id:treedown:20210726170940p:plain

無事、テスト接続したときの状態でWindows10に接続ができました。

シャットダウン自動化(.remmina接続ファイル更新)

今回シンクライアントっぽく構成してみるにあたり、起動後に自動接続するのに加えて、RemminaのRDP接続を切断後には、手元のPCの電源を切るようにしてみました。(シンクライアントっぽく)

これにはポストコマンドを使います。
まずはRemminaの設定ファイルから「Post Command」欄にシャットダウンコマンド「/usr/sbin/shutdown -h now」を入力します。

f:id:treedown:20210726171153p:plain
※最初は権限の心配をしていたのですが、このシャットダウンコマンド自体はユーザ権限でも動作しました。ただしコマンドをフルパスで記載する必要があるようです。

入力後、.remminaファイルの更新が必要になります。いったん、この接続ファイルの設定を「Save」か「Save and Connect」で保存し、RDP接続後にシャットダウンが動作することを確認します。
確認後、ターミナルからタイムスタンプを確認して、

f:id:treedown:20210726171302p:plain
そのファイルをコピーし、自動起動に登録しているファイル名にリネームします。

f:id:treedown:20210726171330p:plain

ざっくり記載
--------------------------------------------------------------
新たに生成された1627276782509.remminaをコピーし、カレントディレクトリ移動

$ cp /home/testuser/.local/share/remmina/1627276782509.remmina /home/testuser/remmina-auto-connect/
$ cd /home/testuser/remmina-auto-connect/

旧ファイルはリネームして、新しいファイルを自動起動に登録した名前にする

$ mv connect.remmina connect210726.remmina
$ mv 1627276782509.remmina connect.remmina

--------------------------------------------------------------
これでファイルの更新完了。

ログイン後の自動接続でWindows10に接続した後に、

f:id:treedown:20210726171446p:plain
接続先のWindows10でサインアウトすると、

f:id:treedown:20210726171500p:plain
即刻手元のThinkPad(Debian側)では(ポストコマンドで設定した)シャットダウンが動作します。(一瞬だから上手く撮れていませんが)

課題(未実施のこと)

今回やってみて、まだできないことのメモ。

■Remminaの設定で接続先にホスト名(コンピュータ名)が使えない。

Remminaの設定で接続先はIPアドレスじゃないと接続ができませんでした。おそらくブロードキャストで名前解決ができないので、mDNSのコンポーネントが必要なんじゃないかと思いますが、未実施。

IPアドレスじゃなく、コンピュータ名で指定するようにしたいですね。mDNSを使えばできそう。

■Wi-Fiで使えるようにしたい。

Debianインストール時にプロプライエタリなデバイスとして検出されたため、内蔵のWi-Fi NICは無効のまま今回テストをしていました。現状はWi-Fiを有効化していないので、LANケーブルだけでしか通信できない状況。
AtherosのWi-Fiなら認識するらしいけど、IntelのWi-Fiなのでちょっと手を入れる必要がある模様。non-freeなパッケージの導入が必要。