いつでもどこでもブラウザから自室PCにリモートデスクトップ! ワカモレ(Guacamole)設定手順
アボカドディップの『ワカモレ』(Guacamole)でいつでもどこでも自分のPCを楽しめます!
自室のPC、一番環境充実してますよね。もしWindows11がProでしたら、リモートデスクトップで接続できる機能があることをご存じのことと思います。
この場合、リモートデスクトップクライアントソフト(Windowsツールのリモートデスクトップ接続など)を使う必要があり、3389ポートが遮断されていないことも条件です。
ところが、Webブラウザさえあれば自分のPCのデスクトップをいつでもどこでも表示でき、キーボードやマウスが付いたデバイスからならPC操作もできてしまうのが、Apache Guacamoleです。
Guacamoleですけれど、単語の意味はメキシコ料理のアボカドディップ(ソース・サルサ)のことです。上の写真のようにトルティーヤにつけてたべるとさわやかな香りで美味しいやつです。ソフトウェアのApache Guacamoleは、Webブラウザから様々なリモートデスクトップに接続できるオープンソースソフトウェアです。
Linuxサーバーも自室に立てている方なら試しているかもしれませんけれど、Windows PCだけで機器構成していることも多いでしょう。そもそもパソコン一台だけしか稼働していない方もいるでしょう。
でも、今のWindows 11は素晴らしいOSで、仮想マシンプラットフォーム(WSL2)というLinuxを動かす機能が標準で備わっています。
サティア・ナデラCEOになってMicrosoft Loves Linuxを掲げてから本当に良くなりました。
ここでは、Windows 11 PCのUbuntu 24.04 LTSでApache Guacamoleを動かして、いつでもどこでもWebブラウザで自室PCのデスクトップを見られる環境を作る手順をメモしています。ポートも3389が通る環境でなくても構いません。(ここでは8080ポートやhttp標準の80ポートで試しています。ポートだけ変更してリモートデスクトップクライアントソフトを使うならrdgwをRDゲートウェイにするのがシンプルでよさそうですけれど)
Windows 11のエディションはProが必須です。Homeの場合はMicrosoft Storeでライセンスを購入します。約1万4千円です。
ms-windows-store://pdp/?productid=BF712690PL0G&OCID=windowsproupgradesupportpage
さて、Windows 11 Proなら、早速Microsoft Storeから無料のUbuntuを入れます。普通は最新版を入れますけれど、ここでは難解と言われるGuacamoleのインストール手順を確定させるためUbuntu 24.04.1LTSを入れます。
Microsft StoreでUbuntu24.04で検索して入手(インストール)ボタンを押します。
ms-windows-store://pdp?ocid=pdpshare&productid=9nz3klhxdjp5
ダウンロードとインストールに少し時間はかかります。スタートボタンのアプリ一覧からUbuntuを起動します。
Ubuntu初回起動時の初期設定でUbuntu用のユーザー名(Windows用とはまったく別のローカルユーザーです)とパスワードを設定します。
さて、Ubuntu上で$というプロンプトが表示された状態から以下の通りコマンドを入れていきます。
新しいOSを入れたら、最初にアップデートしておくのが礼儀です。
sudo apt update
(Ubuntuのユーザーパスワードを聞かれるので、初期設定で設定したパスワードを打ちます)
sudo apt upgrade -y
初回は多少時間がかかるかもしれません。Windows 11 ProへのUbuntuというOSのインストール作業は以上です。
ここから,UbuntuにApache Guacamoleを入れていきます。まず前提となる色々を終わらせます。
必要なライブラリが色々あるので、以下のコマンドを打って一気に入れます。(6行全部コピペして貼り付けてEnterです。)
(Ubuntuが24.04以外のバージョンの場合ここが少し変わる可能性があります。)
sudo apt install build-essential libcairo2-dev libjpeg-turbo8-dev \
libpng-dev libtool-bin libossp-uuid-dev libvncserver-dev \
freerdp2-dev libssh2-1-dev libtelnet-dev libwebsockets-dev \
libpulse-dev libvorbis-dev libwebp-dev libssl-dev \
libpango1.0-dev libswscale-dev libavcodec-dev libavutil-dev \
libavformat-dev -y
2025年12月11日時点では,Guacamoleのバージョンは1.6.0でした。1.6.0と決めたらこの後の手順も1.6.0で統一して進めます。
もっと新しいGuacamoleのバージョンが出たらそちらでもできそうですけれど、tomcatはtomcat9が必要です。
以下、Ubuntuの画面で順番にコピペして(打ち込んで)進めていきます。
wget https://downloads.apache.org/guacamole/1.6.0/source/guacamole-server-1.6.0.tar.gz
tar -xvf guacamole-server-1.6.0.tar.gz
cd guacamole-server-1.6.0/
sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
sudo make
sudo make install
sudo ldconfig
sudo systemctl daemon-reload
sudo systemctl enable guacd
sudo systemctl start guacd
sudo systemctl status guacd
ここで Active: active (running) since Thu 2025-12-11 13:08:22 JST; 6s ago
のように動いていればインストールは成功です。
sudo mkdir -p /etc/guacamole/{extensions,lib}
ここで、Ubuntu24.04標準のtomcat10ではなくtomcat9を入れます。
sudo add-apt-repository -y -s "deb http://archive.ubuntu.com/ubuntu/ jammy main universe"
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y
sudo wget https://downloads.apache.org/guacamole/1.6.0/binary/guacamole-1.6.0.war
sudo mv guacamole-1.6.0.war /var/lib/tomcat9/webapps/guacamole.war
sudo systemctl restart tomcat9 guacd
続いてMariaDBを入れます。
sudo apt install mariadb-server -y
sudo mysql_secure_installation
ここでは、色々聞かれながらMariaDBの初期設定をしていきます。特に大事なのはMariaDBのrootパスワードをブランクでなくきちんと適当に決めて打ち込みます。先ほどWindowsのパスワードとは別にUbuntuのユーザー名とパスワードを初期設定しましたが、MariaDBのrootパスワードはまた別です。(なおこの後guacamoleの管理者ユーザーとパスワードも作らないといけないので、それぞれメモするか記憶しておきます)
まずSwitch to unix_socket authentication [Y/n] ときかれたらn[Enter]して、Change the root password? [Y/n] にY[Enter]して、
MariaDB rootパスワード設定に進みます。
そのパスワードはこの後の設定ですぐ使いますので覚えておきます。
MariaDBの初期設定は続きます。これ以降はなんか聞かれたら[Y/n] にY[Enter]して進めます。
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
All done!
という感じです。続けてMariaDBにGuacamoleからつなげて使えるように設定していきます。$プロンプトに以下のコマンドを順次打って(コピペして)いきます。
sudo wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.5.0.tar.gz
sudo tar -xf mysql-connector-j-9.5.0.tar.gz
sudo cp mysql-connector-j-9.5.0/mysql-connector-j-9.5.0.jar /etc/guacamole/lib/
sudo wget https://downloads.apache.org/guacamole/1.6.0/binary/guacamole-auth-jdbc-1.6.0.tar.gz
sudo tar -xf guacamole-auth-jdbc-1.6.0.tar.gz
sudo mv guacamole-auth-jdbc-1.6.0/mysql/guacamole-auth-jdbc-mysql-1.6.0.jar /etc/guacamole/extensions/
sudo mysql -u root -p
ここでEnter password:と聞かれたら先ほど設定したMariaDBのrootパスワードを打ちます。ここでMariaDBの中に入った状態になります。プロンプトも$からMariaDB [(none)]> のように変わります。
MariaDB上で四つほどSQLを打ちます。Query OKと出れば成功です。
MariaDB [(none)]> CREATE DATABASE guac_db;
Query OK, 1 row affected (0.001 sec)MariaDB [(none)]> CREATE USER 'guac_user'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.004 sec)MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE ON guac_db.* TO 'guac_user'@'localhost';
Query OK, 0 rows affected (0.004 sec)MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)MariaDB [(none)]> EXIT;
Bye
EXIT;と入力すると、MariaDBから通常の「$」プロンプトに戻るので、続きのコマンドを打ちます。
cd guacamole-auth-jdbc-1.6.0/mysql/schema
cat *.sql | mysql -u root -p guac_db
ここでもEnter password:に先ほどのMariaDBパスワードを打ちます。
sudo vi /etc/guacamole/guacamole.properties
最低限の設定だけだと、
mysql-hostname: 127.0.0.1
mysql-port: 3306
mysql-database: guac_db
mysql-username: guac_user
mysql-password: passwordでいけます。iでコピペ貼り付けて[ess]:wq[enter]ですね。
sudo systemctl restart tomcat9 guacd mysql
これでGuacamole環境完成です。お疲れさまでした。
実際つないで試してみましょう。ブラウザでGuacamoleを開いて、Guacamole管理ユーザーを追加し、接続設定を作るところからです。
GuacamoleをインストールしたPC上なら、
http://localhost:8080/guacamole
をWindows 11上の(ChromeとかEdgeとかの)ブラウザで開きます。
管理者アカウントとパスワードの初期値は、いずれも「guacadmin」です。すぐに変更します。
右上のプルダウンメニューから設定-ユーザ設定タブでパスワードを変更します。
次に新規ユーザーを追加します。設定-ユーザタブで、[ユーザ追加]ボタンを押します。
適当なGuacamole新規管理ユーザーとパスワードを入力して作成します。このとき、権限にすべてチェックを入れます。今後はそちらの新規管理ユーザーを使います。
一度ログアウトして、新規管理ユーザーで入り直し、guacadminユーザーは設定-ユーザタブからさくっと削除します。
さて、ようやくリモート操作したいPC(LAN内の別のPCだったりもここで追加できます)への接続設定を作ります。
まず、自室のLAN内のPC(Guacamoleを設定したWindows 11 Pro PC自身でももちろん大丈夫です)のIPアドレスを確認します。
ターミナルとかPowerShellとかコマンドプロンプトとかで
ipconfig
で、
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.XXX
のようなやつです。これはWindows設定の歯車アイコンでネットワークとインターネットからも確認はできますね。ルーターの管理画面でも確認できるかもしれません。
この接続先のPCのIPをメモしておきます。
(別のPCに接続する場合も、GuacamoleをインストールしたPCのIPアドレスを確認しておく必要があります)
GuacamoleをインストールしたUbuntuはWindows 11とは別のIPアドレスが仮想環境でふられているので、Ubuntuの方のIPアドレスも確認してメモし、Windows11のIPからUbuntuのIPにサーバー転送する設定も必要です。
Ubuntuの$で、
ifconfig
と打って出てくるeth0: flags=XXXX<UP,BROADCAST,RUNNING,MULTICAST> mtu XXXX
inet 172.20.69.210 netmask 255.255.240.0 broadcast 172.20.79.255
inetのIPアドレスをメモ(コピペ)します。この例では 172.20.69.210です。Windows11の仮想環境のNATで管理されたIPです。
Windowsの管理者権限PoweShell(Winスタートアイコン右クリックで「ターミナル(管理者)等を起動」)で、ふたつのIPアドレスを紐づけます。IPは自分の環境で置き換えて打ってください。
netsh.exe interface portproxy add v4tov4 listenaddress=192.168.10.89(Windows11のIPアドレスです) listenport=8080 connectaddress=172.20.69.210(仮想環境UbuntuのIPアドレスです) connectport=8080
と打ち込んで設定すれば、Windowsに届いた8080をUbuntuに転送してくれます。
Windows11の、Windows Defenderファイアウォールで,新しい規則で8080を通します。
WinスタートボタンでWF.mscを検索して、「セキュリティが強化されたWindows Defenderファイアウォール」を起動し、左の受信の規則をクリックし、右上の新しい規則で、ポート-特定のローカルポートに8080、接続を許可する、名前を付けて完了します。
Windows11の設定はこれで終わりです。
インターネット接続ルーターの設定もしておきます。
GuacamoleをインストールしたPCのIPアドレスは、インターネット接続用のルーターで、DHCP固定割当設定をして決めてしまいましょう。
たとえば192.168.10.89に決めてしまうとかです。さらに、ポートマッピング設定で、優先度:10 LAN側ホスト:192.168.10.89 プロトコル:TCP ポート番号:8080-8080のように設定すると外野からアクセス可能になります。ルーターはAtermの場合の例です。
さて、Guacamole接続設定に戻ります。Guacamoleのブラウザ画面で、設定-接続で追加します。
接続の編集 ←接続先一覧に表示する名前をつけます。PCから接続用の横長とスマホから接続用の縦長など分かりやすい名前だと便利です。
名前: jibun_no_PC
ロケーション: ROOT
プロトコル: RDP
接続の編集
最大接続数: 10
ユーザごとの最大接続数: 10
ロードバラシング
Guacamoleプロキシパラメータ (guacd)
パラメータ
ネットワーク ←ここに操作したいWindows PCのIPアドレス(192.168.1.12等)を登録します。
ネットワークホスト名: 192.168.10.XXX←
ネットワークポート: 3389
キーボードレイアウト: Japanese(Qwerty)
認証 ←接続先のPCのログインアカウントです。
ユーザ名: Microsftアカウント(@の前)
パスワード: (ここで登録しない場合、接続の時に入力を求められます)
ドメイン: outlook.comとかoutlook.jpとかのmicrosoftアカウント登録先(@の後ろ)
Trust host certificate on first use: チェック(サーバ証明書を無視するの方にチェックしてもつながりますが)
リモートデスクトップゲートウェイ
基本設定
キーボードレイアウト: Japanese(Qwerty)
タイムゾーン: Asia Tokyo
ディスプレイ ←手元の接続元デバイスに合わせて見やすい幅と高さを設定します。色々試すとよいでしょう。
ディスプレイ幅: 1400
ディスプレイ高さ: 1050
カラー深度: Lowカラー(16ビット)
サイズ変更方法: 再接続
クリップボード
デバイスリダイレクト
パフォーマンス
クリアタイプフォントの有効化: チェック
リモートアプリケーション
事前接続 PDU / Hyper-V
ロードバラシング
スクリーンレコーディング
SFTP
Wake-on-LAN (WoL)
[保存]ボタンを押します。右上のメニューからホームを選ぶと、今設定した接続先が一覧に出るようになります。
接続先PCで同じ自分自身に接続すると、Windows ServerでなくWindows11 Proでは一度に一つのログインしかできないので強制ログアウトさせられてしまいます。つないでしまったら、ログインしなおしてブラウザを閉じましょう。
さあ、他のPCやスマホから接続をためしてみましょう!
自室ネットワーク内の他のPCやスマホから、
http://ワカモレを設定したPCのIPアドレス:8080/guacamole
これでGuacamole画面でログインして接続先をクリック
出先からなら、ルーターにポートマッピング設定をした上で、DDNSサービス(mydns.jpやf5.siなど)に登録してDiCEなどでグローバルIPをDDNSに反映しておけば、http://ホスト.ドメイン:8080/guacamoleでつながります。
スマホからの接続用に縦画面の接続設定も追加しましょう。
接続の編集
名前: tatenagagamen_jibun_no_PC
ディスプレイ
幅:800
高さ:1080
くらいから試します。スマホの機種によって画面の解像度が異なるので色々試してみます。
今回、PCが一台だけで、Windows 11 ProのPCの場合でもブラウザからリモートデスクトップでつなげられる手順となっていますが、
自室に複数のPCがある方は、接続先にどんどん登録していくと選んで接続できるようになります。
もちろんリモートデスクトップクライアントからつなぐ方が安定して操作できますけれど、接続元クライアントデバイスにリモートデスクトップクライアントが入っていなくても、ブラウザさえあればつながって自室のPCの画面を確認できるのは意外と重宝するものです。
スマホがハードウェアキーボード付きの機種の場合は、ブラウザ経由でつないだ時の利便性がさらに上がります。Androidスマホなら、BLuetoothマウスをつなげることもできます。ポート3389が通らない環境でも大丈夫です。
今回ポート8080ですが、tomcat9の設定で他のポート(80など)に変えることも可能です。
Ubuntu上で、
sudo vi /etc/tomcat9/server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
のように、8080から80に書き換えます。
sudo systemctl restart tomcat9 guacd mysql
さらに、Windows 11上で管理者権限のPowerShellを使い、Windows 11から仮想環境Ubuntuにポート80を転送するよう設定します。
netsh.exe interface portproxy add v4tov4 listenaddress=192.168.10.89(Windows 11のIP) listenport=80 connectaddress=172.20.69.210(仮想環境UbuntuのIP) connectport=80
これで、
http:/(Guacamole PCのIPやDDNSホスト.ドメイン)/guacamole
だけでブラウザでリモートデスクトップ接続できるようになります。
また、tomcat9の設定をいじらなくても、
Windows 11上で管理者権限のPowerShellを使い、Windows 11から仮想環境Ubuntuにポート80からポート8080を転送するよう設定もできます。
netsh.exe interface portproxy add v4tov4 listenaddress=192.168.10.89(Windows 11のIP) listenport=80 connectaddress=172.20.69.210(仮想環境UbuntuのIP) connectport=8080
他のデバイスから接続する場合は、こちらの設定方法でもよいですが、Guacamole PCそのもので管理画面を出すときは、http://localhost:8080/guacamoleで開く必要がありますので、こちらの簡易的な設定の場合は注意してください。
さて、unihertz titan2のようにハードウェアキーボード付¥スマホなら、キー入力も可能ですが、そうでない場合、このままではテキスト入力可能なポイントをタップしているかわからないためソフトウェアキーボードが表示されず入力ができません。
これについては、guacamoleの管理画面で設定-ユーザー設定で、デフォルトの入力方法を変更します。
デフォルトの入力方法について、オンスクリーンキーボードを選ぶと、Guacamoleのソフトキーボードが常時表示されて、いつでもそこからキー入力が可能になります。
スマホのキーボードアプリではなく、Web画面上にguacamole作り付けのソフトキーボードが常時表示されることになります。
そういう意味では、Clicksのようにハードウェアキーボードを装備した方が便利に使えるかもしれません。
この場合、デフォルトの入力方法をテキストインプットにすればよいです。

























最近のコメント