Compare commits

..

31 commits

Author SHA1 Message Date
Doro Wu
e4922ce92f
Merge pull request #235 from fcwu/dependabot/npm_and_yarn/web/dot-prop-4.2.1
chore(deps): bump dot-prop from 4.2.0 to 4.2.1 in /web
2021-04-04 09:42:55 +08:00
dependabot[bot]
402ae8480e
chore(deps): bump dot-prop from 4.2.0 to 4.2.1 in /web
Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/sindresorhus/dot-prop/releases)
- [Commits](https://github.com/sindresorhus/dot-prop/compare/v4.2.0...v4.2.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 01:41:32 +00:00
Doro Wu
2af5a6de3d
Merge pull request #203 from fcwu/dependabot/npm_and_yarn/web/http-proxy-1.18.1
chore(deps): bump http-proxy from 1.18.0 to 1.18.1 in /web
2021-04-04 09:41:23 +08:00
Doro Wu
fc062fd475
Merge pull request #216 from fcwu/dependabot/npm_and_yarn/web/ini-1.3.7
chore(deps): bump ini from 1.3.5 to 1.3.7 in /web
2021-04-04 09:40:57 +08:00
Doro Wu
7cc73c0903
Merge pull request #217 from fcwu/dependabot/npm_and_yarn/web/node-notifier-8.0.1
chore(deps-dev): bump node-notifier from 5.4.3 to 8.0.1 in /web
2021-04-04 09:40:39 +08:00
dependabot[bot]
534231c44b
chore(deps): bump http-proxy from 1.18.0 to 1.18.1 in /web
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 01:40:34 +00:00
Doro Wu
4bf2bab0e4
Merge pull request #228 from fcwu/dependabot/npm_and_yarn/web/elliptic-6.5.4
chore(deps): bump elliptic from 6.5.1 to 6.5.4 in /web
2021-04-04 09:40:25 +08:00
Doro Wu
51c11693b8
Merge pull request #218 from fcwu/dependabot/npm_and_yarn/web/axios-0.21.1
chore(deps): bump axios from 0.18.1 to 0.21.1 in /web
2021-04-04 09:39:34 +08:00
Doro Wu
6b473f3409
Merge pull request #230 from fcwu/dependabot/pip/rootfs/usr/local/lib/web/backend/jinja2-2.11.3
chore(deps): bump jinja2 from 2.10.3 to 2.11.3 in /rootfs/usr/local/lib/web/backend
2021-04-04 09:39:22 +08:00
Doro Wu
ba08e79a0a
Merge pull request #234 from fcwu/dependabot/npm_and_yarn/web/y18n-3.2.2
chore(deps): bump y18n from 3.2.1 to 3.2.2 in /web
2021-04-04 09:39:07 +08:00
dependabot[bot]
7dbf4dcfa7
chore(deps): bump y18n from 3.2.1 to 3.2.2 in /web
Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-30 14:43:14 +00:00
dependabot[bot]
ed863976d8
chore(deps): bump jinja2 in /rootfs/usr/local/lib/web/backend
Bumps [jinja2](https://github.com/pallets/jinja) from 2.10.3 to 2.11.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.10.3...2.11.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-20 01:27:19 +00:00
dependabot[bot]
09a4c478a5
chore(deps): bump elliptic from 6.5.1 to 6.5.4 in /web
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.1 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.1...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-09 01:37:24 +00:00
Doro Wu
8d323eca97
feat: add ubuntu 20.04 arm64 2021-03-03 22:43:44 +08:00
dependabot[bot]
cd4ba0b05d
chore(deps): bump axios from 0.18.1 to 0.21.1 in /web
Bumps [axios](https://github.com/axios/axios) from 0.18.1 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.1...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 07:32:07 +00:00
dependabot[bot]
9a06ac1255
chore(deps-dev): bump node-notifier from 5.4.3 to 8.0.1 in /web
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 5.4.3 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v5.4.3...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-21 21:34:27 +00:00
dependabot[bot]
58213d8593
chore(deps): bump ini from 1.3.5 to 1.3.7 in /web
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-11 03:07:18 +00:00
Doro Wu
75c5f5549f fix: repeatly autostart (issue#85) 2020-07-22 22:48:31 +08:00
Doro Wu
8e6e37e097 docs: update README.md 2020-07-22 22:48:31 +08:00
Doro Wu
d58b5c2f22 fix(jinja): support LXDE and Ubuntu 20.04 only 2020-07-22 22:48:31 +08:00
Doro Wu
c41043bec9
Merge pull request #196 from fcwu/dependabot/npm_and_yarn/web/lodash-4.17.19
chore(deps): bump lodash from 4.17.15 to 4.17.19 in /web
2020-07-22 08:54:22 +08:00
dependabot[bot]
245ac95552
chore(deps): bump lodash from 4.17.15 to 4.17.19 in /web
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-16 20:03:15 +00:00
Doro Wu
c571aa57bf
Merge pull request #192 from 486/set_size
Have set_size use color depth of 24
2020-07-06 19:51:29 +08:00
Robert Hoffmann
beb25ee06a
Have resolution updates use color depth of 24 2020-07-06 12:55:16 +02:00
Doro Wu
3c7b6dd70c
Merge pull request #185 from fcwu/dependabot/npm_and_yarn/web/websocket-extensions-0.1.4
chore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /web
2020-06-08 21:44:26 +08:00
dependabot[bot]
12a80b7c53
chore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 in /web
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-06 14:03:42 +00:00
Doro Wu
9d7362e87c
fix(websocket): RELATIVE_URL_ROOT not works on websockify (#157) 2020-05-26 15:21:30 +08:00
Doro Wu
ae4e571be3
doc: update focal 2020-05-16 21:14:59 +08:00
Doro Wu
c3bce99da9
feat: Ubuntu focal 20.04 2020-05-11 23:16:03 +08:00
Doro Wu
0e70047bdc fix: novnc language (#174) 2020-04-24 15:02:47 +08:00
Doro Wu
2bd60c0f88 fix: USER does not work #176 2020-04-24 15:01:34 +08:00
34 changed files with 382 additions and 1425 deletions

View file

@ -1,2 +1 @@
web/node_modules web/node_modules
.git

View file

@ -22,13 +22,6 @@ FLAVOR=lxqt ARCH=amd64 IMAGE=ubuntu:18.04 make build
make run make run
``` ```
You can overwrite the local Ubuntu repo using `make LOCALBUILD=de build`.
You can run the image as adifferent user `make CUSTOM_USER=newuser run`.
You can configure your own installed programs by using `APPS` env vriable and `BUILD_DEPS` if you need special dependencies to build those apps.
`make BUILD_DEPS="build-essential software-properties-common" APPS="vim-tiny net-tools zenity xz-utils firefox chromium-browser" run`
## develop backend ## develop backend
You may wish to work on the backend app. As the "make run" makes sure You may wish to work on the backend app. As the "make run" makes sure

View file

@ -1,10 +1,10 @@
# Built with arch: amd64 flavor: lxqt image: ubuntu:18.04 localbuild: tw # Built with arch: amd64 flavor: lxde image: ubuntu:20.04
# #
################################################################################ ################################################################################
# base system # base system
################################################################################ ################################################################################
FROM ubuntu:18.04 as system FROM ubuntu:20.04 as system
@ -24,30 +24,36 @@ RUN apt update \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# install debs error if combine together # install debs error if combine together
RUN add-apt-repository -y ppa:fcwu-tw/apps \ RUN apt update \
&& apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
xvfb x11vnc=0.9.16-1 \ xvfb x11vnc \
vim-tiny firefox chromium-browser ttf-ubuntu-font-family ttf-wqy-zenhei \ vim-tiny firefox ttf-ubuntu-font-family ttf-wqy-zenhei \
&& add-apt-repository -r ppa:fcwu-tw/apps \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt install -y gpg-agent \
&& curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& (dpkg -i ./google-chrome-stable_current_amd64.deb || apt-get install -fy) \
&& curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add \
&& rm google-chrome-stable_current_amd64.deb \
&& rm -rf /var/lib/apt/lists/*
RUN apt update \ RUN apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
lxqt openbox gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf arc-theme \ lxde gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Additional packages require ~600MB # Additional packages require ~600MB
# libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw # libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw
# tini to fix subreap # tini to fix subreap
ARG TINI_VERSION=v0.18.0 ARG TINI_VERSION=v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-amd64 /bin/tini ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/tini
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
@ -62,8 +68,9 @@ RUN apt update \
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
RUN apt-get update \ RUN apt-get update \
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
&& apt-get install -y python-pip python-dev build-essential \ && apt-get install -y python3-pip python3-dev build-essential \
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \ && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \
&& ln -s /usr/bin/python3 /usr/local/bin/python \
&& dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
&& apt-get autoclean -y \ && apt-get autoclean -y \
@ -75,7 +82,7 @@ RUN apt-get update \
################################################################################ ################################################################################
# builder # builder
################################################################################ ################################################################################
FROM ubuntu:18.04 as builder FROM ubuntu:20.04 as builder
RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list; RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list;

View file

@ -5,9 +5,9 @@
################################################################################ ################################################################################
# qemu helper for arm build # qemu helper for arm build
FROM ubuntu:18.04 as amd64 FROM ubuntu:20.04 as amd64
RUN apt update && apt install -y qemu-user-static RUN apt update && apt install -y qemu-user-static
FROM arm64v8/ubuntu:18.04 as system FROM arm64v8/ubuntu:20.04 as system
COPY --from=amd64 /usr/bin/qemu-aarch64-static /usr/bin/ COPY --from=amd64 /usr/bin/qemu-aarch64-static /usr/bin/
@ -28,10 +28,9 @@ RUN apt update \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# install debs error if combine together # install debs error if combine together
RUN add-apt-repository -y ppa:fcwu-tw/apps \ RUN apt update \
&& apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
xvfb x11vnc=0.9.13-3 x11vnc-data=0.9.13-3 \ xvfb x11vnc \
vim-tiny firefox chromium-browser ttf-ubuntu-font-family ttf-wqy-zenhei \ vim-tiny firefox chromium-browser ttf-ubuntu-font-family ttf-wqy-zenhei \
&& add-apt-repository -r ppa:fcwu-tw/apps \ && add-apt-repository -r ppa:fcwu-tw/apps \
&& apt autoclean -y \ && apt autoclean -y \
@ -55,15 +54,20 @@ ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
RUN mkdir -p /usr/local/ffmpeg \ RUN apt update \
&& curl -sSL https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar xJvf - -C /usr/local/ffmpeg/ --strip 1 && apt install -y --no-install-recommends --allow-unauthenticated \
ffmpeg \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/local/ffmpeg \
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
# python library # python library
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
RUN apt-get update \ RUN apt-get update \
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
&& apt-get install -y python-pip python-dev build-essential \ && apt-get install -y python3-pip python3-dev build-essential \
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \ && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \
&& ln -s /usr/bin/python3 /usr/local/bin/python \
&& dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
&& apt-get autoclean -y \ && apt-get autoclean -y \
@ -75,7 +79,7 @@ RUN apt-get update \
################################################################################ ################################################################################
# builder # builder
################################################################################ ################################################################################
FROM ubuntu:18.04 as builder FROM ubuntu:20.04 as builder
RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list; RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirrors.txt#' /etc/apt/sources.list;
@ -98,7 +102,7 @@ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
COPY web /src/web COPY web /src/web
RUN cd /src/web \ RUN cd /src/web \
&& yarn \ && yarn \
&& npm run build && yarn build
RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js

View file

@ -9,8 +9,6 @@ FROM ubuntu:18.04 as amd64
RUN apt update && apt install -y qemu-user-static RUN apt update && apt install -y qemu-user-static
FROM arm32v7/ubuntu:18.04 as system FROM arm32v7/ubuntu:18.04 as system
COPY --from=amd64 /usr/bin/qemu-arm-static /usr/bin/ COPY --from=amd64 /usr/bin/qemu-arm-static /usr/bin/
ARG localbuild
RUN if [ "x$localbuild" != "x" ]; then sed -i 's#http://archive.ubuntu.com/#http://'$localbuild'.archive.ubuntu.com/#' /etc/apt/sources.list; fi
@ -19,17 +17,11 @@ RUN sed -i 's#http://archive.ubuntu.com/ubuntu/#mirror://mirrors.ubuntu.com/mirr
# built-in packages # built-in packages
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
# What apps you would like to be installed
ARG APPS="vim-tiny net-tools zenity xz-utils firefox chromium-browser"
ENV APPS=$APPS
ARG BUILD_DEPS="build-essential software-properties-common"
ENV BUILD_DEPS=$BUILD_DEPS
RUN apt update \ RUN apt update \
&& apt install -y --no-install-recommends $BUILD_DEPS curl apache2-utils \ && apt install -y --no-install-recommends software-properties-common curl apache2-utils \
&& apt update \ && apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
supervisor nginx sudo \ supervisor nginx sudo net-tools zenity xz-utils \
dbus-x11 x11-utils alsa-utils \ dbus-x11 x11-utils alsa-utils \
mesa-utils libgl1-mesa-dri \ mesa-utils libgl1-mesa-dri \
&& apt autoclean -y \ && apt autoclean -y \
@ -40,7 +32,7 @@ RUN add-apt-repository -y ppa:fcwu-tw/apps \
&& apt update \ && apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
xvfb x11vnc=0.9.16-1 \ xvfb x11vnc=0.9.16-1 \
$APPS \ vim-tiny firefox chromium-browser ttf-ubuntu-font-family ttf-wqy-zenhei \
&& add-apt-repository -r ppa:fcwu-tw/apps \ && add-apt-repository -r ppa:fcwu-tw/apps \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
@ -53,13 +45,13 @@ RUN apt update \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Additional packages require ~600MB # Additional packages require ~600MB
# libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw # libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw
# tini for subreap # tini for subreap
ARG TINI_VERSION=v0.18.0 ARG TINI_VERSION=v0.18.0
ENV TINI_VERSION=$TINI_VERSION ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-armhf /bin/tini
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/tini
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
@ -70,7 +62,7 @@ RUN mkdir -p /usr/local/ffmpeg \
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
RUN apt-get update \ RUN apt-get update \
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
&& apt-get install -y python-pip python-dev \ && apt-get install -y python-pip python-dev build-essential \
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \ && pip install setuptools wheel && pip install -r /tmp/requirements.txt \
&& dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
@ -109,13 +101,6 @@ RUN cd /src/web \
&& yarn run build && yarn run build
RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js
# build frontend
COPY web /src/web
RUN cd /src/web \
&& yarn install \
&& yarn build
RUN cd /src/web/dist/static/novnc && patch -p0 < /src/web/novnc-armhf-1.patch RUN cd /src/web/dist/static/novnc && patch -p0 < /src/web/novnc-armhf-1.patch

View file

@ -27,53 +27,39 @@ RUN apt update \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
{%if image == "ubuntu:18.04"%}
ENV X11VNC_VERSION=0.9.16-1
{%else%}
ENV X11VNC_VERSION=0.9.14-1*
# arc-theme
RUN add-apt-repository -y ppa:noobslab/themes
{%endif%}
# install debs error if combine together # install debs error if combine together
RUN add-apt-repository -y ppa:fcwu-tw/apps \ RUN apt update \
&& apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
xvfb x11vnc=$X11VNC_VERSION \ xvfb x11vnc \
{%for package in addon_packages%}{{package}} {%endfor%} \ vim-tiny firefox ttf-ubuntu-font-family ttf-wqy-zenhei \
&& add-apt-repository -r ppa:fcwu-tw/apps \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt install -y gpg-agent \
&& curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& (dpkg -i ./google-chrome-stable_current_amd64.deb || apt-get install -fy) \
&& curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add \
&& rm google-chrome-stable_current_amd64.deb \
&& rm -rf /var/lib/apt/lists/*
{%if desktop == "lxde" %} {%if desktop == "lxde" %}
{%endif%}
{%if desktop == "lxqt" %}
{%endif%}
{%if desktop == "xfce4" %}
{%endif%}
RUN apt update \ RUN apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \ && apt install -y --no-install-recommends --allow-unauthenticated \
lxde gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \ lxde gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \
&& apt autoclean -y \ && apt autoclean -y \
&& apt autoremove -y \ && apt autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
{%endif%}
{%if desktop == "lxqt" %}
RUN apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \
lxqt openbox gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf arc-theme \
&& apt autoclean -y \
&& apt autoremove -y \
&& rm -rf /var/lib/apt/lists/*
{%endif%}
{%if desktop == "xfce4" %}
RUN apt update \
&& apt install -y --no-install-recommends --allow-unauthenticated \
xubuntu-desktop \
&& apt autoclean -y \
&& apt autoremove -y \
&& rm -rf /var/lib/apt/lists/*
{%endif%}
# Additional packages require ~600MB # Additional packages require ~600MB
# libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw # libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw
# tini for subreap # tini to fix subreap
ARG TINI_VERSION=v0.18.0 ARG TINI_VERSION=v0.18.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-{{arch}} /bin/tini ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/tini
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
@ -84,13 +70,13 @@ RUN apt update \
&& mkdir /usr/local/ffmpeg \ && mkdir /usr/local/ffmpeg \
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg && ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
# python library # python library
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/ COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
RUN apt-get update \ RUN apt-get update \
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
&& apt-get install -y python-pip python-dev build-essential \ && apt-get install -y python3-pip python3-dev build-essential \
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \ && pip3 install setuptools wheel && pip3 install -r /tmp/requirements.txt \
&& ln -s /usr/bin/python3 /usr/local/bin/python \
&& dpkg-query -W -f='${Package}\n' > /tmp/b.txt \ && dpkg-query -W -f='${Package}\n' > /tmp/b.txt \
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \ && apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
&& apt-get autoclean -y \ && apt-get autoclean -y \

View file

@ -4,13 +4,10 @@
REPO ?= dorowu/ubuntu-desktop-lxde-vnc REPO ?= dorowu/ubuntu-desktop-lxde-vnc
TAG ?= latest TAG ?= latest
# you can choose other base image versions # you can choose other base image versions
IMAGE ?= ubuntu:18.04 IMAGE ?= ubuntu:20.04
LOCALBUILD ?= tw # IMAGE ?= nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
HTTP_PASSWORD ?= 123456
CUSTOM_USER ?= ubuntu
PASSWORD ?= ubuntu
# choose from supported flavors (see available ones in ./flavors/*.yml) # choose from supported flavors (see available ones in ./flavors/*.yml)
FLAVOR ?= lxqt FLAVOR ?= lxde
# armhf or amd64 # armhf or amd64
ARCH ?= amd64 ARCH ?= amd64
@ -24,13 +21,14 @@ build: $(templates)
# Test run the container # Test run the container
# the local dir will be mounted under /src read-only # the local dir will be mounted under /src read-only
run: run:
docker run --rm \ docker run --privileged --rm \
-p 6080:80 -p 6081:443 \ -p 6080:80 -p 6081:443 \
-v ${PWD}:/src:ro \ -v ${PWD}:/src:ro \
-e USER=doro -e PASSWORD=mypassword \ -e USER=doro -e PASSWORD=mypassword \
-e ALSADEV=hw:2,0 \ -e ALSADEV=hw:2,0 \
-e SSL_PORT=443 \ -e SSL_PORT=443 \
-e RELATIVE_URL_ROOT=approot \ -e RELATIVE_URL_ROOT=approot \
-e OPENBOX_ARGS="--startup /usr/bin/galculator" \
-v ${PWD}/ssl:/etc/nginx/ssl \ -v ${PWD}/ssl:/etc/nginx/ssl \
--device /dev/snd \ --device /dev/snd \
--name ubuntu-desktop-lxde-test \ --name ubuntu-desktop-lxde-test \

View file

@ -1,17 +1,33 @@
docker-ubuntu-vnc-desktop # docker-ubuntu-vnc-desktop
=========================
[![Docker Pulls](https://img.shields.io/docker/pulls/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/) [![Docker Pulls](https://img.shields.io/docker/pulls/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/)
[![Docker Stars](https://img.shields.io/docker/stars/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/) [![Docker Stars](https://img.shields.io/docker/stars/dorowu/ubuntu-desktop-lxde-vnc.svg)](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/)
Docker image to provide HTML5 VNC interface to access a Ubuntu 18.04 LXDE desktop environment. docker-ubuntu-vnc-desktop is a Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.
Quick Start <!-- @import "[TOC]" {cmd="toc" depthFrom=2 depthTo=2 orderedList=false} -->
-------------------------
<!-- code_chunk_output -->
- [Quick Start](#quick-start)
- [VNC Viewer](#vnc-viewer)
- [HTTP Base Authentication](#http-base-authentication)
- [SSL](#ssl)
- [Screen Resolution](#screen-resolution)
- [Default Desktop User](#default-desktop-user)
- [Deploy to a subdirectory (relative url root)](#deploy-to-a-subdirectory-relative-url-root)
- [Sound (Preview version and Linux only)](#sound-preview-version-and-linux-only)
- [Generate Dockerfile from jinja template](#generate-dockerfile-from-jinja-template)
- [Troubleshooting and FAQ](#troubleshooting-and-faq)
- [License](#license)
<!-- /code_chunk_output -->
## Quick Start
Run the docker container and access with port `6080` Run the docker container and access with port `6080`
``` ```shell
docker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
@ -19,100 +35,95 @@ Browse http://127.0.0.1:6080/
<img src="https://raw.github.com/fcwu/docker-ubuntu-vnc-desktop/master/screenshots/lxde.png?v1" width=700/> <img src="https://raw.github.com/fcwu/docker-ubuntu-vnc-desktop/master/screenshots/lxde.png?v1" width=700/>
**Ubuntu Version** ### Ubuntu Flavors
Choose your favorite Ubuntu version with [tags](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/tags/) Choose your favorite Ubuntu version with [tags](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/tags/)
- bionic: Ubuntu 18.04 (latest) - focal: Ubuntu 20.04 (latest)
- focal-lxqt: Ubuntu 20.04 LXQt
- bionic: Ubuntu 18.04
- bionic-lxqt: Ubuntu 18.04 LXQt - bionic-lxqt: Ubuntu 18.04 LXQt
- xenial: Ubuntu 16.04 - xenial: Ubuntu 16.04 (deprecated)
- trusty: Ubuntu 14.04 - trusty: Ubuntu 14.04 (deprecated)
VNC Viewer ## VNC Viewer
------------------
Forward VNC service port 5900 to host by Forward VNC service port 5900 to host by
``` ```shell
docker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -p 5900:5900 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
Now, open the vnc viewer and connect to port 5900. If you would like to protect vnc service by password, set environment variable `VNC_PASSWORD`, for example Now, open the vnc viewer and connect to port 5900. If you would like to protect vnc service by password, set environment variable `VNC_PASSWORD`, for example
``` ```shell
docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
A prompt will ask password either in the browser or vnc viewer. A prompt will ask password either in the browser or vnc viewer.
HTTP Base Authentication ## HTTP Base Authentication
---------------------------
This image provides base access authentication of HTTP via `HTTP_PASSWORD` This image provides base access authentication of HTTP via `HTTP_PASSWORD`
``` ```shell
docker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
SSL ## SSL
--------------------
To connect with SSL, generate self signed SSL certificate first if you don't have it To connect with SSL, generate self signed SSL certificate first if you don't have it
``` ```shell
mkdir -p ssl mkdir -p ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx.key -out ssl/nginx.crt openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx.key -out ssl/nginx.crt
``` ```
Specify SSL port by `SSL_PORT`, certificate path to `/etc/nginx/ssl`, and forward it to 6081 Specify SSL port by `SSL_PORT`, certificate path to `/etc/nginx/ssl`, and forward it to 6081
``` ```shell
docker run -p 6081:443 -e SSL_PORT=443 -v ${PWD}/ssl:/etc/nginx/ssl -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6081:443 -e SSL_PORT=443 -v ${PWD}/ssl:/etc/nginx/ssl -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
Screen Resolution ## Screen Resolution
------------------
The Resolution of virtual desktop adapts browser window size when first connecting the server. You may choose a fixed resolution by passing `RESOLUTION` environment variable, for example The Resolution of virtual desktop adapts browser window size when first connecting the server. You may choose a fixed resolution by passing `RESOLUTION` environment variable, for example
``` ```shell
docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
Default Desktop User ## Default Desktop User
--------------------
The default user is `root`. You may change the user and password respectively by `USER` and `PASSWORD` environment variable, for example, The default user is `root`. You may change the user and password respectively by `USER` and `PASSWORD` environment variable, for example,
``` ```shell
docker run -p 6080:80 -e USER=doro -e PASSWORD=password -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -e USER=doro -e PASSWORD=password -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
``` ```
Deploy to a subdirectory (relative url root) ## Deploy to a subdirectory (relative url root)
--------------------------------------------
You may deploy this application to a subdirectory, for example `/some-prefix/`. You then can access application by `http://127.0.0.1:6080/some-prefix/`. This can be specified using the `RELATIVE_URL_ROOT` configuration option like this You may deploy this application to a subdirectory, for example `/some-prefix/`. You then can access application by `http://127.0.0.1:6080/some-prefix/`. This can be specified using the `RELATIVE_URL_ROOT` configuration option like this
``` ```shell
docker run -p 6080:80 -e RELATIVE_URL_ROOT=some-prefix dorowu/ubuntu-desktop-lxde-vnc docker run -p 6080:80 -e RELATIVE_URL_ROOT=some-prefix dorowu/ubuntu-desktop-lxde-vnc
``` ```
NOTE: this variable should not have any leading and trailing splash (/) NOTE: this variable should not have any leading and trailing splash (/)
Sound (Preview version and Linux only) ## Sound (Preview version and Linux only)
--------------------------------------
It only works in Linux. It only works in Linux.
First of all, insert kernel module `snd-aloop` and specify `2` as the index of sound loop device First of all, insert kernel module `snd-aloop` and specify `2` as the index of sound loop device
``` ```shell
sudo modprobe snd-aloop index=2 sudo modprobe snd-aloop index=2
``` ```
Start the container Start the container
``` ```shell
docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnc
``` ```
@ -125,8 +136,9 @@ Following is the screen capture of these operations. Turn on your sound at the e
[![demo video](http://img.youtube.com/vi/Kv9FGClP1-k/0.jpg)](http://www.youtube.com/watch?v=Kv9FGClP1-k) [![demo video](http://img.youtube.com/vi/Kv9FGClP1-k/0.jpg)](http://www.youtube.com/watch?v=Kv9FGClP1-k)
Generate Dockerfile from jinja template ## Generate Dockerfile from jinja template
-------------------
WARNING: Deprecated
Dockerfile and configuration can be generated by template. Dockerfile and configuration can be generated by template.
@ -138,17 +150,15 @@ Dockerfile and configuration can be generated by template.
Dockerfile and configuration are re-generate if they do not exist. Or you may force to re-generate by removing them with the command `make clean`. Dockerfile and configuration are re-generate if they do not exist. Or you may force to re-generate by removing them with the command `make clean`.
Troubleshooting and FAQ ## Troubleshooting and FAQ
==================
1. boot2docker connection issue, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/2 1. boot2docker connection issue, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/2
2. Multi-language supports, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/80 2. Multi-language supports, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/80
3. Autostart, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/85 3. Autostart, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/85#issuecomment-466778407
4. x11vnc arguments(multiptr), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/101 4. x11vnc arguments(multiptr), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/101
5. firefox/chrome crash (/dev/shm), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/112 5. firefox/chrome crash (/dev/shm), https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/112
6. resize display size without destroying container, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/115#issuecomment-522426037 6. resize display size without destroying container, https://github.com/fcwu/docker-ubuntu-vnc-desktop/issues/115#issuecomment-522426037
License ## License
==================
See the LICENSE file for details. See the LICENSE file for details.

View file

@ -13,28 +13,30 @@ server {
root /usr/local/lib/web/frontend/; root /usr/local/lib/web/frontend/;
index index.html index.htm; index index.html index.htm;
location ~ /api/ {
try_files $uri @api;
}
location ~ /resize$ {
try_files $uri @api;
}
#_RELATIVE_URL_ROOT_location /_RELATIVE_URL_ROOT_/ { #_RELATIVE_URL_ROOT_location /_RELATIVE_URL_ROOT_/ {
#_RELATIVE_URL_ROOT_ rewrite /_RELATIVE_URL_ROOT_/(.*) /$1 break; #_RELATIVE_URL_ROOT_ rewrite /_RELATIVE_URL_ROOT_/(.*) /$1 break;
#_RELATIVE_URL_ROOT_ root /usr/local/lib/web/frontend/; #_RELATIVE_URL_ROOT_ root /usr/local/lib/web/frontend/;
#_RELATIVE_URL_ROOT_} #_RELATIVE_URL_ROOT_}
location ~ /websockify$ { location ~ .*/(api/.*|websockify) {
try_files $uri @api$http_upgrade;
}
location / {
rewrite /approot/(.*) /$1 break;
root /usr/local/lib/web/frontend/;
}
location @apiwebsocket {
#_RELATIVE_URL_ROOT_rewrite /_RELATIVE_URL_ROOT_/(.*) $1 break; #_RELATIVE_URL_ROOT_rewrite /_RELATIVE_URL_ROOT_/(.*) $1 break;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_connect_timeout 7d; proxy_connect_timeout 7d;
proxy_send_timeout 7d; proxy_send_timeout 7d;
proxy_read_timeout 7d; proxy_read_timeout 7d;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:6081; proxy_pass http://127.0.0.1:6081;
} }
@ -43,8 +45,8 @@ server {
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_pass http://127.0.0.1:6079;
max_ranges 0; max_ranges 0;
proxy_pass http://127.0.0.1:6079;
} }
} }

View file

@ -19,27 +19,31 @@ stderr_logfile_maxbytes=0
[group:x] [group:x]
# programs=xvfb,wm,lxpanel,pcmanfm,x11vnc,novnc programs=xvfb,wm,lxpanel,pcmanfm,x11vnc,novnc
programs=xvfb,lxpanel,x11vnc,novnc
# [program:wm] [program:wm]
# priority=15 priority=15
# command=/usr/bin/openbox command=/usr/bin/openbox
# environment=DISPLAY=":1",HOME="/root",USER="root" environment=DISPLAY=":1",HOME="/root",USER="root"
[program:lxpanel] [program:lxpanel]
priority=15 priority=15
directory=%HOME% directory=%HOME%
command=/usr/bin/startlxqt command=/usr/bin/lxpanel --profile LXDE
user=%USER% user=%USER%
environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%" environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%"
# [program:pcmanfm] [program:pcmanfm]
# priority=15 priority=15
# directory=%HOME% directory=%HOME%
# command=/usr/bin/pcmanfm --desktop --profile LXDE command=/usr/bin/pcmanfm --desktop --profile LXDE
# user=%USER% user=%USER%
# environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%" stopwaitsecs=3
environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%"
[program:xvfb] [program:xvfb]

View file

@ -1,187 +0,0 @@
[General]
AllowGrabBaseKeypad=true
AllowGrabBaseSpecial=false
AllowGrabLocks=false
AllowGrabMiscKeypad=true
AllowGrabMiscSpecial=true
MultipleActionsBehaviour=first
[Alt%2BF1.1]
Comment=Show/hide main menu
Enabled=true
path=/panel/mainmenu/show_hide
[Alt%2BF2.2]
Comment=Show/hide runner dialog
Enabled=true
path=/runner/show_hide_dialog
[Control%2BAlt%2BD.3]
Comment=Show desktop
Enabled=true
path=/panel/showdesktop/show_hide
[Control%2BAlt%2BE.4]
Comment=Pcmanfm
Enabled=true
Exec=pcmanfm-qt
[Control%2BAlt%2BI.5]
Comment=Web browser
Enabled=true
Exec=xdg-open, about:blank
[Control%2BAlt%2BT.6]
Comment=QTerminal
Enabled=true
Exec=qterminal
[Control%2BF1.7]
Comment=Switch to desktop 1
Enabled=true
path=/panel/desktopswitch/desktop_1
[Control%2BF10.8]
Comment=Switch to desktop 10
Enabled=true
path=/panel/desktopswitch/desktop_10
[Control%2BF11.9]
Comment=Switch to desktop 11
Enabled=true
path=/panel/desktopswitch/desktop_11
[Control%2BF12.10]
Comment=Switch to desktop 12
Enabled=true
path=/panel/desktopswitch/desktop_12
[Control%2BF2.11]
Comment=Switch to desktop 2
Enabled=true
path=/panel/desktopswitch/desktop_2
[Control%2BF3.12]
Comment=Switch to desktop 3
Enabled=true
path=/panel/desktopswitch/desktop_3
[Control%2BF4.13]
Comment=Switch to desktop 4
Enabled=true
path=/panel/desktopswitch/desktop_4
[Control%2BF5.14]
Comment=Switch to desktop 5
Enabled=true
path=/panel/desktopswitch/desktop_5
[Control%2BF6.15]
Comment=Switch to desktop 6
Enabled=true
path=/panel/desktopswitch/desktop_6
[Control%2BF7.16]
Comment=Switch to desktop 7
Enabled=true
path=/panel/desktopswitch/desktop_7
[Control%2BF8.17]
Comment=Switch to desktop 8
Enabled=true
path=/panel/desktopswitch/desktop_8
[Control%2BF9.18]
Comment=Switch to desktop 9
Enabled=true
path=/panel/desktopswitch/desktop_9
[Meta%2B0.19]
Comment=Activate task 10
Enabled=true
path=/panel/taskbar/task_10
[Meta%2B1.20]
Comment=Activate task 1
Enabled=true
path=/panel/taskbar/task_1
[Meta%2B2.21]
Comment=Activate task 2
Enabled=true
path=/panel/taskbar/task_2
[Meta%2B3.22]
Comment=Activate task 3
Enabled=true
path=/panel/taskbar/task_3
[Meta%2B4.23]
Comment=Activate task 4
Enabled=true
path=/panel/taskbar/task_4
[Meta%2B5.24]
Comment=Activate task 5
Enabled=true
path=/panel/taskbar/task_5
[Meta%2B6.25]
Comment=Activate task 6
Enabled=true
path=/panel/taskbar/task_6
[Meta%2B7.26]
Comment=Activate task 7
Enabled=true
path=/panel/taskbar/task_7
[Meta%2B8.27]
Comment=Activate task 8
Enabled=true
path=/panel/taskbar/task_8
[Meta%2B9.28]
Comment=Activate task 9
Enabled=true
path=/panel/taskbar/task_9
[Print.29]
Comment=screen shot
Enabled=true
Exec=lximage-qt, -s
[Shift%2BControl%2BF6.30]
Comment=\x2600 \x2193
Enabled=true
Exec=lxqt-config-brightness, -d
[Shift%2BControl%2BF7.31]
Comment=\x2600 \x2191
Enabled=true
Exec=lxqt-config-brightness, -i
[XF86AudioLowerVolume.32]
Comment=Decrease sound volume
Enabled=true
path=/panel/volume/down
[XF86AudioMute.33]
Comment=Mute/unmute sound volume
Enabled=true
path=/panel/volume/mute
[XF86AudioRaiseVolume.34]
Comment=Increase sound volume
Enabled=true
path=/panel/volume/up
[XF86MonBrightnessDown.35]
Comment=\x2600 \x2193
Enabled=true
Exec=lxqt-config-brightness, -d
[XF86MonBrightnessUp.36]
Comment=\x2600 \x2191
Enabled=true
Exec=lxqt-config-brightness, -i

View file

@ -1,6 +0,0 @@
[General]
__userfile__=true
enableBatteryWatcher=false
enableIdlenessWatcher=true
enableLidWatcher=false
runCheckLevel=1

View file

@ -1,2 +0,0 @@
[General]
__userfile__=true

View file

@ -1,4 +0,0 @@
[General]
__userfile__=true
icon_theme=LoginIcons
theme=light

View file

@ -1,2 +0,0 @@
[General]
__userfile__=true

View file

@ -1,46 +0,0 @@
[General]
__userfile__=true
[desktopswitch]
alignment=Left
type=desktopswitch
[mainmenu]
alignment=Left
type=mainmenu
[panel1]
alignment=-1
animation-duration=0
background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
background-image=
desktop=0
font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
hidable=false
iconSize=22
lineCount=1
lockPanel=false
opacity=100
panelSize=32
plugins=mainmenu, desktopswitch, quicklaunch, taskbar, clock, showdesktop
position=Bottom
reserve-space=true
show-delay=0
width=100
width-percent=true
[quicklaunch]
alignment=Left
apps\1\desktop=/usr/share/applications/chromium-browser.desktop
apps\2\desktop=/usr/share/applications/pcmanfm-qt.desktop
apps\3\desktop=/usr/share/applications/qterminal.desktop
apps\size=3
type=quicklaunch
[showdesktop]
alignment=Right
type=showdesktop
[taskbar]
alignment=Left
type=taskbar

View file

@ -1,2 +0,0 @@
[General]
__userfile__=true

View file

@ -1,2 +0,0 @@
[General]
__userfile__=true

View file

@ -1,744 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
Copy the file to $HOME/.config/openbox/lxqt-rc.xml instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc"
xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>no</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>yes</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>200</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>yes</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
<monitor>Primary</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>1</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or
'Active' - where the active window is -->
</placement>
<theme>
<name>Onyx</name>
<titleLayout>NLIMC</titleLayout>
<!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>yes</keepBorder>
<animateIconify>yes</animateIconify>
<font place="ActiveWindow">
<name>sans</name>
<size>10</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveWindow">
<name>sans</name>
<size>10</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuHeader">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuItem">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="ActiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session
these are default values to use when other ones are not already set
by other applications, or saved in your session
use obconf if you want to change these without having to log out
and back in -->
<number>2</number>
<firstdesk>1</firstdesk>
<names>
<!-- set names up here if you want to, like this:
<name>desktop 1</name>
<name>desktop 2</name>
-->
</names>
<popupTime>875</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>yes</drawContents>
<popupShow>Nonpixel</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>Center</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>10</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>10</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>0</top>
<bottom>0</bottom>
<left>0</left>
<right>0</right>
</margins>
<dock>
<position>TopLeft</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>0</floatingX>
<floatingY>0</floatingY>
<noStrut>no</noStrut>
<stacking>Above</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>Vertical</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>no</autoHide>
<hideDelay>300</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>300</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>Middle</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- Keybindings for desktop switching -->
<keybind key="C-A-Left">
<action name="GoToDesktop"><to>left</to><wrap>no</wrap></action>
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop"><to>right</to><wrap>no</wrap></action>
</keybind>
<keybind key="C-A-Up">
<action name="GoToDesktop"><to>up</to><wrap>no</wrap></action>
</keybind>
<keybind key="C-A-Down">
<action name="GoToDesktop"><to>down</to><wrap>no</wrap></action>
</keybind>
<keybind key="S-A-Left">
<action name="SendToDesktop"><to>left</to><wrap>no</wrap></action>
</keybind>
<keybind key="S-A-Right">
<action name="SendToDesktop"><to>right</to><wrap>no</wrap></action>
</keybind>
<keybind key="S-A-Up">
<action name="SendToDesktop"><to>up</to><wrap>no</wrap></action>
</keybind>
<keybind key="S-A-Down">
<action name="SendToDesktop"><to>down</to><wrap>no</wrap></action>
</keybind>
<keybind key="W-F1">
<action name="GoToDesktop"><to>1</to></action>
</keybind>
<keybind key="W-F2">
<action name="GoToDesktop"><to>2</to></action>
</keybind>
<keybind key="W-F3">
<action name="GoToDesktop"><to>3</to></action>
</keybind>
<keybind key="W-F4">
<action name="GoToDesktop"><to>4</to></action>
</keybind>
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
<!-- Keybindings for windows -->
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="A-Escape">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</keybind>
<keybind key="A-space">
<action name="ShowMenu"><menu>client-menu</menu></action>
</keybind>
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="NextWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Tab">
<action name="NextWindow">
<panels>yes</panels><desktop>yes</desktop>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<!-- Keybindings for window switching with the arrow keys -->
<keybind key="W-S-Right">
<action name="DirectionalCycleWindows">
<direction>right</direction>
</action>
</keybind>
<keybind key="W-S-Left">
<action name="DirectionalCycleWindows">
<direction>left</direction>
</action>
</keybind>
<keybind key="W-S-Up">
<action name="DirectionalCycleWindows">
<direction>up</direction>
</action>
</keybind>
<keybind key="W-S-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<!-- Keybindings for running applications.
Commented out as application shortcuts should be handled by lxqt-globalkeys in LXQt sessions.
<keybind key="W-q">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Qupzilla</name>
</startupnotify>
<command>qupzilla</command>
</action>
</keybind> -->
</keyboard>
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context name="Frame">
<mousebind button="A-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="A-Left" action="Click">
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="A-Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Right" action="Drag">
<action name="Resize"/>
</mousebind>
<mousebind button="A-Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="A-S-Up" action="Click">
<action name="SendToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="A-S-Down" action="Click">
<action name="SendToDesktop"><to>next</to></action>
</mousebind>
</context>
<context name="Titlebar">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
<then>
<action name="Shade"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
<action name="Lower"/>
</then>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="if">
<shaded>yes</shaded>
<then>
<action name="Unshade"/>
<action name="Raise"/>
</then>
</action>
</mousebind>
</context>
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu"><menu>client-menu</menu></action>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>top</edge></action>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>left</edge></action>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>right</edge></action>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize"><edge>bottom</edge></action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu"><menu>client-menu</menu></action>
</mousebind>
</context>
<context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
<action name="ShowMenu"><menu>client-menu</menu></action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu"><menu>client-menu</menu></action>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Middle" action="Click">
<action name="ToggleMaximize"><direction>vertical</direction></action>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ToggleMaximize"><direction>horizontal</direction></action>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Desktop">
<mousebind button="Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<!-- Menus -->
<mousebind button="Middle" action="Press">
<action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu"><menu>root-menu</menu></action>
</mousebind>
</context>
<context name="MoveResize">
<mousebind button="Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop"><to>previous</to></action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop"><to>next</to></action>
</mousebind>
</context>
</mouse>
<menu>
<!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless -->
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
<file>menu.xml</file>
<hideDelay>200</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again -->
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>400</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>yes</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
<applications>
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
# you may use one or more of the name/class/role/title/type rules to specify
# windows to match
<application name="the window's _OB_APP_NAME property (see obxprop)"
class="the window's _OB_APP_CLASS property (see obxprop)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
role="the window's _OB_APP_ROLE property (see obxprop)"
title="the window's _OB_APP_TITLE property (see obxprop)"
type="the window's _OB_APP_TYPE property (see obxprob)..
(if unspecified, then it is 'dialog' for child windows)">
# you may set only one of name/class/role/title/type, or you may use more
# than one together to restrict your matches.
# the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
# or desktop
# when multiple rules match a window, they will all be applied, in the
# order that they appear in this list
# each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# enable or disable window decorations
<shade>no</shade>
# make the window shaded when it appears, or not
<position force="no">
# the position is only used if both an x and y coordinate are provided
# (and not set to 'default')
# when force is "yes", then the window will be placed here even if it
# says you want it placed elsewhere. this is to override buggy
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
# the right edge (or bottom). use 'default' to specify using value
# provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
# 1 is the first head, or 'mouse' for wherever the mouse is
</position>
<size>
# the size to make the window.
<width>20</width>
# a number like 20, or 'default' to use the size given by the application.
# you can use fractions such as 1/2 or percentages such as 75% in which
# case the value is relative to the size of the monitor that the window
# appears on.
<height>30%</height>
</size>
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to
<desktop>1</desktop>
# 1 is the first desktop, 'all' for all desktops
<layer>normal</layer>
# 'above', 'normal', or 'below'
<iconic>no</iconic>
# make the window iconified when it appears, or not
<skip_pager>no</skip_pager>
# asks to not be shown in pagers
<skip_taskbar>no</skip_taskbar>
# asks to not be shown in taskbars. window cycling actions will also
# skip past such windows
<fullscreen>yes</fullscreen>
# make the window in fullscreen mode when it appears
<maximized>true</maximized>
# 'Horizontal', 'Vertical' or boolean (yes/no)
</application>
# end of the example
-->
</applications>
</openbox_config>

View file

@ -1,98 +0,0 @@
[Behavior]
AutoSelectionDelay=600
BookmarkOpenMethod=current_tab
ConfirmDelete=true
ConfirmTrash=false
NoUsbTrash=false
QuickExec=false
SingleClick=false
UseTrash=true
[Desktop]
BgColor=#000000
DesktopCellMargins=@Size(3 1)
DesktopIconSize=48
FgColor=#ffffff
Font="Sans Serif,10,-1,5,50,0,0,0,0,0"
LastSlide=
ShadowColor=#000000
ShowHidden=false
ShowWmMenu=false
SlideShowInterval=0
SortColumn=name
SortFolderFirst=true
SortOrder=ascending
Wallpaper=/usr/share/lxqt/themes/light/simple_blue_widescreen.png
WallpaperDirectory=
WallpaperMode=stretch
WallpaperRandomize=false
[FolderView]
BackupAsHidden=false
BigIconSize=48
FolderViewCellMargins=@Size(3 3)
Mode=icon
ShadowHidden=false
ShowFilter=false
ShowFullNames=false
ShowHidden=false
SidePaneIconSize=24
SmallIconSize=24
SortCaseSensitive=false
SortColumn=name
SortFolderFirst=true
SortOrder=ascending
ThumbnailIconSize=128
[Places]
PlacesApplications=true
PlacesComputer=true
PlacesDesktop=true
PlacesHome=true
PlacesNetwork=true
PlacesRoot=true
PlacesTrash=true
[Search]
searchContentCaseInsensitive=false
searchContentRegexp=true
searchNameCaseInsensitive=false
searchNameRegexp=true
searchRecursive=false
searchhHidden=false
[System]
Archiver=file-roller
FallbackIconThemeName=oxygen
OnlyUserTemplates=false
SIUnit=false
SuCommand=lxqt-sudo %s
TemplateRunApp=false
TemplateTypeOnce=false
Terminal=xterm
[Thumbnail]
MaxThumbnailFileSize=4096
ShowThumbnails=true
ThumbnailLocalFilesOnly=true
[Volume]
AutoRun=true
CloseOnUnmount=true
MountOnStartup=true
MountRemovable=true
[Window]
AlwaysShowTabs=false
FixedHeight=480
FixedWidth=640
FullWidthTabBar=true
LastWindowHeight=480
LastWindowMaximized=false
LastWindowWidth=640
PathBarButtons=true
RememberWindowSize=true
ShowMenuBar=true
ShowTabClose=true
SidePaneMode=places
SplitterPos=150

View file

@ -1 +0,0 @@
/usr/local/share/doro-lxde-wallpapers/desktop-items-0.conf

View file

@ -1 +0,0 @@
/tmp/pulse-PKdhtXMmr18n

View file

@ -1,12 +0,0 @@
[General]
HideTabBarWithOneTab=false
TerminalTransparency=0
version=0.8.0
[MainWindow]
ApplicationTransparency=0
pos=@Point(0 0)
size=@Size(640 480)
[Shortcuts]
Paste%20Clipboard=Ctrl+Shift+V

View file

@ -13,7 +13,7 @@ if [ -n "$X11VNC_ARGS" ]; then
fi fi
if [ -n "$OPENBOX_ARGS" ]; then if [ -n "$OPENBOX_ARGS" ]; then
sed -i "s#^command=/usr/bin/openbox.*#& ${OPENBOX_ARGS}#" /etc/supervisor/conf.d/supervisord.conf sed -i "s#^command=/usr/bin/openbox\$#& ${OPENBOX_ARGS}#" /etc/supervisor/conf.d/supervisord.conf
fi fi
if [ -n "$RESOLUTION" ]; then if [ -n "$RESOLUTION" ]; then

View file

@ -5,4 +5,4 @@ if [ -z "$ALSADEV" ]; then
exit 1 exit 1
fi fi
exec /usr/bin/chromium-browser --no-sandbox --alsa-output-device="$ALSADEV" "$@" exec /usr/bin/google-chrome --no-sandbox --alsa-output-device="$ALSADEV" "$@"

View file

@ -9,12 +9,11 @@ gevent-websocket==0.10.1
greenlet==0.4.15 greenlet==0.4.15
idna==2.8 idna==2.8
itsdangerous==1.1.0 itsdangerous==1.1.0
Jinja2==2.10.3 Jinja2==2.11.3
MarkupSafe==1.1.1 MarkupSafe==1.1.1
meld3==2.0.0 meld3==2.0.0
requests==2.22.0 requests==2.22.0
six==1.12.0 six==1.12.0
supervisor==4.1.0
urllib3==1.25.6 urllib3==1.25.6
websocket-client==0.47.0 websocket-client==0.47.0
Werkzeug==0.16.0 Werkzeug==0.16.0

View file

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
from __future__ import ( from __future__ import (
absolute_import, division, print_function, with_statement absolute_import, division, print_function, with_statement
) )

View file

@ -151,7 +151,7 @@ def liveflv():
cmd, cmd,
stdout=gsp.PIPE, stdout=gsp.PIPE,
stderr=gsp.PIPE, stderr=gsp.PIPE,
env={k: str(v) for k, v in xenvs.iteritems()}, env={k: str(v) for k, v in xenvs.items()},
) )
def readerr(f): def readerr(f):

View file

@ -31,7 +31,7 @@ class State(object):
output = gsp.check_output([ output = gsp.check_output([
'supervisorctl', '-c', '/etc/supervisor/supervisord.conf', 'supervisorctl', '-c', '/etc/supervisor/supervisord.conf',
'status' 'status'
]) ], encoding='UTF-8')
for line in output.strip().split('\n'): for line in output.strip().split('\n'):
if not line.startswith('web') and line.find('RUNNING') < 0: if not line.startswith('web') and line.find('RUNNING') < 0:
health = False health = False
@ -65,7 +65,7 @@ class State(object):
'sed -i \'s#' 'sed -i \'s#'
'^exec /usr/bin/Xvfb.*$' '^exec /usr/bin/Xvfb.*$'
'#' '#'
'exec /usr/bin/Xvfb :1 -screen 0 {}x{}x16' 'exec /usr/bin/Xvfb :1 -screen 0 {}x{}x24'
'#\' /usr/local/bin/xvfb.sh' '#\' /usr/local/bin/xvfb.sh'
).format(w, h), shell=True) ).format(w, h), shell=True)
self.size_changed_count += 1 self.size_changed_count += 1

View file

@ -1,139 +1,221 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Name=Chromium Web Browser Sound Name=Google Chrome Sound
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Web Browser GenericName=Web Browser
GenericName[ar]=متصفح الشبكة GenericName[ar]=متصفح الشبكة
GenericName[ast]=Restolador web
GenericName[bg]=Уеб браузър GenericName[bg]=Уеб браузър
GenericName[bn]=
GenericName[bs]=Web preglednik
GenericName[ca]=Navegador web GenericName[ca]=Navegador web
GenericName[ca@valencia]=Navegador web
GenericName[cs]=WWW prohlížeč GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser GenericName[da]=Browser
GenericName[de]=Web-Browser GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού GenericName[el]=Περιηγητής ιστού
GenericName[en_AU]=Web Browser
GenericName[en_GB]=Web Browser GenericName[en_GB]=Web Browser
GenericName[eo]=Retfoliumilo
GenericName[es]=Navegador web GenericName[es]=Navegador web
GenericName[et]=Veebibrauser GenericName[et]=Veebibrauser
GenericName[eu]=Web-nabigatzailea
GenericName[fi]=WWW-selain GenericName[fi]=WWW-selain
GenericName[fil]=Web Browser
GenericName[fr]=Navigateur Web GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador web
GenericName[gu]= GenericName[gu]=
GenericName[he]=דפדפן אינטרנט GenericName[he]=דפדפן אינטרנט
GenericName[hi]= GenericName[hi]=
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző GenericName[hu]=Webböngésző
GenericName[hy]=Ոստայն զննարկիչ GenericName[it]=Browser Web
GenericName[ia]=Navigator del Web GenericName[ja]=
GenericName[id]=Peramban Web
GenericName[it]=Browser web
GenericName[ja]=
GenericName[ka]=
GenericName[kn]= GenericName[kn]=
GenericName[ko]= GenericName[ko]=
GenericName[kw]=Peurel wias
GenericName[lt]=Žiniatinklio naršyklė GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]= GenericName[ml]=
GenericName[mr]= GenericName[mr]=
GenericName[ms]=Pelayar Web
GenericName[nb]=Nettleser GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser GenericName[nl]=Webbrowser
GenericName[or]=
GenericName[pl]=Przeglądarka WWW GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador web GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер GenericName[ru]=Веб-браузер
GenericName[sk]=WWW prehliadač
GenericName[sl]=Spletni brskalnik GenericName[sl]=Spletni brskalnik
GenericName[sr]=Интернет прегледник
GenericName[sv]=Webbläsare GenericName[sv]=Webbläsare
GenericName[ta]= ி GenericName[ta]= ி
GenericName[te]= ి
GenericName[th]= GenericName[th]=
GenericName[tr]=Web Tarayıcı GenericName[tr]=Web Tarayıcı
GenericName[ug]=توركۆرگۈ
GenericName[uk]=Навігатор Тенет GenericName[uk]=Навігатор Тенет
GenericName[vi]=B duyt Web
GenericName[zh_CN]= GenericName[zh_CN]=
GenericName[zh_HK]= GenericName[zh_HK]=
GenericName[zh_TW]= GenericName[zh_TW]=
# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
GenericName[bn]=
GenericName[fil]=Web Browser
GenericName[hr]=Web preglednik
GenericName[id]=Browser Web
GenericName[or]=
GenericName[sk]=WWW prehliadač
GenericName[sr]=Интернет прегледник
GenericName[te]= ి
GenericName[vi]=B duyt Web
# Gnome and KDE 3 uses Comment.
Comment=Access the Internet Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت Comment[ar]=الدخول إلى الإنترنت
Comment[ast]=Accesu a Internet
Comment[bg]=Достъп до интернет Comment[bg]=Достъп до интернет
Comment[bn]= Comment[bn]=ি
Comment[bs]=Pristup internetu Comment[ca]=Accedeix a Internet
Comment[ca]=Accediu a Internet
Comment[ca@valencia]=Accediu a Internet
Comment[cs]=Přístup k internetu Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_AU]=Access the Internet
Comment[en_GB]=Access the Internet Comment[en_GB]=Access the Internet
Comment[eo]=Akiri interreton Comment[es]=Accede a Internet.
Comment[es]=Acceda a Internet
Comment[et]=Pääs Internetti Comment[et]=Pääs Internetti
Comment[eu]=Sartu Internetera
Comment[fi]=Käytä internetiä Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet Comment[fil]=I-access ang Internet
Comment[fr]=Accéder à Internet Comment[fr]=Accéder à Internet
Comment[gl]=Acceda a Internet
Comment[gu]= Comment[gu]=
Comment[he]=גישה לאינטרנט Comment[he]=גישה אל האינטרנט
Comment[hi]= ि Comment[hi]= ि
Comment[hr]=Pristupite Internetu Comment[hr]=Pristup Internetu
Comment[hu]=Az internet elérése Comment[hu]=Internetelérés
Comment[hy]=Մուտք համացանց
Comment[ia]=Accede a le Interrete
Comment[id]=Akses Internet Comment[id]=Akses Internet
Comment[it]=Accesso a Internet Comment[it]=Accesso a Internet
Comment[ja]= Comment[ja]=
Comment[ka]=
Comment[kn]= ಿಿ Comment[kn]= ಿಿ
Comment[ko]= Comment[ko]=
Comment[kw]=Hedhes an Kesrosweyth
Comment[lt]=Interneto prieiga Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam Comment[lv]=Piekļūt internetam
Comment[ml]= Comment[ml]=
Comment[mr]= Comment[mr]=
Comment[ms]=Mengakses Internet Comment[nb]=Gå til Internett
Comment[nb]=Bruk internett
Comment[nl]=Verbinding maken met internet Comment[nl]=Verbinding maken met internet
Comment[or]= Comment[or]=
Comment[pl]=Skorzystaj z internetu Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesați Internetul Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету Comment[sr]=Приступите Интернету
Comment[sv]=Surfa på Internet Comment[sv]=Gå ut på Internet
Comment[ta]= Comment[ta]=
Comment[te]= ి Comment[te]= ి
Comment[th]= Comment[th]=
Comment[tr]=İnternet'e erişin Comment[tr]=İnternet'e erişin
Comment[ug]=ئىنتېرنېت زىيارىتى
Comment[uk]=Доступ до Інтернету Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cp Internet Comment[vi]=Truy cp Internet
Comment[zh_CN]=访 Comment[zh_CN]=访
Comment[zh_HK]= Comment[zh_HK]=
Comment[zh_TW]= Comment[zh_TW]=
Exec=/usr/local/bin/chromium-browser-sound.sh %U Exec=/usr/local/bin/chromium-browser-sound.sh %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=chromium-browser
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true StartupNotify=true
Actions=NewWindow;Incognito;TempProfile; Terminal=false
X-AppInstall-Package=chromium-browser Icon=google-chrome
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[am]=
Name[ar]=نافذة جديدة
Name[bg]=Нов прозорец
Name[bn]=
Name[ca]=Finestra nova
Name[cs]=Nové okno
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[el]=Νέο Παράθυρο
Name[en_GB]=New Window
Name[es]=Nueva ventana
Name[et]=Uus aken
Name[fa]=پنجره جدید
Name[fi]=Uusi ikkuna
Name[fil]=New Window
Name[fr]=Nouvelle fenêtre
Name[gu]= િ
Name[hi]= ि
Name[hr]=Novi prozor
Name[hu]=Új ablak
Name[id]=Jendela Baru
Name[it]=Nuova finestra
Name[iw]=חלון חדש
Name[ja]=
Name[kn]= ಿ
Name[ko]=
Name[lt]=Naujas langas
Name[lv]=Jauns logs
Name[ml]=ി ി
Name[mr]= ि
Name[nl]=Nieuw venster
Name[no]=Nytt vindu
Name[pl]=Nowe okno
Name[pt]=Nova janela
Name[pt_BR]=Nova janela
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[sr]=Нови прозор
Name[sv]=Nytt fönster
Name[sw]=Dirisha Jipya
Name[ta]=ி
Name[te]= ి
Name[th]=
Name[tr]=Yeni Pencere
Name[uk]=Нове вікно
Name[vi]=Ca s Mi
Name[zh_CN]=
Name[zh_TW]=
Exec=/usr/bin/google-chrome-stable
[Desktop Action new-private-window]
Name=New Incognito Window
Name[ar]=نافذة جديدة للتصفح المتخفي
Name[bg]=Нов прозорец инкогнито
Name[bn]=
Name[ca]=Finestra d'incògnit nova
Name[cs]=Nové anonymní okno
Name[da]=Nyt inkognitovindue
Name[de]=Neues Inkognito-Fenster
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
Name[en_GB]=New Incognito window
Name[es]=Nueva ventana de incógnito
Name[et]=Uus inkognito aken
Name[fa]=پنجره جدید حالت ناشناس
Name[fi]=Uusi incognito-ikkuna
Name[fil]=Bagong Incognito window
Name[fr]=Nouvelle fenêtre de navigation privée
Name[gu]= િ
Name[hi]= ि
Name[hr]=Novi anoniman prozor
Name[hu]=Új Inkognitóablak
Name[id]=Jendela Penyamaran baru
Name[it]=Nuova finestra di navigazione in incognito
Name[iw]=חלון חדש לגלישה בסתר
Name[ja]=
Name[kn]= ಿ
Name[ko]= 릿
Name[lt]=Naujas inkognito langas
Name[lv]=Jauns inkognito režīma logs
Name[ml]=ി ി
Name[mr]= ि
Name[nl]=Nieuw incognitovenster
Name[no]=Nytt inkognitovindu
Name[pl]=Nowe okno incognito
Name[pt]=Nova janela de navegação anónima
Name[pt_BR]=Nova janela anônima
Name[ro]=Fereastră nouă incognito
Name[ru]=Новое окно в режиме инкогнито
Name[sk]=Nové okno inkognito
Name[sl]=Novo okno brez beleženja zgodovine
Name[sr]=Нови прозор за прегледање без архивирања
Name[sv]=Nytt inkognitofönster
Name[ta]=ி ி
Name[te]= ి
Name[th]=
Name[tr]=Yeni Gizli pencere
Name[uk]=Нове вікно в режимі анонімного перегляду
Name[vi]=Ca s n danh mi
Name[zh_CN]=
Name[zh_TW]=
Exec=/usr/bin/google-chrome-stable --incognito

View file

@ -1,23 +0,0 @@
[General]
leave_confirmation=true
[Environment]
GTK_CSD=0
GTK_OVERLAY_SCROLLING=0
[Mouse]
cursor_size=18
cursor_theme=whiteglass
acc_factor=20
acc_threshold=10
left_handed=false
[Keyboard]
delay=500
interval=30
beep=false
[Font]
antialias=true
hinting=true
dpi=96

View file

@ -13,7 +13,7 @@
"build": "node build/build.js" "build": "node build/build.js"
}, },
"dependencies": { "dependencies": {
"axios": "^0.18.0", "axios": "^0.21.1",
"vue": "^2.5.2", "vue": "^2.5.2",
"vue-material": "^1.0.0-beta-10.2", "vue-material": "^1.0.0-beta-10.2",
"vue-router": "^3.0.1" "vue-router": "^3.0.1"
@ -49,7 +49,7 @@
"friendly-errors-webpack-plugin": "^1.6.1", "friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1", "html-webpack-plugin": "^2.30.1",
"nightwatch": "^0.9.12", "nightwatch": "^0.9.12",
"node-notifier": "^5.4.0", "node-notifier": "^8.0.1",
"optimize-css-assets-webpack-plugin": "^3.2.0", "optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0", "ora": "^1.2.0",
"portfinder": "^1.0.13", "portfinder": "^1.0.13",

View file

@ -136,7 +136,7 @@ export default {
// console.trace() // console.trace()
console.log(`connecting...`) console.log(`connecting...`)
this.errorMessage = '' this.errorMessage = ''
let websockifyPath = 'websockify' let websockifyPath = location.pathname.substr(1) + 'websockify'
if (force || this.vncState === 'stopped') { if (force || this.vncState === 'stopped') {
this.vncState = 'connecting' this.vncState = 'connecting'
let hostname = window.location.hostname let hostname = window.location.hostname

View file

@ -374,12 +374,11 @@ aws4@^1.8.0:
version "1.8.0" version "1.8.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
axios@^0.18.0: axios@^0.21.1:
version "0.18.1" version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
dependencies: dependencies:
follow-redirects "1.5.10" follow-redirects "^1.10.0"
is-buffer "^2.0.2"
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0" version "6.26.0"
@ -1030,9 +1029,9 @@ bluebird@^3.1.1, bluebird@^3.4.7, bluebird@^3.5.1:
version "3.7.1" version "3.7.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de"
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9:
version "4.11.8" version "4.12.0"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
body-parser@1.19.0: body-parser@1.19.0:
version "1.19.0" version "1.19.0"
@ -1086,7 +1085,7 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2" split-string "^3.0.2"
to-regex "^3.0.1" to-regex "^3.0.1"
brorand@^1.0.1: brorand@^1.0.1, brorand@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@ -2051,13 +2050,7 @@ debug@4.1.0:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@=3.1.0: debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
ms "2.0.0"
debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
version "3.2.6" version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
dependencies: dependencies:
@ -2304,8 +2297,8 @@ domutils@^1.5.1, domutils@^1.7.0:
domelementtype "1" domelementtype "1"
dot-prop@^4.1.1: dot-prop@^4.1.1:
version "4.2.0" version "4.2.1"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
dependencies: dependencies:
is-obj "^1.0.0" is-obj "^1.0.0"
@ -2346,16 +2339,16 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.284, electron-to-chromium
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.290.tgz#a3f345abe4f1fb0a2fedf51193f4f4489bb94a82" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.290.tgz#a3f345abe4f1fb0a2fedf51193f4f4489bb94a82"
elliptic@^6.0.0: elliptic@^6.0.0:
version "6.5.1" version "6.5.4"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
dependencies: dependencies:
bn.js "^4.4.0" bn.js "^4.11.9"
brorand "^1.0.1" brorand "^1.1.0"
hash.js "^1.0.0" hash.js "^1.0.0"
hmac-drbg "^1.0.0" hmac-drbg "^1.0.1"
inherits "^2.0.1" inherits "^2.0.4"
minimalistic-assert "^1.0.0" minimalistic-assert "^1.0.1"
minimalistic-crypto-utils "^1.0.0" minimalistic-crypto-utils "^1.0.1"
emoji-regex@^7.0.1: emoji-regex@^7.0.1:
version "7.0.3" version "7.0.3"
@ -2718,8 +2711,8 @@ event-emitter@~0.3.5:
es5-ext "~0.10.14" es5-ext "~0.10.14"
eventemitter3@^4.0.0: eventemitter3@^4.0.0:
version "4.0.0" version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
events@^3.0.0: events@^3.0.0:
version "3.0.0" version "3.0.0"
@ -3030,17 +3023,9 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3" inherits "^2.0.3"
readable-stream "^2.3.6" readable-stream "^2.3.6"
follow-redirects@1.5.10: follow-redirects@^1.0.0, follow-redirects@^1.10.0:
version "1.5.10" version "1.13.3"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
dependencies:
debug "=3.1.0"
follow-redirects@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f"
dependencies:
debug "^3.0.0"
for-in@^1.0.2: for-in@^1.0.2:
version "1.0.2" version "1.0.2"
@ -3393,7 +3378,7 @@ hex-color-regex@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
hmac-drbg@^1.0.0: hmac-drbg@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
dependencies: dependencies:
@ -3532,8 +3517,8 @@ http-proxy-middleware@0.19.1:
micromatch "^3.1.10" micromatch "^3.1.10"
http-proxy@^1.17.0: http-proxy@^1.17.0:
version "1.18.0" version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
dependencies: dependencies:
eventemitter3 "^4.0.0" eventemitter3 "^4.0.0"
follow-redirects "^1.0.0" follow-redirects "^1.0.0"
@ -3634,7 +3619,7 @@ inflight@^1.0.4:
once "^1.3.0" once "^1.3.0"
wrappy "1" wrappy "1"
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
@ -3647,8 +3632,8 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
version "1.3.5" version "1.3.7"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
inquirer@^3.0.6: inquirer@^3.0.6:
version "3.3.0" version "3.3.0"
@ -3756,10 +3741,6 @@ is-buffer@^1.1.5:
version "1.1.6" version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
is-buffer@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
is-callable@^1.1.4: is-callable@^1.1.4:
version "1.1.4" version "1.1.4"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
@ -3811,6 +3792,10 @@ is-directory@^0.3.1:
version "0.3.1" version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
is-docker@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
is-extendable@^0.1.0, is-extendable@^0.1.1: is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@ -3957,6 +3942,12 @@ is-wsl@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
dependencies:
is-docker "^2.0.0"
is2@2.0.1: is2@2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.1.tgz#8ac355644840921ce435d94f05d3a94634d3481a" resolved "https://registry.yarnpkg.com/is2/-/is2-2.0.1.tgz#8ac355644840921ce435d94f05d3a94634d3481a"
@ -4323,8 +4314,8 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0:
version "4.17.15" version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
log-symbols@^2.1.0: log-symbols@^2.1.0:
version "2.2.0" version "2.2.0"
@ -4357,6 +4348,12 @@ lru-cache@^4.0.1, lru-cache@^4.1.1:
pseudomap "^1.0.2" pseudomap "^1.0.2"
yallist "^2.1.2" yallist "^2.1.2"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
dependencies:
yallist "^4.0.0"
lru-cache@~2.6.5: lru-cache@~2.6.5:
version "2.6.5" version "2.6.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.6.5.tgz#e56d6354148ede8d7707b58d143220fd08df0fd5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.6.5.tgz#e56d6354148ede8d7707b58d143220fd08df0fd5"
@ -4499,7 +4496,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: minimalistic-crypto-utils@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
@ -4735,15 +4732,16 @@ node-libs-browser@^2.0.0:
util "^0.11.0" util "^0.11.0"
vm-browserify "^1.0.1" vm-browserify "^1.0.1"
node-notifier@^5.4.0: node-notifier@^8.0.1:
version "5.4.3" version "8.0.1"
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1"
dependencies: dependencies:
growly "^1.3.0" growly "^1.3.0"
is-wsl "^1.1.0" is-wsl "^2.2.0"
semver "^5.5.0" semver "^7.3.2"
shellwords "^0.1.1" shellwords "^0.1.1"
which "^1.3.0" uuid "^8.3.0"
which "^2.0.2"
node-pre-gyp@^0.12.0: node-pre-gyp@^0.12.0:
version "0.12.0" version "0.12.0"
@ -6414,6 +6412,12 @@ semver@^6.3.0:
version "6.3.0" version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
semver@^7.3.2:
version "7.3.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
dependencies:
lru-cache "^6.0.0"
semver@~5.0.1: semver@~5.0.1:
version "5.0.3" version "5.0.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
@ -7259,6 +7263,10 @@ uuid@^3.0.1, uuid@^3.3.2:
version "3.3.3" version "3.3.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
uuid@^8.3.0:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
v8-compile-cache@2.0.3: v8-compile-cache@2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe"
@ -7504,8 +7512,8 @@ websocket-driver@>=0.5.1:
websocket-extensions ">=0.1.1" websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1: websocket-extensions@>=0.1.1:
version "0.1.3" version "0.1.4"
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
whet.extend@~0.9.9: whet.extend@~0.9.9:
version "0.9.9" version "0.9.9"
@ -7515,12 +7523,18 @@ which-module@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: which@^1.2.14, which@^1.2.9, which@^1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
dependencies: dependencies:
isexe "^2.0.0" isexe "^2.0.0"
which@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0: wide-align@^1.1.0:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@ -7602,8 +7616,8 @@ xxhashjs@^0.2.1:
cuint "^0.2.2" cuint "^0.2.2"
y18n@^3.2.1: y18n@^3.2.1:
version "3.2.1" version "3.2.2"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
version "4.0.0" version "4.0.0"
@ -7617,6 +7631,10 @@ yallist@^3.0.0, yallist@^3.0.3:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
yargs-parser@^11.1.1: yargs-parser@^11.1.1:
version "11.1.1" version "11.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"