Closed1
Firebase Studio VNC 使い方

この記事で紹介したDevPodスクリプトを変更
mkdir -p bin desktop
cat <<EOF > .idx/dev.nix
{ pkgs, ... }: {
channel = "stable-24.05";
packages = [
pkgs.zip
];
env = {};
idx = {};
services.docker.enable = true;
}
EOF
cat <<EOF > desktop/.devcontainer.json
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/devcontainers/features/desktop-lite:1": {
"password": "noPassword"
}
},
"forwardPorts": [
6080
],
"portsAttributes": {
"6080": {
"label": "desktop"
}
},
"containerUser": "root",
"remoteUser": "root"
}
EOF
curl -Lo bin/devpod https://github.com/loft-sh/devpod/releases/download/v0.6.15/devpod-linux-amd64
chmod 755 bin/devpod
export PATH=$PWD/bin:$PATH
devpod provider add docker
devpod provider set-options -o "DOCKER_HOST=$DOCKER_HOST"
devpod ide set-options openvscode -o VERSION=v1.99.3
devpod context set-options -o EXIT_AFTER_TIMEOUT=false
# DevPod起動前にFirebase Studioを再起動してdev.nixの設定を反映する
devpod up desktop --ide=openvscode
# Open VS Code使わないならNoneにしてSSH接続する
# devpod up desktop --ide=none
# devpod ssh desktop
あとはecho "https://6080-$WEB_HOST"
にアクセスするだけ
以下変更開所
- emptyからdesktopへ変更(何でもいい)
- featuresにdesktop-liteを追加
- passwordをnoPasswordにする
- noPasswordにしないとアクセスできない
- noPasswordにしてもFirebase Studioの認証でアクセスするためPublicにしない限り安全
- forwardPortsとportsAttributesを設定
- desktop-liteのドキュメントに書いてあるやつそのままコピペ
dilloで動作確認
$ sudo apt-get update
$ sudo apt-get install -y --no-install-recommends dillo
$ dillo
最新のdilloをビルドできるか確認
$ sudo apt-get update
$ sudo apt-get install -y --no-install-recommends gcc g++ autoconf automake make zlib1g-dev libfltk1.3-dev libssl-dev libc6-dev libpng-dev libjpeg-dev libwebp-dev libbrotli-dev
$ git clone https://github.com/dillo-browser/dillo.git
$ cd dillo
$ ./autogen.sh
$ mkdir build
$ cd build
$ ../configure --prefix=/usr/local
$ make
$ sudo make install
$ dillo
# /usr/local/bin/dillo
ただnoVNCがnon-root userで立ち上がるのでrootでmountしているDevcontainerのworkspacesで何もできなくて困った
desktop-liteのusernameをrootにすれば反映されるがFluxboxの挙動がだいぶ怪しい
とりあえず以下暫定対処
$ sudo -i
noVNCのスケーリングモードを「リモートでリサイズ」にすると全画面表示が反映されることをクローズしてから判明
このスクラップは2ヶ月前にクローズされました