Dockerコンテナ(Dev Containers)でGUIアプリケーションを簡単に使うためのVSCode拡張をつくった

カテゴリー: PC
投稿日:
更新日:
書いた人: 山椒ねこまんま

Macを使っていると、OS非対応だったり、パッケージマネージャーが使えずインストール・アップデートが面倒だったりするソフトに出会います。

そんな時はDockerコンテナでLinux環境をたてて使うのですが、ちょくちょくGUIじゃないと使えないソフトがあるのです。 X11 / VNCサーバー立てて、ポート開けるかマウントして、クライアントソフトから繋いで… 等々やれば使えるようにはなるのですが、いかんせん面倒くさい。

そこで! VSCodeのDev Containers向けに、サクッとコンテナのGUIに接続するための拡張機能をつくってみました。

こだわりポイントは4つ

  1. ホスト環境へのインストール不要
  2. ホストもコンテナも面倒な設定が不要
  3. GUIアプリ起動のための追加コマンド不要
  4. 操作がVSCode内で完結(ブラウザからアクセスしなくていい)

拡張機能をインストールして、ダイアログをポチポチすればすぐに使えます!

構成

Xpra というX11のサーバー・クライアントOSSツールがよさげだったのでこれを中心にして作りました。 バイナリ単体で配布されてないので、rootでのインストール操作をしないで済むよう 依存付きで自前ビルド しています。

通信はVSCodeが面倒見てくれるので、安定性向上のためのプロキシと設定・接続自動化用の操作を入れるくらいでつくれました。

つかいかた

適当なDevContainerに接続したらマーケットプレイスの検索窓に「EasyGUI」と入力すると表示される「EasyGUI for Devcontainer」をインストール

信頼してインストール

Xpraの実行バイナリをインストールするための確認ダイアログ(そこそこ容量食うので確認するようにしておきました)

Downloadをポチり

インストールが完了したらステータスバーの「EasyGUI」を押すと開きます。

あとはターミナルから適当なGUIアプリケーションを立ち上げればタブに表示されます!



我ながら便利なツールが作れました。

ちゅーてもほとんどAIが書いたんですけどね。 いい時代になったものですな。 がはは

コードは GitHub においてあります〜


アプリなどを作ったりしています! よかったらみていってください→ つくったもの
今のイチオシ↓

山椒ねこまんま
山椒ねこまんま

個人アプリ開発者、ブロガー。

UKキーボードのためだけにMacを選んでいる。