Compare commits
31 commits
bionic-lxq
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4922ce92f | ||
|
|
402ae8480e | ||
|
|
2af5a6de3d | ||
|
|
fc062fd475 | ||
|
|
7cc73c0903 | ||
|
|
534231c44b | ||
|
|
4bf2bab0e4 | ||
|
|
51c11693b8 | ||
|
|
6b473f3409 | ||
|
|
ba08e79a0a | ||
|
|
7dbf4dcfa7 | ||
|
|
ed863976d8 | ||
|
|
09a4c478a5 | ||
|
|
8d323eca97 | ||
|
|
cd4ba0b05d | ||
|
|
9a06ac1255 | ||
|
|
58213d8593 | ||
|
|
75c5f5549f | ||
|
|
8e6e37e097 | ||
|
|
d58b5c2f22 | ||
|
|
c41043bec9 | ||
|
|
245ac95552 | ||
|
|
c571aa57bf | ||
|
|
beb25ee06a | ||
|
|
3c7b6dd70c | ||
|
|
12a80b7c53 | ||
|
|
9d7362e87c | ||
|
|
ae4e571be3 | ||
|
|
c3bce99da9 | ||
|
|
0e70047bdc | ||
|
|
2bd60c0f88 |
34 changed files with 382 additions and 1425 deletions
|
|
@ -1,2 +1 @@
|
|||
web/node_modules
|
||||
.git
|
||||
|
|
|
|||
|
|
@ -22,13 +22,6 @@ FLAVOR=lxqt ARCH=amd64 IMAGE=ubuntu:18.04 make build
|
|||
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
|
||||
|
||||
You may wish to work on the backend app. As the "make run" makes sure
|
||||
|
|
|
|||
|
|
@ -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
|
||||
################################################################################
|
||||
|
||||
FROM ubuntu:18.04 as system
|
||||
FROM ubuntu:20.04 as system
|
||||
|
||||
|
||||
|
||||
|
|
@ -24,30 +24,36 @@ RUN apt update \
|
|||
&& apt autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# install debs error if combine together
|
||||
RUN add-apt-repository -y ppa:fcwu-tw/apps \
|
||||
&& apt update \
|
||||
RUN apt update \
|
||||
&& apt install -y --no-install-recommends --allow-unauthenticated \
|
||||
xvfb x11vnc=0.9.16-1 \
|
||||
vim-tiny firefox chromium-browser ttf-ubuntu-font-family ttf-wqy-zenhei \
|
||||
&& add-apt-repository -r ppa:fcwu-tw/apps \
|
||||
xvfb x11vnc \
|
||||
vim-tiny firefox ttf-ubuntu-font-family ttf-wqy-zenhei \
|
||||
&& apt autoclean -y \
|
||||
&& apt autoremove -y \
|
||||
&& 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 \
|
||||
&& 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 autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Additional packages require ~600MB
|
||||
# libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw
|
||||
|
||||
# tini to fix subreap
|
||||
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
|
||||
|
||||
# ffmpeg
|
||||
|
|
@ -62,8 +68,9 @@ RUN apt update \
|
|||
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
|
||||
RUN apt-get update \
|
||||
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
|
||||
&& apt-get install -y python-pip python-dev build-essential \
|
||||
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \
|
||||
&& apt-get install -y python3-pip python3-dev build-essential \
|
||||
&& 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 \
|
||||
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
|
||||
&& apt-get autoclean -y \
|
||||
|
|
@ -75,7 +82,7 @@ RUN apt-get update \
|
|||
################################################################################
|
||||
# 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;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
################################################################################
|
||||
|
||||
# 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
|
||||
FROM arm64v8/ubuntu:18.04 as system
|
||||
FROM arm64v8/ubuntu:20.04 as system
|
||||
COPY --from=amd64 /usr/bin/qemu-aarch64-static /usr/bin/
|
||||
|
||||
|
||||
|
|
@ -28,10 +28,9 @@ RUN apt update \
|
|||
&& apt autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# install debs error if combine together
|
||||
RUN add-apt-repository -y ppa:fcwu-tw/apps \
|
||||
&& apt update \
|
||||
RUN apt update \
|
||||
&& 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 \
|
||||
&& add-apt-repository -r ppa:fcwu-tw/apps \
|
||||
&& apt autoclean -y \
|
||||
|
|
@ -55,15 +54,20 @@ ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64
|
|||
RUN chmod +x /bin/tini
|
||||
|
||||
# ffmpeg
|
||||
RUN mkdir -p /usr/local/ffmpeg \
|
||||
&& curl -sSL https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar xJvf - -C /usr/local/ffmpeg/ --strip 1
|
||||
RUN apt update \
|
||||
&& 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
|
||||
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
|
||||
RUN apt-get update \
|
||||
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
|
||||
&& apt-get install -y python-pip python-dev build-essential \
|
||||
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \
|
||||
&& apt-get install -y python3-pip python3-dev build-essential \
|
||||
&& 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 \
|
||||
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
|
||||
&& apt-get autoclean -y \
|
||||
|
|
@ -75,7 +79,7 @@ RUN apt-get update \
|
|||
################################################################################
|
||||
# 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;
|
||||
|
|
@ -98,7 +102,7 @@ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
|||
COPY web /src/web
|
||||
RUN cd /src/web \
|
||||
&& yarn \
|
||||
&& npm run build
|
||||
&& yarn build
|
||||
RUN sed -i 's#app/locale/#novnc/app/locale/#' /src/web/dist/static/novnc/app/ui.js
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ FROM ubuntu:18.04 as amd64
|
|||
RUN apt update && apt install -y qemu-user-static
|
||||
FROM arm32v7/ubuntu:18.04 as system
|
||||
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
|
||||
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 \
|
||||
&& 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 install -y --no-install-recommends --allow-unauthenticated \
|
||||
supervisor nginx sudo \
|
||||
supervisor nginx sudo net-tools zenity xz-utils \
|
||||
dbus-x11 x11-utils alsa-utils \
|
||||
mesa-utils libgl1-mesa-dri \
|
||||
&& apt autoclean -y \
|
||||
|
|
@ -40,7 +32,7 @@ RUN add-apt-repository -y ppa:fcwu-tw/apps \
|
|||
&& apt update \
|
||||
&& apt install -y --no-install-recommends --allow-unauthenticated \
|
||||
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 \
|
||||
&& apt autoclean -y \
|
||||
&& apt autoremove -y \
|
||||
|
|
@ -53,13 +45,13 @@ RUN apt update \
|
|||
&& apt autoremove -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Additional packages require ~600MB
|
||||
# libreoffice pinta language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant libreoffice-l10n-zh-tw
|
||||
|
||||
# tini for subreap
|
||||
ARG TINI_VERSION=v0.18.0
|
||||
ENV TINI_VERSION=$TINI_VERSION
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/tini
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-armhf /bin/tini
|
||||
RUN chmod +x /bin/tini
|
||||
|
||||
# ffmpeg
|
||||
|
|
@ -70,7 +62,7 @@ RUN mkdir -p /usr/local/ffmpeg \
|
|||
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
|
||||
RUN apt-get update \
|
||||
&& 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 \
|
||||
&& 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` \
|
||||
|
|
@ -109,13 +101,6 @@ RUN cd /src/web \
|
|||
&& yarn run build
|
||||
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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,53 +27,39 @@ RUN apt update \
|
|||
&& apt autoclean -y \
|
||||
&& apt autoremove -y \
|
||||
&& 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
|
||||
RUN add-apt-repository -y ppa:fcwu-tw/apps \
|
||||
&& apt update \
|
||||
RUN apt update \
|
||||
&& apt install -y --no-install-recommends --allow-unauthenticated \
|
||||
xvfb x11vnc=$X11VNC_VERSION \
|
||||
{%for package in addon_packages%}{{package}} {%endfor%} \
|
||||
&& add-apt-repository -r ppa:fcwu-tw/apps \
|
||||
xvfb x11vnc \
|
||||
vim-tiny firefox ttf-ubuntu-font-family ttf-wqy-zenhei \
|
||||
&& apt autoclean -y \
|
||||
&& apt autoremove -y \
|
||||
&& 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" %}
|
||||
{%endif%}
|
||||
{%if desktop == "lxqt" %}
|
||||
{%endif%}
|
||||
{%if desktop == "xfce4" %}
|
||||
{%endif%}
|
||||
RUN apt update \
|
||||
&& apt install -y --no-install-recommends --allow-unauthenticated \
|
||||
lxde gtk2-engines-murrine gnome-themes-standard gtk2-engines-pixbuf gtk2-engines-murrine arc-theme \
|
||||
&& apt autoclean -y \
|
||||
&& apt autoremove -y \
|
||||
&& 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
|
||||
# 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
|
||||
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
|
||||
|
||||
# ffmpeg
|
||||
|
|
@ -84,13 +70,13 @@ RUN apt update \
|
|||
&& mkdir /usr/local/ffmpeg \
|
||||
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
|
||||
|
||||
|
||||
# python library
|
||||
COPY rootfs/usr/local/lib/web/backend/requirements.txt /tmp/
|
||||
RUN apt-get update \
|
||||
&& dpkg-query -W -f='${Package}\n' > /tmp/a.txt \
|
||||
&& apt-get install -y python-pip python-dev build-essential \
|
||||
&& pip install setuptools wheel && pip install -r /tmp/requirements.txt \
|
||||
&& apt-get install -y python3-pip python3-dev build-essential \
|
||||
&& 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 \
|
||||
&& apt-get remove -y `diff --changed-group-format='%>' --unchanged-group-format='' /tmp/a.txt /tmp/b.txt | xargs` \
|
||||
&& apt-get autoclean -y \
|
||||
|
|
|
|||
12
Makefile
12
Makefile
|
|
@ -4,13 +4,10 @@
|
|||
REPO ?= dorowu/ubuntu-desktop-lxde-vnc
|
||||
TAG ?= latest
|
||||
# you can choose other base image versions
|
||||
IMAGE ?= ubuntu:18.04
|
||||
LOCALBUILD ?= tw
|
||||
HTTP_PASSWORD ?= 123456
|
||||
CUSTOM_USER ?= ubuntu
|
||||
PASSWORD ?= ubuntu
|
||||
IMAGE ?= ubuntu:20.04
|
||||
# IMAGE ?= nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
|
||||
# choose from supported flavors (see available ones in ./flavors/*.yml)
|
||||
FLAVOR ?= lxqt
|
||||
FLAVOR ?= lxde
|
||||
# armhf or amd64
|
||||
ARCH ?= amd64
|
||||
|
||||
|
|
@ -24,13 +21,14 @@ build: $(templates)
|
|||
# Test run the container
|
||||
# the local dir will be mounted under /src read-only
|
||||
run:
|
||||
docker run --rm \
|
||||
docker run --privileged --rm \
|
||||
-p 6080:80 -p 6081:443 \
|
||||
-v ${PWD}:/src:ro \
|
||||
-e USER=doro -e PASSWORD=mypassword \
|
||||
-e ALSADEV=hw:2,0 \
|
||||
-e SSL_PORT=443 \
|
||||
-e RELATIVE_URL_ROOT=approot \
|
||||
-e OPENBOX_ARGS="--startup /usr/bin/galculator" \
|
||||
-v ${PWD}/ssl:/etc/nginx/ssl \
|
||||
--device /dev/snd \
|
||||
--name ubuntu-desktop-lxde-test \
|
||||
|
|
|
|||
92
README.md
92
README.md
|
|
@ -1,17 +1,33 @@
|
|||
docker-ubuntu-vnc-desktop
|
||||
=========================
|
||||
# docker-ubuntu-vnc-desktop
|
||||
|
||||
[](https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/)
|
||||
[](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`
|
||||
|
||||
```
|
||||
```shell
|
||||
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/>
|
||||
|
||||
**Ubuntu Version**
|
||||
### Ubuntu Flavors
|
||||
|
||||
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
|
||||
- xenial: Ubuntu 16.04
|
||||
- trusty: Ubuntu 14.04
|
||||
- xenial: Ubuntu 16.04 (deprecated)
|
||||
- trusty: Ubuntu 14.04 (deprecated)
|
||||
|
||||
VNC Viewer
|
||||
------------------
|
||||
## VNC Viewer
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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`
|
||||
|
||||
```
|
||||
```shell
|
||||
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
|
||||
|
||||
```
|
||||
```shell
|
||||
mkdir -p ssl
|
||||
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
|
||||
|
||||
```
|
||||
```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
|
||||
```
|
||||
|
||||
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
|
||||
|
||||
```
|
||||
```shell
|
||||
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,
|
||||
|
||||
```
|
||||
```shell
|
||||
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
|
||||
|
||||
```
|
||||
```shell
|
||||
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 (/)
|
||||
|
||||
Sound (Preview version and Linux only)
|
||||
--------------------------------------
|
||||
## Sound (Preview version and Linux only)
|
||||
|
||||
It only works in Linux.
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
Start the container
|
||||
|
||||
```
|
||||
```shell
|
||||
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
|
|||
[](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.
|
||||
|
||||
|
|
@ -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`.
|
||||
|
||||
Troubleshooting and FAQ
|
||||
==================
|
||||
## Troubleshooting and FAQ
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
License
|
||||
==================
|
||||
## License
|
||||
|
||||
See the LICENSE file for details.
|
||||
|
|
|
|||
|
|
@ -13,28 +13,30 @@ server {
|
|||
root /usr/local/lib/web/frontend/;
|
||||
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_ rewrite /_RELATIVE_URL_ROOT_/(.*) /$1 break;
|
||||
#_RELATIVE_URL_ROOT_ root /usr/local/lib/web/frontend/;
|
||||
#_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;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_connect_timeout 7d;
|
||||
proxy_send_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;
|
||||
}
|
||||
|
||||
|
|
@ -43,8 +45,8 @@ server {
|
|||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass http://127.0.0.1:6079;
|
||||
max_ranges 0;
|
||||
proxy_pass http://127.0.0.1:6079;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,27 +19,31 @@ stderr_logfile_maxbytes=0
|
|||
|
||||
|
||||
[group:x]
|
||||
# programs=xvfb,wm,lxpanel,pcmanfm,x11vnc,novnc
|
||||
programs=xvfb,lxpanel,x11vnc,novnc
|
||||
programs=xvfb,wm,lxpanel,pcmanfm,x11vnc,novnc
|
||||
|
||||
# [program:wm]
|
||||
# priority=15
|
||||
# command=/usr/bin/openbox
|
||||
# environment=DISPLAY=":1",HOME="/root",USER="root"
|
||||
[program:wm]
|
||||
priority=15
|
||||
command=/usr/bin/openbox
|
||||
environment=DISPLAY=":1",HOME="/root",USER="root"
|
||||
|
||||
[program:lxpanel]
|
||||
priority=15
|
||||
directory=%HOME%
|
||||
command=/usr/bin/startlxqt
|
||||
command=/usr/bin/lxpanel --profile LXDE
|
||||
user=%USER%
|
||||
environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%"
|
||||
|
||||
# [program:pcmanfm]
|
||||
# priority=15
|
||||
# directory=%HOME%
|
||||
# command=/usr/bin/pcmanfm --desktop --profile LXDE
|
||||
# user=%USER%
|
||||
# environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%"
|
||||
[program:pcmanfm]
|
||||
priority=15
|
||||
directory=%HOME%
|
||||
command=/usr/bin/pcmanfm --desktop --profile LXDE
|
||||
user=%USER%
|
||||
stopwaitsecs=3
|
||||
environment=DISPLAY=":1",HOME="%HOME%",USER="%USER%"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[program:xvfb]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
enableBatteryWatcher=false
|
||||
enableIdlenessWatcher=true
|
||||
enableLidWatcher=false
|
||||
runCheckLevel=1
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
icon_theme=LoginIcons
|
||||
theme=light
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
|
|
@ -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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[General]
|
||||
__userfile__=true
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -1 +0,0 @@
|
|||
/usr/local/share/doro-lxde-wallpapers/desktop-items-0.conf
|
||||
|
|
@ -1 +0,0 @@
|
|||
/tmp/pulse-PKdhtXMmr18n
|
||||
|
|
@ -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
|
||||
|
|
@ -13,7 +13,7 @@ if [ -n "$X11VNC_ARGS" ]; then
|
|||
fi
|
||||
|
||||
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
|
||||
|
||||
if [ -n "$RESOLUTION" ]; then
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ if [ -z "$ALSADEV" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
exec /usr/bin/chromium-browser --no-sandbox --alsa-output-device="$ALSADEV" "$@"
|
||||
exec /usr/bin/google-chrome --no-sandbox --alsa-output-device="$ALSADEV" "$@"
|
||||
|
|
|
|||
|
|
@ -9,12 +9,11 @@ gevent-websocket==0.10.1
|
|||
greenlet==0.4.15
|
||||
idna==2.8
|
||||
itsdangerous==1.1.0
|
||||
Jinja2==2.10.3
|
||||
Jinja2==2.11.3
|
||||
MarkupSafe==1.1.1
|
||||
meld3==2.0.0
|
||||
requests==2.22.0
|
||||
six==1.12.0
|
||||
supervisor==4.1.0
|
||||
urllib3==1.25.6
|
||||
websocket-client==0.47.0
|
||||
Werkzeug==0.16.0
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python3
|
||||
from __future__ import (
|
||||
absolute_import, division, print_function, with_statement
|
||||
)
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ def liveflv():
|
|||
cmd,
|
||||
stdout=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):
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class State(object):
|
|||
output = gsp.check_output([
|
||||
'supervisorctl', '-c', '/etc/supervisor/supervisord.conf',
|
||||
'status'
|
||||
])
|
||||
], encoding='UTF-8')
|
||||
for line in output.strip().split('\n'):
|
||||
if not line.startswith('web') and line.find('RUNNING') < 0:
|
||||
health = False
|
||||
|
|
@ -65,7 +65,7 @@ class State(object):
|
|||
'sed -i \'s#'
|
||||
'^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'
|
||||
).format(w, h), shell=True)
|
||||
self.size_changed_count += 1
|
||||
|
|
|
|||
|
|
@ -1,139 +1,221 @@
|
|||
[Desktop Entry]
|
||||
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[ar]=متصفح الشبكة
|
||||
GenericName[ast]=Restolador web
|
||||
GenericName[bg]=Уеб браузър
|
||||
GenericName[bn]=ওয়েব ব্রাউজার
|
||||
GenericName[bs]=Web preglednik
|
||||
GenericName[ca]=Navegador web
|
||||
GenericName[ca@valencia]=Navegador web
|
||||
GenericName[cs]=WWW prohlížeč
|
||||
GenericName[da]=Browser
|
||||
GenericName[de]=Web-Browser
|
||||
GenericName[el]=Περιηγητής ιστού
|
||||
GenericName[en_AU]=Web Browser
|
||||
GenericName[en_GB]=Web Browser
|
||||
GenericName[eo]=Retfoliumilo
|
||||
GenericName[es]=Navegador web
|
||||
GenericName[et]=Veebibrauser
|
||||
GenericName[eu]=Web-nabigatzailea
|
||||
GenericName[fi]=WWW-selain
|
||||
GenericName[fil]=Web Browser
|
||||
GenericName[fr]=Navigateur Web
|
||||
GenericName[gl]=Navegador web
|
||||
GenericName[gu]=વેબ બ્રાઉઝર
|
||||
GenericName[he]=דפדפן אינטרנט
|
||||
GenericName[hi]=वेब ब्राउज़र
|
||||
GenericName[hr]=Web preglednik
|
||||
GenericName[hu]=Webböngésző
|
||||
GenericName[hy]=Ոստայն զննարկիչ
|
||||
GenericName[ia]=Navigator del Web
|
||||
GenericName[id]=Peramban Web
|
||||
GenericName[it]=Browser web
|
||||
GenericName[ja]=ウェブ・ブラウザ
|
||||
GenericName[ka]=ვებ ბრაუზერი
|
||||
GenericName[it]=Browser Web
|
||||
GenericName[ja]=ウェブブラウザ
|
||||
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
|
||||
GenericName[ko]=웹 브라우저
|
||||
GenericName[kw]=Peurel wias
|
||||
GenericName[lt]=Žiniatinklio naršyklė
|
||||
GenericName[lv]=Tīmekļa pārlūks
|
||||
GenericName[ml]=വെബ് ബ്രൌസര്
|
||||
GenericName[mr]=वेब ब्राऊजर
|
||||
GenericName[ms]=Pelayar Web
|
||||
GenericName[nb]=Nettleser
|
||||
GenericName[nl]=Webbrowser
|
||||
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
|
||||
GenericName[pl]=Przeglądarka WWW
|
||||
GenericName[pt]=Navegador Web
|
||||
GenericName[pt_BR]=Navegador web
|
||||
GenericName[pt_BR]=Navegador da Internet
|
||||
GenericName[ro]=Navigator de Internet
|
||||
GenericName[ru]=Веб-браузер
|
||||
GenericName[sk]=WWW prehliadač
|
||||
GenericName[sl]=Spletni brskalnik
|
||||
GenericName[sr]=Интернет прегледник
|
||||
GenericName[sv]=Webbläsare
|
||||
GenericName[ta]=இணைய உலாவி
|
||||
GenericName[te]=మహాతల అన్వేషి
|
||||
GenericName[th]=เว็บเบราว์เซอร์
|
||||
GenericName[tr]=Web Tarayıcı
|
||||
GenericName[ug]=توركۆرگۈ
|
||||
GenericName[uk]=Навігатор Тенет
|
||||
GenericName[vi]=Bộ duyệt Web
|
||||
GenericName[zh_CN]=网页浏览器
|
||||
GenericName[zh_HK]=網頁瀏覽器
|
||||
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ộ duyệt Web
|
||||
# Gnome and KDE 3 uses Comment.
|
||||
Comment=Access the Internet
|
||||
Comment[ar]=الدخول إلى الإنترنت
|
||||
Comment[ast]=Accesu a Internet
|
||||
Comment[bg]=Достъп до интернет
|
||||
Comment[bn]=ইন্টারনেটে প্রবেশ করুন
|
||||
Comment[bs]=Pristup internetu
|
||||
Comment[ca]=Accediu a Internet
|
||||
Comment[ca@valencia]=Accediu a Internet
|
||||
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
|
||||
Comment[ca]=Accedeix a Internet
|
||||
Comment[cs]=Přístup k internetu
|
||||
Comment[da]=Få adgang til internettet
|
||||
Comment[de]=Internetzugriff
|
||||
Comment[el]=Πρόσβαση στο Διαδίκτυο
|
||||
Comment[en_AU]=Access the Internet
|
||||
Comment[en_GB]=Access the Internet
|
||||
Comment[eo]=Akiri interreton
|
||||
Comment[es]=Acceda a Internet
|
||||
Comment[es]=Accede a Internet.
|
||||
Comment[et]=Pääs Internetti
|
||||
Comment[eu]=Sartu Internetera
|
||||
Comment[fi]=Käytä internetiä
|
||||
Comment[fil]=I-access ang Internet
|
||||
Comment[fr]=Accéder à Internet
|
||||
Comment[gl]=Acceda a Internet
|
||||
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
|
||||
Comment[he]=גישה לאינטרנט
|
||||
Comment[he]=גישה אל האינטרנט
|
||||
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
|
||||
Comment[hr]=Pristupite Internetu
|
||||
Comment[hu]=Az internet elérése
|
||||
Comment[hy]=Մուտք համացանց
|
||||
Comment[ia]=Accede a le Interrete
|
||||
Comment[hr]=Pristup Internetu
|
||||
Comment[hu]=Internetelérés
|
||||
Comment[id]=Akses Internet
|
||||
Comment[it]=Accesso a Internet
|
||||
Comment[ja]=インターネットにアクセス
|
||||
Comment[ka]=ინტერნეტში შესვლა
|
||||
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
|
||||
Comment[ko]=인터넷에 연결합니다
|
||||
Comment[kw]=Hedhes an Kesrosweyth
|
||||
Comment[ko]=인터넷 연결
|
||||
Comment[lt]=Interneto prieiga
|
||||
Comment[lv]=Piekļūt internetam
|
||||
Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
|
||||
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
|
||||
Comment[ms]=Mengakses Internet
|
||||
Comment[nb]=Bruk internett
|
||||
Comment[nb]=Gå til Internett
|
||||
Comment[nl]=Verbinding maken met internet
|
||||
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
|
||||
Comment[pl]=Skorzystaj z internetu
|
||||
Comment[pt]=Aceder à Internet
|
||||
Comment[pt_BR]=Acessar a internet
|
||||
Comment[ro]=Accesați Internetul
|
||||
Comment[ro]=Accesaţi Internetul
|
||||
Comment[ru]=Доступ в Интернет
|
||||
Comment[sk]=Prístup do siete Internet
|
||||
Comment[sl]=Dostop do interneta
|
||||
Comment[sr]=Приступите Интернету
|
||||
Comment[sv]=Surfa på Internet
|
||||
Comment[sv]=Gå ut på Internet
|
||||
Comment[ta]=இணையத்தை அணுகுதல்
|
||||
Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
|
||||
Comment[th]=เข้าถึงอินเทอร์เน็ต
|
||||
Comment[tr]=İnternet'e erişin
|
||||
Comment[ug]=ئىنتېرنېت زىيارىتى
|
||||
Comment[uk]=Доступ до Інтернету
|
||||
Comment[vi]=Truy cập Internet
|
||||
Comment[zh_CN]=访问互联网
|
||||
Comment[zh_HK]=連線到網際網路
|
||||
Comment[zh_TW]=連線到網際網路
|
||||
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
|
||||
Actions=NewWindow;Incognito;TempProfile;
|
||||
X-AppInstall-Package=chromium-browser
|
||||
Terminal=false
|
||||
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]=Cửa sổ Mới
|
||||
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]=Cửa sổ ẩn danh mới
|
||||
Name[zh_CN]=新建隐身窗口
|
||||
Name[zh_TW]=新增無痕式視窗
|
||||
Exec=/usr/bin/google-chrome-stable --incognito
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
"build": "node build/build.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.18.0",
|
||||
"axios": "^0.21.1",
|
||||
"vue": "^2.5.2",
|
||||
"vue-material": "^1.0.0-beta-10.2",
|
||||
"vue-router": "^3.0.1"
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
"friendly-errors-webpack-plugin": "^1.6.1",
|
||||
"html-webpack-plugin": "^2.30.1",
|
||||
"nightwatch": "^0.9.12",
|
||||
"node-notifier": "^5.4.0",
|
||||
"node-notifier": "^8.0.1",
|
||||
"optimize-css-assets-webpack-plugin": "^3.2.0",
|
||||
"ora": "^1.2.0",
|
||||
"portfinder": "^1.0.13",
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ export default {
|
|||
// console.trace()
|
||||
console.log(`connecting...`)
|
||||
this.errorMessage = ''
|
||||
let websockifyPath = 'websockify'
|
||||
let websockifyPath = location.pathname.substr(1) + 'websockify'
|
||||
if (force || this.vncState === 'stopped') {
|
||||
this.vncState = 'connecting'
|
||||
let hostname = window.location.hostname
|
||||
|
|
|
|||
144
web/yarn.lock
144
web/yarn.lock
|
|
@ -374,12 +374,11 @@ aws4@^1.8.0:
|
|||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
|
||||
|
||||
axios@^0.18.0:
|
||||
version "0.18.1"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3"
|
||||
axios@^0.21.1:
|
||||
version "0.21.1"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
|
||||
dependencies:
|
||||
follow-redirects "1.5.10"
|
||||
is-buffer "^2.0.2"
|
||||
follow-redirects "^1.10.0"
|
||||
|
||||
babel-code-frame@^6.22.0, babel-code-frame@^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"
|
||||
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:
|
||||
version "4.11.8"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
|
||||
body-parser@1.19.0:
|
||||
version "1.19.0"
|
||||
|
|
@ -1086,7 +1085,7 @@ braces@^2.3.1, braces@^2.3.2:
|
|||
split-string "^3.0.2"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
brorand@^1.0.1:
|
||||
brorand@^1.0.1, brorand@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
|
||||
|
||||
|
|
@ -2051,13 +2050,7 @@ debug@4.1.0:
|
|||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@=3.1.0:
|
||||
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:
|
||||
debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
|
||||
version "3.2.6"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
||||
dependencies:
|
||||
|
|
@ -2304,8 +2297,8 @@ domutils@^1.5.1, domutils@^1.7.0:
|
|||
domelementtype "1"
|
||||
|
||||
dot-prop@^4.1.1:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
|
||||
dependencies:
|
||||
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"
|
||||
|
||||
elliptic@^6.0.0:
|
||||
version "6.5.1"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b"
|
||||
version "6.5.4"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
|
||||
dependencies:
|
||||
bn.js "^4.4.0"
|
||||
brorand "^1.0.1"
|
||||
bn.js "^4.11.9"
|
||||
brorand "^1.1.0"
|
||||
hash.js "^1.0.0"
|
||||
hmac-drbg "^1.0.0"
|
||||
inherits "^2.0.1"
|
||||
minimalistic-assert "^1.0.0"
|
||||
minimalistic-crypto-utils "^1.0.0"
|
||||
hmac-drbg "^1.0.1"
|
||||
inherits "^2.0.4"
|
||||
minimalistic-assert "^1.0.1"
|
||||
minimalistic-crypto-utils "^1.0.1"
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
|
|
@ -2718,8 +2711,8 @@ event-emitter@~0.3.5:
|
|||
es5-ext "~0.10.14"
|
||||
|
||||
eventemitter3@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
|
||||
|
||||
events@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
|
@ -3030,17 +3023,9 @@ flush-write-stream@^1.0.0:
|
|||
inherits "^2.0.3"
|
||||
readable-stream "^2.3.6"
|
||||
|
||||
follow-redirects@1.5.10:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
||||
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"
|
||||
follow-redirects@^1.0.0, follow-redirects@^1.10.0:
|
||||
version "1.13.3"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
|
||||
|
||||
for-in@^1.0.2:
|
||||
version "1.0.2"
|
||||
|
|
@ -3393,7 +3378,7 @@ hex-color-regex@^1.1.0:
|
|||
version "1.1.0"
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
|
||||
dependencies:
|
||||
|
|
@ -3532,8 +3517,8 @@ http-proxy-middleware@0.19.1:
|
|||
micromatch "^3.1.10"
|
||||
|
||||
http-proxy@^1.17.0:
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a"
|
||||
version "1.18.1"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
|
||||
dependencies:
|
||||
eventemitter3 "^4.0.0"
|
||||
follow-redirects "^1.0.0"
|
||||
|
|
@ -3634,7 +3619,7 @@ inflight@^1.0.4:
|
|||
once "^1.3.0"
|
||||
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"
|
||||
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"
|
||||
|
||||
ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
|
||||
|
||||
inquirer@^3.0.6:
|
||||
version "3.3.0"
|
||||
|
|
@ -3756,10 +3741,6 @@ is-buffer@^1.1.5:
|
|||
version "1.1.6"
|
||||
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:
|
||||
version "1.1.4"
|
||||
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"
|
||||
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:
|
||||
version "0.1.1"
|
||||
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"
|
||||
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:
|
||||
version "2.0.1"
|
||||
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"
|
||||
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
version "4.17.19"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
|
||||
|
||||
log-symbols@^2.1.0:
|
||||
version "2.2.0"
|
||||
|
|
@ -4357,6 +4348,12 @@ lru-cache@^4.0.1, lru-cache@^4.1.1:
|
|||
pseudomap "^1.0.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:
|
||||
version "2.6.5"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
vm-browserify "^1.0.1"
|
||||
|
||||
node-notifier@^5.4.0:
|
||||
version "5.4.3"
|
||||
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50"
|
||||
node-notifier@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1"
|
||||
dependencies:
|
||||
growly "^1.3.0"
|
||||
is-wsl "^1.1.0"
|
||||
semver "^5.5.0"
|
||||
is-wsl "^2.2.0"
|
||||
semver "^7.3.2"
|
||||
shellwords "^0.1.1"
|
||||
which "^1.3.0"
|
||||
uuid "^8.3.0"
|
||||
which "^2.0.2"
|
||||
|
||||
node-pre-gyp@^0.12.0:
|
||||
version "0.12.0"
|
||||
|
|
@ -6414,6 +6412,12 @@ semver@^6.3.0:
|
|||
version "6.3.0"
|
||||
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:
|
||||
version "5.0.3"
|
||||
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"
|
||||
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:
|
||||
version "2.0.3"
|
||||
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:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
|
||||
|
||||
whet.extend@~0.9.9:
|
||||
version "0.9.9"
|
||||
|
|
@ -7515,12 +7523,18 @@ which-module@^2.0.0:
|
|||
version "2.0.0"
|
||||
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"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
dependencies:
|
||||
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:
|
||||
version "1.1.3"
|
||||
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"
|
||||
|
||||
y18n@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
|
||||
|
||||
"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
|
@ -7617,6 +7631,10 @@ yallist@^3.0.0, yallist@^3.0.3:
|
|||
version "3.1.1"
|
||||
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:
|
||||
version "11.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"
|
||||
|
|
|
|||
Loading…
Reference in a new issue