xrdp 的烦人问题

xrdp 的烦人问题

我必须安装一个基于Linux的服务器,所以在一遍又一遍地面对许多问题之后,我终于设法克服了所有这些问题

所以现在我正在配置 xrdp,乍一看,一切正常,但随后出现的问题是我根本找不到修复它的方法

在我的工作中,我们有很多计算机,其中只有 2 台运行 Linux,其余的都是 Windows,问题出在 Windows/Linux 之间的 UI 远程连接

当某人使用Windows本机远程应用程序时,那个人可以毫无问题地连接,您甚至可以通过瘦客户端与远程计算机(服务器)共享文件,但只是在第一次..

当用户结束会话时,稍后返回并开始新会话后,尝试再次打开 Thinclient_drives 时,它不起作用

用户收到以下错误:未处理的错误消息:获取文件信息时出错。端点传输未连接。

我根本没明白,因为 some1 第一次登录时,它工作得很好,你甚至可以退出远程连接,而无需结束会话并稍后再回来,一切仍然正常

但是,如果您确实完成了会话并稍后再次登录,则在服务器重新启动之前它将不再起作用

我尝试了很多东西,我首先认为这是一些隐藏的会话留下的,我什至尝试重新启动 xrdp,但问题根本没有得到解决

我也尝试过卸载,但它不允许我卸载瘦客户端

我尝试使用命令“ps aux”来查看所有正在运行的进程,并杀死了其中很多进程,试图在不重新启动的情况下修复,但没有成功

无论我多么努力,我都找不到发生了什么,我知道这可能是一些我看不到的隐藏过程或其他东西,但我不知道如何找到它,如果是这样的东西

目前唯一的解决方案是在离开远程连接时不要钓鱼会话,否则必须重新启动服务器

重新启动时,瘦客户端再次正常工作,但只有一次,然后同样的事情再次发生

关于造成这一切的原因或如何解决它有什么建议吗?

答案1

在网上寻找解决方法后,我找到了一个临时解决方案

看起来原因是ubuntu 18.04版本本身的问题

修复它的方法很简单,登录后,你应该做的第一件事就是卸载瘦客户端,我是通过终端使用

sudo umount -f thinclient_drives

之后,您必须将其重命名thinclient_drives.thinclient_drives

只需在前面添加一个点,它就会修复所有问题,但是,看起来 ubuntu 在完成会话时无法正确卸载,因此,您每次都必须手动卸载,这样,下次登录时它将正常工作并正确安装

我现在要尝试看看是否可以在注销之前运行某种命令,如果可以,那么我会通过设置一个命令在每次 b4 登录时卸载来修复它

答案2

vi(m)/etc/xrdp/sesman.ini文件。

在 [Chansrv] 下添加: FuseMountName=/tmp/%u/thinclient_drives

注销并重新登录。thinclient_drives 现在将安装在/tmp/{uid}/thinclient_drives.

你可以rmdir thinclient_drives在你的 homedir 中。

答案3

我喜欢这里的所有答案,对我来说,解决这个问题最有效的方法是通过使用 sed to 来查看/etc/xrdp/sesman.ini并更改FuseMountName=thinclient_drives为来结合这两种方法FuseMountName=.thinclient_drives

#!/usr/bin/env bash

#set -o errexit
set -o nounset
#set -eu -o pipefail
#set -x
#trap read debug

thinclient=$(sudo cat /etc/xrdp/sesman.ini | grep FuseMountName)

if [ -z "$thinclient" ]; then
  echo 'Entry doesn'\'''t exist, adding...''
  sudo sed -i '/Chansrv/a FuseMountName=.thinclient_drives' /etc/xrdp/sesman.ini
else
  echo 'Entry exists, modifying...'
  sudo sed -i s/"$thinclient"/FuseMountName=.thinclient_drives/g /etc/xrdp/sesman.ini
fi

注销然后重新登录后,问题应该会自行解决。

相关内容