Ja das sollte funktionieren mit Xephyr. Bitte Xephyr auf deinem Debian Tablet installieren.
Auf GitHub bei Sylvain Leroux gibt es folgendes Skript:
Quelle:https://gist.github.com/s-leroux/d1d2f730467857fa3afe#file-nested-xfce4-session-sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 | #!/bin/bash
function usage() {
nroff -mandoc <<-EOF | less
.TH $(basename $0) 1
$(basename $0) - open a nested X terminal
.SH SYNOPSIS
$(basename $0) [displayid] [displaysize | --fullscreen] [userlogin] [homedir]
$(basename $0) \-\-help
.SH OPTIONS
.TP
.BR \fIdisplayid\fR
Virtual display to create
Default is :15
.TP
.BR \fIdisplaysize\fR
Size of the virtual display
Default is 1280x720
.TP
.BR \fIuserlogin\fR
Open a session with the given identity.
Default is the current user. Opening a session as a different user require sudo access.
.TP
.BR \fIhomedir\fR
Set the \fIHOME\fR directory for the nested session.
Useful to run xfce4 in a clean and distinct environment
from yours. The nested session owner should have
read/write access to the directory.
.SH EXAMPLE
./nested-xfce4-session.sh
Start a new X11 server and run xfce4-session
./nested-xfce4-session.sh :12
Start a new X11 server as DISPLAY :12 and run xfce4-session
./nested-xfce4-session.sh :12 640x480
Start a new X11 server as DISPLAY :12
with a screen size of 640x480 and run xfce4-session
(eventually screen size will be resized according to
your host xfce4 configuration)
./nested-xfce4-session.sh /tmp/temp.dir
Start a new X11 server and run xfce4-session with the
home directory set to /tmp/temp.dir.
EOF
}
SCREEN="1280x720"
USER=$(whoami)
GUEST_DISPLAY=":15"
EXTRA=( -dpi 96 )
REMOTE=
shopt -s extglob
declare -A OPTS
while [ ! -z "$1" ]
do
case "$1" in
-?(-)help)
usage
exit 0
;;
+([0-9])x+([0-9]))
SCREEN="$1"
shift
;;
--fullscreen)
EXTRA+=( -fullscreen )
shift
;;
:+([0-9]))
GUEST_DISPLAY="$1"
shift
;;
*@*) USER="$1"
REMOTE=true
shift
;;
*) if id -u "$1" > /dev/null 2>&1 ; then
# valid user name on that system
USER="$1"
shift
elif [ -d "$1" ] ; then
# valid directory
OPTS[HOME]="HOME=\"$1\""
shift
else
echo Not a known user or directory : "$1" >&2
exit 1
fi
;;
esac
done
# Prepare the client to run when server will be ready
LAUNCHER="/bin/bash"
#if [ "${USER}" != $(whoami) ]
# LAUNCHER="sudo -u ${USER} -b -i"
#then
#else
# LAUNCHER="env -i PATH=${PATH}
# DISPLAY=${GUEST_DISPLAY}
# HOME=${HOME}
# LOGNAME=${LOGNAME}
# USER=${USER} bash -c"
#fi
TEMPDIR=$(mktemp -d)
FIFO="${TEMPDIR}/fifo"
mkfifo "${FIFO}"
chmod a+r "${FIFO}"
chmod a+x "${TEMPDIR}"
exec 3<>"${FIFO}"
APP=xfce4-session
#APP=xterm
if [ -n "$REMOTE" ]
then
DISPLAY=${GUEST_DISPLAY} ssh -fCY ${USER} "sleep 5 && echo \$DISPLAY && unset XAUTHORITY && "${OPTS[@]}" ${APP}"
else
LAUNCHER="sudo -u ${USER} -b -i bash -c"
DISPLAY=${GUEST_DISPLAY} ${LAUNCHER} "read DISPLAY < '${FIFO}' && \
unset XAUTHORITY && \
"${OPTS[@]}" DISPLAY=\":\${DISPLAY}\" $APP"
fi
Xephyr -displayfd 3 \
-sw-cursor -reset -terminate \
"${GUEST_DISPLAY}" -screen "${SCREEN}" "${EXTRA[@]}"
rm -rf "${TEMPDIR}"
wait
|
Dieses bitte auf dem Debian speichern und auf ausführbar stellen.
Nun das Skript testen mit:
./nested-xfce4-session.sh :12 1920x1080
Mit testen ist nicht gemeint eine VNC Verbindung aufzubauen sondern lediglich zu sehen ob auf dem Debian ein Xephyr Fenster mit xfce in der gewünschten Auflösung erscheint.
Wenn alles so aussieht wie man sich das vorgestellt hat, dann das Skript ändern so das da ungefähr folgendes steht:
Xephyr -displayfd 3 \
-sw-cursor -reset -terminate \
"${GUEST_DISPLAY}" -screen "${SCREEN}" "${EXTRA[@]}" &>/dev/null &
x11vnc ... -display "${GUEST_DISPLAY}"
wo x11vnc steht bitte deinen gewünschten Kommandozeilenaufruf von x11vnc eintragen + -display "${GUEST_DISPLAY}"
Dann das geänderte Skript erneut starten und versuchen vom 22.04 via z.B. Remmina auf das Debian zu zugreifen.
Das Ganze geht wohl auch ohne VNC via ssh siehe hier.