Added TurboVNC backend to xrdp
This commit is contained in:
@@ -27,11 +27,13 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
flex \
|
flex \
|
||||||
git \
|
git \
|
||||||
intltool \
|
intltool \
|
||||||
|
libbz2-dev \
|
||||||
libegl-dev \
|
libegl-dev \
|
||||||
libegl1-mesa \
|
libegl1-mesa \
|
||||||
libegl1-mesa-dev \
|
libegl1-mesa-dev \
|
||||||
libepoxy-dev \
|
libepoxy-dev \
|
||||||
libfdk-aac-dev \
|
libfdk-aac-dev \
|
||||||
|
libfreetype-dev \
|
||||||
libfuse-dev \
|
libfuse-dev \
|
||||||
libgbm-dev \
|
libgbm-dev \
|
||||||
libgl-dev \
|
libgl-dev \
|
||||||
@@ -56,15 +58,20 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
libxfixes-dev \
|
libxfixes-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxrandr-dev \
|
libxrandr-dev \
|
||||||
|
libxt-dev \
|
||||||
libxtst-dev \
|
libxtst-dev \
|
||||||
libxv-dev \
|
libxv-dev \
|
||||||
nasm \
|
nasm \
|
||||||
ocl-icd-opencl-dev \
|
ocl-icd-opencl-dev \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
texinfo \
|
texinfo \
|
||||||
|
x11-xkb-utils \
|
||||||
|
xauth \
|
||||||
|
xkb-data \
|
||||||
xserver-xorg-dev \
|
xserver-xorg-dev \
|
||||||
xsltproc \
|
xsltproc \
|
||||||
xutils-dev \
|
xutils-dev \
|
||||||
|
zlib1g-dev \
|
||||||
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
||||||
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
||||||
g++-multilib \
|
g++-multilib \
|
||||||
@@ -163,6 +170,36 @@ RUN make deb
|
|||||||
RUN dpkg -i ./virtualgl32_*.deb
|
RUN dpkg -i ./virtualgl32_*.deb
|
||||||
]])m4_dnl
|
]])m4_dnl
|
||||||
|
|
||||||
|
# Build TurboVNC
|
||||||
|
ARG TURBOVNC_TREEISH=3.0beta1
|
||||||
|
ARG TURBOVNC_REMOTE=https://github.com/TurboVNC/turbovnc.git
|
||||||
|
RUN mkdir /tmp/turbovnc/
|
||||||
|
WORKDIR /tmp/turbovnc/
|
||||||
|
RUN git clone "${TURBOVNC_REMOTE:?}" ./
|
||||||
|
RUN git checkout "${TURBOVNC_TREEISH:?}"
|
||||||
|
RUN git submodule update --init --recursive
|
||||||
|
RUN mkdir /tmp/turbovnc/build/
|
||||||
|
WORKDIR /tmp/turbovnc/build/
|
||||||
|
RUN cmake ./ \
|
||||||
|
-G 'Unix Makefiles' \
|
||||||
|
-D PKGNAME=turbovnc \
|
||||||
|
-D CMAKE_BUILD_TYPE=Release \
|
||||||
|
-D CMAKE_INSTALL_PREFIX=/opt/TurboVNC \
|
||||||
|
-D TVNC_BUILDSERVER=1 \
|
||||||
|
-D TVNC_BUILDWEBSERVER=0 \
|
||||||
|
-D TVNC_BUILDVIEWER=0 \
|
||||||
|
-D TVNC_BUILDHELPER=0 \
|
||||||
|
-D TVNC_SYSTEMLIBS=1 \
|
||||||
|
-D TVNC_SYSTEMX11=1 \
|
||||||
|
-D TVNC_DLOPENSSL=1 \
|
||||||
|
-D TVNC_USEPAM=1 \
|
||||||
|
-D TVNC_GLX=1 \
|
||||||
|
-D TVNC_NVCONTROL=1 \
|
||||||
|
../
|
||||||
|
RUN make -j"$(nproc)"
|
||||||
|
RUN make deb
|
||||||
|
RUN dpkg -i ./turbovnc_*.deb
|
||||||
|
|
||||||
# Build xrdp
|
# Build xrdp
|
||||||
ARG XRDP_TREEISH=v0.9.17
|
ARG XRDP_TREEISH=v0.9.17
|
||||||
ARG XRDP_REMOTE=https://github.com/neutrinolabs/xrdp.git
|
ARG XRDP_REMOTE=https://github.com/neutrinolabs/xrdp.git
|
||||||
@@ -233,10 +270,12 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
ca-certificates \
|
ca-certificates \
|
||||||
dbus \
|
dbus \
|
||||||
dbus-x11 \
|
dbus-x11 \
|
||||||
|
libbz2-1.0 \
|
||||||
libegl1 \
|
libegl1 \
|
||||||
libegl1-mesa \
|
libegl1-mesa \
|
||||||
libepoxy0 \
|
libepoxy0 \
|
||||||
libfdk-aac1 \
|
libfdk-aac1 \
|
||||||
|
libfreetype6 \
|
||||||
libfuse2 \
|
libfuse2 \
|
||||||
libgbm1 \
|
libgbm1 \
|
||||||
libgl1 \
|
libgl1 \
|
||||||
@@ -261,6 +300,7 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
libxfixes3 \
|
libxfixes3 \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxrandr2 \
|
libxrandr2 \
|
||||||
|
libxt6 \
|
||||||
libxtst6 \
|
libxtst6 \
|
||||||
libxv1 \
|
libxv1 \
|
||||||
locales \
|
locales \
|
||||||
@@ -277,6 +317,9 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
runit \
|
runit \
|
||||||
tini \
|
tini \
|
||||||
tzdata \
|
tzdata \
|
||||||
|
x11-xkb-utils \
|
||||||
|
xauth \
|
||||||
|
xkb-data \
|
||||||
xserver-xorg-core \
|
xserver-xorg-core \
|
||||||
xserver-xorg-input-evdev \
|
xserver-xorg-input-evdev \
|
||||||
xserver-xorg-input-joystick \
|
xserver-xorg-input-joystick \
|
||||||
@@ -284,6 +327,7 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
|||||||
xserver-xorg-video-dummy \
|
xserver-xorg-video-dummy \
|
||||||
xserver-xorg-video-fbdev \
|
xserver-xorg-video-fbdev \
|
||||||
xserver-xorg-video-vesa \
|
xserver-xorg-video-vesa \
|
||||||
|
zlib1g \
|
||||||
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
|
||||||
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
||||||
libegl1:i386 \
|
libegl1:i386 \
|
||||||
@@ -446,6 +490,10 @@ COPY --from=build --chown=root:root /tmp/virtualgl/build32/virtualgl32_*.deb /op
|
|||||||
RUN dpkg -i /opt/pkg/virtualgl32.deb
|
RUN dpkg -i /opt/pkg/virtualgl32.deb
|
||||||
]])m4_dnl
|
]])m4_dnl
|
||||||
|
|
||||||
|
# Install TurboVNC from package
|
||||||
|
COPY --from=build --chown=root:root /tmp/turbovnc/build/turbovnc_*.deb /opt/pkg/turbovnc.deb
|
||||||
|
RUN dpkg -i /opt/pkg/turbovnc.deb
|
||||||
|
|
||||||
# Install xrdp from package
|
# Install xrdp from package
|
||||||
COPY --from=build --chown=root:root /tmp/xrdp/xrdp_*.deb /opt/pkg/xrdp.deb
|
COPY --from=build --chown=root:root /tmp/xrdp/xrdp_*.deb /opt/pkg/xrdp.deb
|
||||||
RUN dpkg -i /opt/pkg/xrdp.deb
|
RUN dpkg -i /opt/pkg/xrdp.deb
|
||||||
@@ -483,7 +531,7 @@ RUN printf '%s\n' "${TZ:?}" > /etc/timezone \
|
|||||||
|
|
||||||
# Setup PATH
|
# Setup PATH
|
||||||
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
|
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
|
||||||
ENV PATH=/opt/VirtualGL/bin:${PATH}
|
ENV PATH=/opt/libjpeg-turbo/bin:/opt/VirtualGL/bin:/opt/TurboVNC/bin:${PATH}
|
||||||
|
|
||||||
# Setup D-Bus
|
# Setup D-Bus
|
||||||
RUN mkdir /run/dbus/ && chown messagebus:messagebus /run/dbus/
|
RUN mkdir /run/dbus/ && chown messagebus:messagebus /run/dbus/
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Policy=Default
|
|||||||
[Logging]
|
[Logging]
|
||||||
LogFile=/var/log/xrdp-sesman.log
|
LogFile=/var/log/xrdp-sesman.log
|
||||||
LogLevel=INFO
|
LogLevel=INFO
|
||||||
EnableSyslog=0
|
EnableSyslog=false
|
||||||
SyslogLevel=INFO
|
SyslogLevel=INFO
|
||||||
|
|
||||||
[Xorg]
|
[Xorg]
|
||||||
@@ -33,6 +33,15 @@ param=-noreset
|
|||||||
param=-nolisten
|
param=-nolisten
|
||||||
param=tcp
|
param=tcp
|
||||||
|
|
||||||
|
[Xvnc]
|
||||||
|
param=/opt/TurboVNC/bin/Xvnc
|
||||||
|
param=-bs
|
||||||
|
param=-nolisten
|
||||||
|
param=tcp
|
||||||
|
param=-localhost
|
||||||
|
param=-dpi
|
||||||
|
param=96
|
||||||
|
|
||||||
[Chansrv]
|
[Chansrv]
|
||||||
EnableFuseMount=true
|
EnableFuseMount=true
|
||||||
FuseMountName=.thinclient_drives
|
FuseMountName=.thinclient_drives
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
[Globals]
|
[Globals]
|
||||||
ini_version=1
|
ini_version=1
|
||||||
fork=true
|
fork=true
|
||||||
address=0.0.0.0
|
|
||||||
port=3389
|
port=3389
|
||||||
use_vsock=false
|
use_vsock=false
|
||||||
tcp_nodelay=true
|
tcp_nodelay=false
|
||||||
tcp_keepalive=true
|
tcp_keepalive=true
|
||||||
security_layer=tls
|
security_layer=tls
|
||||||
|
crypt_level=high
|
||||||
key_file=/etc/xrdp/key.pem
|
key_file=/etc/xrdp/key.pem
|
||||||
certificate=/etc/xrdp/cert.pem
|
certificate=/etc/xrdp/cert.pem
|
||||||
ssl_protocols=TLSv1.2, TLSv1.3
|
ssl_protocols=TLSv1.2, TLSv1.3
|
||||||
tls_ciphers=HIGH
|
tls_ciphers=HIGH
|
||||||
autorun=Xorg
|
autorun=
|
||||||
allow_channels=true
|
allow_channels=true
|
||||||
allow_multimon=true
|
allow_multimon=true
|
||||||
bitmap_cache=true
|
bitmap_cache=true
|
||||||
@@ -67,10 +67,10 @@ ip=127.0.0.1
|
|||||||
port=-1
|
port=-1
|
||||||
code=20
|
code=20
|
||||||
|
|
||||||
;[Xvnc]
|
[Xvnc]
|
||||||
;name=Xvnc
|
name=Xvnc
|
||||||
;lib=libvnc.so
|
lib=libvnc.so
|
||||||
;username=ask
|
username=ask
|
||||||
;password=ask
|
password=ask
|
||||||
;ip=127.0.0.1
|
ip=127.0.0.1
|
||||||
;port=-1
|
port=-1
|
||||||
|
|||||||
@@ -5,12 +5,13 @@ export LC_ALL=C
|
|||||||
|
|
||||||
RDP_HOST=127.0.0.1
|
RDP_HOST=127.0.0.1
|
||||||
RDP_PORT=3389
|
RDP_PORT=3389
|
||||||
|
RDP_DOMAIN=Xorg
|
||||||
RDP_USER=user
|
RDP_USER=user
|
||||||
RDP_PASSWORD=password
|
RDP_PASSWORD=password
|
||||||
|
|
||||||
exec xfreerdp \
|
exec xfreerdp \
|
||||||
/v:"${RDP_HOST:?}":"${RDP_PORT:?}" \
|
/v:"${RDP_HOST:?}":"${RDP_PORT:?}" \
|
||||||
/u:"${RDP_USER:?}" /p:"${RDP_PASSWORD:?}" \
|
/u:"${RDP_DOMAIN:?}"\\"${RDP_USER:?}" /p:"${RDP_PASSWORD:?}" \
|
||||||
/log-level:INFO /cert:ignore \
|
/log-level:INFO /cert:ignore \
|
||||||
/rfx /rfx-mode:video /dynamic-resolution \
|
/rfx /rfx-mode:video /dynamic-resolution \
|
||||||
/audio-mode:0 /sound:sys:pulse,rate:44100 \
|
/audio-mode:0 /sound:sys:pulse,rate:44100 \
|
||||||
|
|||||||
Reference in New Issue
Block a user