容器(ubuntu20.04)开启远程桌面rdp(显示xterm和xclock)(下)

docker pull chanhyeok/sshd_ubuntu20.04

root@fv-az844-904:/tmp# docker images |grep sshd_ubuntu20.04
chanhyeok/sshd_ubuntu20.04   latest      b5f181a7000b   5 months ago    281MB
root@fv-az844-904:/tmp# docker inspect -f {{.Config.Entrypoint}}  b5f181a7000b
[]
root@fv-az844-904:/tmp# 

启动docker镜像:

docker run -it --name ssh2004 -p 0.0.0.0:2233:22 -p 53389:3389 -v /sbin/busybox:/bin/busybox -v /sbin/busybox:/bin/netstat b5f181a7000b;

在容器内执行命令:

root@857a784f9dd9:/# grep NA /etc/os-release
NAME="Ubuntu"
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
root@857a784f9dd9:/# uname -a
Linux 857a784f9dd9 5.15.0-1031-azure #38~20.04.1-Ubuntu SMP Mon Jan 9 18:23:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
root@857a784f9dd9:/# 

给容器安装deb包:

export LANG=en_US.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update; \
apt install -y xorg dbus-x11 x11-xserver-utils xterm xinit xorgxrdp ; \
which X  && apt install -y xrdp  ;

最后有一句:saving to /etc/xrdp/rsakeys.ini,阿里云的镜像貌似没有

启动xrdp:

which xrdp xrdp-sesman xrdp-sessman;
setsid /usr/sbin/xrdp-sesman --nodaemon ; 
setsid /usr/sbin/xrdp  --nodaemon ;
root@857a784f9dd9:/# which xrdp xrdp-sesman xrdp-sessman;
/usr/sbin/xrdp
/usr/sbin/xrdp-sesman
root@857a784f9dd9:/# setsid /usr/sbin/xrdp-sesman --nodaemon ; 
root@857a784f9dd9:/# setsid /usr/sbin/xrdp  --nodaemon ;starting sesman in foreground...
Global configuration:
    ListenAddress:            127.0.0.1
    ListenPort:               3350
    EnableUserWindowManager:  1
    UserWindowManager:        startwm.sh
    DefaultWindowManager:     /etc/xrdp/startwm.sh
    ReconnectScript:          /etc/xrdp/reconnectwm.sh
    AuthFilePath:             disabled
Session configuration:
    MaxSessions:              50
    X11DisplayOffset:         10
    KillDisconnected:         0
    IdleTimeLimit:            0
    DisconnectedTimeLimit:    0
    Policy:                   0
Security configuration:
    AllowRootLogin:           1
    MaxLoginRetry:            4
    AlwaysGroupCheck:         0
    RestrictOutboundClipboard: 0
    TSUsersGroup:             (not defined)
    TSAdminsGroup:            (not defined)
Xorg parameters:
    Parameter 00              /usr/lib/xorg/Xorg
    Parameter 01              -config
    Parameter 02              xrdp/xorg.conf
    Parameter 03              -noreset
    Parameter 04              -nolisten
    Parameter 05              tcp
    Parameter 06              -logfile
    Parameter 07              .xorgxrdp.%s.log
Xvnc parameters:
    Parameter 00              Xvnc
    Parameter 01              -bs
    Parameter 02              -nolisten
    Parameter 03              tcp
    Parameter 04              -localhost
    Parameter 05              -dpi
    Parameter 06              96
SessionVariables parameters:
    Parameter 00              PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
xrdp-sesman[2631]: (2631)(139973929264704)[DEBUG] libscp initialized

[20230218-17:44:24] [DEBUG] libscp initialized
xrdp-sesman[2631]: (2631)(139973929264704)[INFO ] starting xrdp-sesman with pid 2631

[20230218-17:44:24] [INFO ] starting xrdp-sesman with pid 2631
xrdp-sesman[2631]: (2631)(139973929264704)[INFO ] listening to port 3350 on 127.0.0.1

[20230218-17:44:24] [INFO ] listening to port 3350 on 127.0.0.1

root@857a784f9dd9:/# xrdp[2633]: (2633)(140450042058560)[INFO ] starting xrdp with pid 2633

[20230218-17:44:26] [INFO ] starting xrdp with pid 2633
xrdp[2633]: (2633)(140450042058560)[INFO ] address [0.0.0.0] port [3389] mode 1

[20230218-17:44:26] [INFO ] address [0.0.0.0] port [3389] mode 1
xrdp[2633]: (2633)(140450042058560)[INFO ] listening to port 3389 on 0.0.0.0

[20230218-17:44:26] [INFO ] listening to port 3389 on 0.0.0.0
xrdp[2633]: (2633)(140450042058560)[INFO ] xrdp_listen_pp done

[20230218-17:44:26] [INFO ] xrdp_listen_pp done

root@857a784f9dd9:/# 

修改root用户密码:

echo root:123456|chpasswd;

使用SSH客户端的本地转发远程服务器的53389端口:

ssh -o StrictHostKeyChecking=no -CNf -L 53389:127.0.0.1:53389 root@vps_ip -p port_number

使用win10x64的远程桌面连接(下图选择Xorg):

如果密码正确输入后,远程桌面突然退出,可能需要如下代码:

echo xterm>>~/.xsession;
chmod 777 ~/.xsession;

备注:

报以下错误,不影响使用

rdpLoadLayout: keylayout 0x00000804 variant  display 10
fuse: device not found, try 'modprobe fuse' first
[1672748244]: FUSE       xfuse_init_lib: 790 : ERROR: fuse_mount() failed
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat on
xrdp-chansrv [1672748246]: xcommon_init: connected to display ok
fuse: device not found, try 'modprobe fuse' first
[1672748247]: FUSE       xfuse_init_lib: 790 : ERROR: fuse_mount() failed
xrdp-chansrv [1672748247]: sound_init:
fuse: device not found, try 'modprobe fuse' first
[1672748247]: FUSE       xfuse_init_lib: 790 : ERROR: fuse_mount() failed
xrdp-chansrv [1672748247]: audin_init:
rdpInDeferredRepeatCallback:
rdpkeybChangeKeyboardControl:
rdpkeybChangeKeyboardControl: autoRepeat off

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值