저는 Raspberry pi OS가 설치된 rpi 4에서 Remmina를 사용하여 Arch Linux를 실행하는 노트북으로 rdp를 설정하려고 합니다.
현재 Remmina를 사용하여 rpi에서 Arch 머신(두 개가 있음)으로 RDP를 수행할 수 없습니다. 그러나 rdesktop을 클라이언트로 사용하면 작동합니다.
rdesktop은 Remmina의 기능에 액세스하고 임시 키오스크 모드의 X에서 직접 Remmina를 실행할 수 있기를 원했기 때문에 인기가 없는 솔루션이었습니다.
watch systemctl status xrdp
이것은 Remmina를 사용하여 rpi에서 Arch 시스템에 연결하려고 할 때 Arch VM/BM에서 발생하는 불쾌한 오류입니다.
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_load_keyboard_layout: keyboard_type [4] keyboard_subtype [0]
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_load_keyboard_layout: model [] variant [] layout [us] options []
May 05 23:51:30 zion xrdp[26732]: [INFO ] TLS connection established from 10.0.0.94 port 43248: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
May 05 23:51:30 zion xrdp[26732]: [INFO ] xrdp_process_offscreen_bmpcache: support level 1 cache size 7864320 MB cache entries 2000
May 05 23:51:30 zion xrdp[26732]: [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
May 05 23:51:30 zion xrdp[26732]: [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
May 05 23:51:31 zion xrdp[26732]: [ERROR] xrdp_iso_send: trans_write_copy_s failed
May 05 23:51:31 zion xrdp[26732]: [ERROR] SSL_shutdown: Server closed TLS connection
May 05 23:51:31 zion xrdp[26732]: [ERROR] Sending [ITU T.125] DisconnectProviderUltimatum failed
나는 4 대의 기계를 가지고 있습니다 :
- 윈도우 10 페이스리프트
- 가상 머신의 아치 리눅스
- "베어메탈" 기반의 아치 리눅스
- rpi "베어 메탈"의 Raspberry Pi 운영 체제
지금까지 반복되고 확인된 성공/실패 시나리오는 다음과 같습니다.
결과 | 원천 | 세션 프로토콜 | 목적지 |
---|---|---|---|
PF | 모두 | RDP를 통한 VNC | 회전 속도 |
PF | 모두 | rdp를 통한 xorg | ArchVM/BM |
에스 | 윈10 | rdp를 통한 xorg | 회전 속도 |
에스 | 회전 속도 | 표준 RDP | 윈10 |
에스 | 윈10 | RDP를 통한 VNC | ArchVM/BM |
에스 | ArchVM/BM | 표준 RDP | 윈10 |
TF | 회전 속도 | 해당 없음 | ArchVM/BM |
에스 | ArchVM/BM | rdp를 통한 xorg | 회전 속도 |
- S = 성공
- TF = 전체 실패 = 세션 관리자가 불법 자격 증명을 얻기 전에 연결이 끊어졌습니다.
- PF = 부분 실패 = 창 관리자가 시작되지 않고 세션 관리자의 배경만 남습니다.
- ALL = 모든 머신
- VM/BM = 가상 머신/베어메탈
xorgxrdp 패키지가 Arch VM/BM에 설치되어 있지만 Xorg 세션을 시작할 수 없습니다.
여기서 가장 중요한 것은 rpi가 일종의 rdp 포털로 실행되기 때문에 rpi에서 Arch 머신으로 rdp 세션을 설정하는 것입니다.
나는 xrdp-sesman을 꺼서 적어도 연결이 설정되었는지 확인하려고 했습니다. 내 생각에는 연결이 개별적으로 설정된다고 가정하는 세션 관리자의 문제일 수도 있습니다. 이 구성은 작동하지 않으며 연결할 수 없는 것 같습니다.
Arch Linux VM/BM 시스템/어플리케이션 정보(동일 시스템)
xrdp 버전:
xrdp -v
xrdp 0.9.16
A Remote Desktop Protocol Server.
Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--prefix=/usr
--sysconfdir=/etc
--localstatedir=/var
--sbindir=/usr/bin
--with-systemdsystemunitdir=/usr/lib/systemd/system
--enable-jpeg
--enable-tjpeg
--enable-fuse
--enable-opus
--enable-rfxcodec
--enable-mp3lame
--enable-pixman
--enable-painter
--enable-vsock
CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
CPPFLAGS=-D_FORTIFY_SOURCE=2
Compiled with OpenSSL 1.1.1k 25 Mar 2021
Freerdp 버전:
xfreerdp /version
FreeRDP 버전 2.3.2입니다(해당 사항 없음).
커널 버전:
uname -r
5.10.27-1-lts
레미나 버전:
remmina -V
Load modules from /usr/lib/remmina/plugins
Remmina plugin glibsecret (type=Secret) has been registered, but is not yet initialized/activated. The initialization order is 2000.
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-vnc.so.
Error: libvncclient.so.1: cannot open shared object file: No such file or directory
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-spice.so.
Error: libspice-client-gtk-3.0.so.5: cannot open shared object file: No such file or directory
The glibsecret secret plugin has been initialized and it will be your default secret plugin
org.remmina.Remmina - 1.4.13 (git n/a)
NAME TYPE DESCRIPTION PLUGIN AND LIBRARY VERSION
EXEC Protocol Execute a command 1.0
NX Protocol NX - NX Technology 1.4.13
RDP Protocol RDP - Remote Desktop Protocol RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
RDPF File RDP - RDP File Handler RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
RDPS Preference RDP - Preferences RDP plugin: 1.4.13 (Git n/a), Compiled with libfreerdp 2.3.2 (n/a), Running with libfreerdp 2.3.2 (rev n/a), H.264 Yes
ST Protocol Remmina simple terminal 1.0.0.0
XDMCP Protocol XDMCP - X Remote Session 1.4.13
glibsecret Secret Secured password storage in the GNOME keyring 1.4.13
Build configuration: HAVE_ARPA_INET_H=1 HAVE_ERRNO_H=1 HAVE_FCNTL_H=1 HAVE_NETDB_H=1 HAVE_NETINET_IN_H=1 HAVE_NETINET_TCP_H=1 HAVE_SYS_SOCKET_H=1 HAVE_SYS_UN_H=1 HAVE_TERMIOS_H=1 HAVE_UNISTD_H=1 WITH_APPINDICATOR=ON WITH_AVAHI=ON WITH_GCRYPT=ON WITH_ICON_CACHE=ON WITH_IPP=OFF WITH_LIBRARY_VERSIONING=ON WITH_MANPAGES=ON WITH_NEWS=OFF WITH_SSE2=ON WITH_TRANSLATIONS=ON WITH_UPDATE_DESKTOP_DB=ON
Build type: Release
CFLAGS: -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wimplicit-function-declaration -Wredundant-decls
Compiler: GNU, 10.2.0
Target architecture: x64
Raspberry Pi OS 시스템/애플리케이션 정보
xrdp 버전:
xrdp -v
xrdp 0.9.9
A Remote Desktop Protocol Server.
Copyright (C) 2004-2018 Jay Sorg, Neutrino Labs, and all contributors.
See https://github.com/neutrinolabs/xrdp for more information.
Configure options:
--enable-ipv6
--enable-jpeg
--enable-fuse
--enable-rfxcodec
--enable-opus
--enable-painter
--enable-vsock
--build=arm-linux-gnueabihf
--prefix=/usr
--includedir=${prefix}/include
--mandir=${prefix}/share/man
--infodir=${prefix}/share/info
--sysconfdir=/etc
--localstatedir=/var
--disable-silent-rules
--libdir=${prefix}/lib/arm-linux-gnueabihf
--libexecdir=${prefix}/lib/arm-linux-gnueabihf
--disable-maintainer-mode
--disable-dependency-tracking
--with-socketdir=/var/run/xrdp/sockdir
build_alias=arm-linux-gnueabihf
CFLAGS=-g -O2 -fdebug-prefix-map=/build/xrdp-q47Nhl/xrdp-0.9.9=. -fstack-protector-strong -Wformat -Werror=format-security
LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
PKG_CONFIG_PATH=/build/xrdp-q47Nhl/xrdp-0.9.9/pkgconfig
Compiled with OpenSSL 1.1.1d 10 Sep 2019
Freerdp 버전:
xfreerdp /version
이것은 FreeRDP 버전 2.0.0-dev5(2693389a+debian)입니다.
커널 버전:
uname -r
5.10.17-v7l+
레미나 버전:
Remmina -V
:
** (org.remmina.Remmina:31546): CRITICAL **: 12:05:00.357: secret_service_load_collections_sync: assertion 'paths != NULL' failed [glibsecret] unable to get secret service: Unknown error. Plugin entry returned false: /usr/lib/arm-linux-gnueabihf/remmina/plugins/remmina-plugin-secret.so. StatusNotifier/Appindicator support: not supported by desktop. libappindicator will try to fallback to GtkStatusIcon/xembed WARNING: Remmina is running with a secret plugin, but it cannot connect to a secret service.
Remmina - 1.3.3 (git n/a)
NAME TYPE DESCRIPTION PLUGIN AND LIBRARY VERSION RDP Protocol RDP - Remote Desktop Protocol RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes RDPF File RDP - RDP File Handler RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes RDPS Preference RDP - Preferences RDP Plugin:
1.3.3 (git n/a), Compiled with FreeRDP lib: 2.0.0-dev5 (2693389a+debian), Running with FreeRDP lib: 2.0.0-dev5 (rev 2693389a+debian), H264: Yes SFTP Protocol SFTP - Secure File Transfer 1.3.3 SSH Protocol SSH - Secure Shell
1.3.3 VNC Protocol VNC - VNC viewer 1.3.3 VNCI Protocol VNCI - VNC viewer listen mode 1.3.3 glibsecret Secret Secure passwords storing in the GNOME keyring
1.3.3
Build configuration: HAVE_ARPA_INET_H=1 HAVE_ERRNO_H=1 HAVE_FCNTL_H=1 HAVE_NETDB_H=1 HAVE_NETINET_IN_H=1 HAVE_NETINET_TCP_H=1 HAVE_SYS_SOCKET_H=1 HAVE_SYS_UN_H=1 HAVE_TERMIOS_H=1 HAVE_UNISTD_H=1 WITH_APPINDICATOR=ON WITH_AVAHI=ON WITH_FREERDP=ON WITH_GCRYPT=ON WITH_GETTEXT=ON WITH_LIBRARY_VERSIONING=ON WITH_LIBSECRET=ON WITH_LIBSSH=ON WITH_LIBVNCSERVER=ON WITH_MANPAGES=ON WITH_NEON=ON WITH_SPICE=ON WITH_SSE2=OFF WITH_TELEPATHY=ON WITH_TRANSLATIONS=ON WITH_VTE=ON Build type: None CFLAGS: -g -O2
-fdebug-prefix-map=/build/remmina-iuOrHL/remmina-1.3.3+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g Compiler: GNU, 8.2.0 Target architecture: ARM
답변1
대답은 xrdp github에서 찾을 수 있습니다.여기
기본적으로 xrdp는 다음과 같습니다.
서버가 전송하지 않지만
GlyphCacheCapabilitySet
문제는 없습니다. 클라이언트가 실제로 글리프 캐싱 기능을 광고하지 않는 한 서버는 글리프 캐싱을 수행해서는 안 됩니다.
Remmina 사용자를 위한 해결 방법으로 문제가 있는 연결 프로필의 연결 설정을 열고 "고급"으로 이동하여 "Glyph Cache" 및 "Relax Order Checking"을 선택하세요.