UOS 您所在的位置:网站首页 win10多用户切换会断网 UOS

UOS

2024-03-21 03:43| 来源: 网络整理| 查看: 265

UOS_远程桌面_xrdp_Xorg_x11vnc

转载注明来源: 本文链接 来自osnosn的博客,写于 2022-09-13.

参考 cpu 飞腾 D2000,统信UOS。 系统版本 1043。 区别 xrdp + Xorg, xrdp 只是一个壳,提供一个远程连接的加密通道。 Xorg 是共享机器的资源。每次连接一个新用户,都会创建一个新的session,创建一个新的桌面。 x11vnc 是共享的屏幕,远程的操作,实体机能看到,互相同步的。 x11vnc 缺省配置是不加密的。也可以启用tls加密,需要自己改配置。 另外,可能是我的配置不对,多用户切换,会把远程vnc给切黑屏了。实体机显示器正常显示。 xrdp 缺省为加密连接,耗费流量较小。远程时体验较好。 x11vnc 是传输屏幕的图像,缺省不加密连接。耗费流量大,约为 xrdp的2-3倍。远程比较慢。 局域网使用 x11vnc,可以不考虑 安全性和速度。 xrdp 可以在客户端设置屏幕分辨率。 x11vnc 是绑定实体机的屏幕,客户端无法改变屏幕分辨率,只能设定缩放比例。 xrdp uos 直接装 apt install xrdp。装好,服务默认就已经启动了。 就能用 win10 的 mstsc.exe 连接了。并且可以多用户连接。 配置文件 /etc/xrdp/xrdp.ini 中可以修改3389的端口号。restart xrdp 就生效。 远程连接时,通过Xorg再次连接。 建议断开前注销用户。否则,间隔一段时间后,再次连接会失败。 kill 掉 x-session-manager,能恢复全新连接,但之前的桌面就没了。 重启机器后,莫名的好了。之前"连接失败"的现象消失了。 经过测试,直接断开xrdp,锁定后断开,等8小时后再连,桌面都还在,打开的应用也都在。没发现连不回去。 注销后断开,再连接,是个全新的桌面。 当实体机未登录任何用户时。远程连接,不影响实体机的显示器的显示,一直显示等待登录。 当实体机登录了userAA。远程连接登录 userBB,不影响实体机 userAA 的操作,各自使用各自的桌面。完全不相干。 只是在共享机器的资源(内存,cpu)。连接太多用户,或开太多应用,机器会慢,会卡,甚至死机。 远程桌面,连接后,还有一层。这一层有4个选项。 以上的xrdp连接测试,都是用 Xorg 这个选项登录第二层的。 Xorg, Xvnc, vnc-any, neutrinordp-any Xorg 就是用来登录本机账号/开启会话的。 Xvnc 好像要和 tigerVNC 配合的。我没装 tigerVNC。 vnc-any 其实就是个 vnc的客户端。可以登录其他的远程vnc服务。 neutrinordp-any, 似乎是 rdp 的客户端。但又登录不了win10的远程桌面。不知有什么问题。 切换用户,就出问题了。 实体机登录userAA,xrdp也登录userAA,xrdp经过好几分钟等待后,进入黑屏。奇怪的现象就出现了。 实体机桌面还在,点击图标,应用打不开,回头发现,应用其实开到 rdp桌面了。 实体机注销userAA,xrdp的桌面就回来了。似乎操作正常。 这时候退出xrdp,哪怕是注销。实体机点击应用,还是不会出现。再次连接xrdp,发现没桌面,但应用窗口都在。 后台 service lightdm restart,可以恢复。别再用xrdp登录同一个用户了。 实体机登录userAA,xrdp登录userBB。 如果实体机切换用户到userBB,会卡死。直到xrdp注销用户userBB。 如果xrdp切换用户到userAA,界面卡死,没反应了。断开,再连,还是那个卡死的界面。 需要后台,杀掉会话,kill startwm.sh 或者 Xsession 或者 x-session-manager,三个进程是派生关系。先找到哪个,杀哪个,后面的自然被杀了。 重新连接xrdp,能恢复。别再切换用户了。 如果 service xrdp restart 重启过,登录xrdp也会黑屏,也要杀掉之前的会话,Xsession,就能恢复。 x11vnc 【UOS系统中安装x11vnc远程桌面】 参考以上文章,安装x11vnc, apt update; apt install x11vnc 依赖 tk tcl x11vnc-data libvncserver1 . x11vnc -storepasswd /etc/x11vnc.pass 设置密码 vim /etc/systemd/system/x11vnc.service[Unit] Description=x11vnc service After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared [Install] WantedBy=multi-user.target chown 0.0 /etc/systemd/system/x11vnc.service,改文件所有者。 systemctl daemon-reload; systemctl start x11vnc,启动服务。 systemctl enable x11vnc , 设置开机启动 (这一步我没做)。 最终我手工执行上面的命令。临时启用一下而已。 win客户端用 VNC_Viewer, 免费的。【官方下载地址】。 用 win 客户端连接,成功。vnc桌面中,鼠标移动,实体机显示器上,鼠标也在同步动。 断开之后,过一段时间再连接,也没有问题。 只使用一个用户,登录,注销,锁定,都 OK。 多用户,就出问题了。 再给系统创建一个用户。这时候,系统有两个用户 userAA 和 userBB。 先登录 userAA,然后点击"切换用户",这个时候 vnc客户端还OK。 点击 另一个用户。实体机显示器没问题。vnc就黑屏了,但并不断开,vnc中什么都操作不了。 去实体机,再选择回第一个用户。vnc的显示又恢复了。 发现 /var/run/lightdm/root/ 目录中有两个文件 :0 和 :1。 systemctl stop x11vnc 停掉服务。改手工启动。/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc/x11vnc.pass -autoport -shared & /usr/bin/x11vnc -display :1 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc/x11vnc.pass -autoport -shared & 两个进程分别监听在 5900 和 5901。 开两个 vnc_viewer 连接 这两个端口。 选择"切换用户",就会在这两个vnc窗口切换。一个有显示,一个是黑屏。有意思。 这时候,如果其中一个用户"注销",``/var/run/lightdm/root/` 中就会少一个文件。 导致刚才手工启动的 x11vnc ,其中一个,不停的报错,重启。因为找不到对应文件了。 暂时没有继续研究下去。估计要好好看看 x11vnc 的文档了。 这篇写的不一样, 【uos-win互相远程桌面使用】, 【uos-win互相远程桌面使用】, 其实就是用xrdp的加密通道,套一个不加密的x11vnc。我没做测试。 效果和直接用x11vnc是一样的。只是win这边不用装vnc_viewer,直接用mstsc.exe连接。 用途 想多人使用同一台机器的资源,各用各的桌面。互不干涉。就用 xrdp + Xorg。 想共享屏幕,教别人操作,帮人远程解决电脑的问题。就用 x11vnc。一个操作,一个看。 两人一起操作,也行,只是会打架。 其他 remmina-1.3.3 版,连接win10的远程桌面,会失败。估计版本太低,支持不好。 remmina-1.4.8 版,rdp连接win10很好,ssh,vnc,使用都正常。 只是ssh不支持port forward功能。 rdp连win10后,复制/粘贴文件,没测试。不知道行不行。 ls带颜色输出时,目录是蓝色,阅读吃力,改一下。 uos 使用的是 256colors 定义。定义文件是 /etc/lscolor-256color。 修改 DIR 38;5;105 为 48;5;19;38;5;7,蓝底白字。或 48;5;19;38;5;7;1。 其中:48;5;X背景色,38;5;X前景色,;1高亮。0正常,1高亮,2低亮,3斜体,4下划线,5闪烁,6快闪,7反色,8隐藏,9删除线。 见【装 Debian 的 VM】。 UOS 的防火墙 和 debian的一样。只是缺省装好了iptables包,默认使用iptables命令。没装nftables包。 uos系统的防火墙,默认使用 iptables 命令生成,其实用的是xtables-nft-multi命令。 这个命令是把 iptables的规则命令,翻译为 nft规则命令,写入nftables中。 iptables-legacy 命令是xtables-legacy-multi,才是真正的,老的iptables命令。 一旦执行过iptables-legacy,内核会加载 iptable_filter模块。 再执行iptables,就会给出Warning,说有旧模式的iptables在使用。 装上nftables包,可以用nft list ruleset看到所有的规则。 如果用 nft 命令添加过规则后,iptables命令就罢工了。 说规则不匹配,翻译不回来了。提示要用 nft命令。 删掉用nft新添加的规则,就恢复了。

----end----

转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/16690589.html 来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有