こんにちは、minoruです。
現在メインのPCはUbuntuを使っているのですが、最近Ubuntuのシェルスクリプトを活用し始めました。長時間処理をし続けるスクリプトを動かしたいので、別に1台UbuntuのPCを用意して、メインPCから遠隔操作で2台目PCをリモートコントロールしたいなと考えました。
そこでUbuntuをインストールしたノートPCで遠隔操作の練習をしてみたのですが、自分がネットで調べた時は、UbuntuからWindowsとか、逆にWindowsからUbuntuなどの異OS間の操作が目立ち、肝心のUbuntu同士のリモートコントロールが見つけづらかったです。
なのでUbuntu同士の遠隔操作方法をここに書き残しておきたいと思います。
基本情報
- 操作する側 Xubuntu 18.04 デスクトップPC
- 操作される側 Ubuntu 20.04 デスクトップPC
操作される側のデスクトップ環境はUnityライクのGnome、つまり初期状態です。
Ubuntu間の遠隔操作準備
まずは操作される側のPCで、「設定」から「共有」を選択します。「デスクトップ」と検索すると一番上にも出てきます。
初期状態だと恐らく以下のようになっているかも。場合によってはリモートログインの項目がオフになっている可能性もあるでしょう。
まずは画面共有を選択。
出てきたウィンドウの一番上の項目「このスクリーンを操作する接続を許可する」にチェックを入れましょう。
アクセスオプションの項目は「パスワードを要求する」にします。ここで入力したパスワードを知っている人しか操作できません。
このパスワードは遠隔操作用のパスワードであり、操作される側のログインパスワードとか、操作する側のログインパスワードとは異なります。
ログインパスワードと同じにしても遠隔操作自体は出来ますが、まったく関係の無い別のパスワードにしておいた方が望ましいのは言うまでもありません。
↑ウィンドウ上部と下部のスイッチみたいなところもオン状態にしておく事。
あとは設定の中にある「プライバシー」のところで画面ロックが自動でかからないようにしておくと良いかも。
「電源」の項目でも。
ローカルIPアドレスの確認
遠隔操作する際に必要になるので、操作される側のPCのローカルIPアドレスを確認しておきましょう。やり方は簡単でキーボードの Ctrl + Alt + T を押して端末を起動し、「ifconfig」と入力してエンターキーを押しましょう。
すると、何やらズラズラと情報が表示されます。必要なのはinetアドレスと書かれたところの192.168…から始まる数列です。これをメモっておきましょう。(ちなみにこの数値はPCの電源を切ったりすると赤丸の部分が変動する場合があるので注意)
操作される側のPCで行う作業は以上です。ただ、ログアウトしている状態では遠隔操作を受け付けませんし、ノートPCだと画面を閉じて(折りたたんだ状態)しまうと遠隔操作出来ません。
デスクトップPCの場合画面モニタ(ディスプレイ)はつながってなくても遠隔操作は出来ますが、ログインしている状態じゃないとダメって事ですね。
Ubuntu同士のリモートコントロール開始
さて、準備が整ったら今度は操作する側のPCで、アプリケーション→インターネット→Remmina リモートデスクトップクライアント を起動します。
メニューの中にある「接続」を選んで、新規をクリックします。
すると以下の画面が出ます。
このウィンドウで「プロトコル」のところを「VNC – 仮想ネットワークコンピューティング」に変更します。次に基本情報タブ内の「サーバー」のところに「操作される側のPCのローカルIPアドレス」を入力します。
続いて「パスワード」のところに「準備編で設定した遠隔操作用のパスワード」を入れます。
色数や品質は、よほど環境やスペック的に制約が無いかぎり、今時のPCなら最高品質にしておいても何ら問題無いかと思います。
最後に「接続」をクリックして数秒で接続されます。ちなみに名前欄の「クイック接続」というところを別の名前に変えれば設定を保存しておけるので次回から入力の手間が省けます。
後はウィンドウ内に「操作される側のPCのデスクトップ」が表示されますので、普通にいつも通り操作すれば遠隔操作出来るようになっています。ただ、遠隔操作される側のPCで端末を起動しようとして Ctrl + Alt + T を押すと、操作する側のPCの端末が起動します。
通常のマウス操作、文字入力などのキーボード操作は普通に操作される側のPCの入力として反応してくれます。ただ、この状態だと異なるPC間でファイルの移動はまた別の話なので、sshなどと呼ばれる仕組みを使わないとファイルの行き来は出来ませんので注意してください。
remminaでつながらない場合
以前はちゃんと接続できていたのに、久しぶりにremminaで操作される側のPCに接続しようとしたら、「RDPサーバ x.x.x.x に接続できません」とか「VNCサーバ x.x.x.x に接続できません」などと表示されて接続されない場合があります。
- 操作される側のPCの電源が落ちている
- 操作される側のIPアドレスが変わった
- 証明書の期限切れなど証明書関連
などが原因として考えられます。
操作される側のPCがWindowsならcmdと呼ばれるコマンドラインから「ipconfig」を使ってIPアドレスの確認、Ubuntuなら端末から「ifconfig」を使ってIPアドレスの確認。
あとは証明書関連のファイルを削除してみる。
rm ~/.freerdp/known_hosts
以上。
LinuxやUbuntuをこれから試してみたい!と言う人や、今までWindowsで使っていたPCをWindowsは残したままLinuxやUbuntuを活用してみたい人は以下の本がおすすめ!
https://amzn.to/3Vl1oNx
LinuxやUbuntuを使おうとして、初心者の人が最初に「?」となりやすいのがコマンドでしょう。使い方がわかればこれほど簡単で便利なものはありませんが、最初は戸惑うのが普通です。そんな初心者に向けてマンガで超わかりやすいコマンドについて学べるのはシス管系女子みんとちゃんの本!
https://amzn.to/3FMTx5v