您尚未登录。

#1 2024-01-06 17:07:42

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

最近用OpenWRT做了一个实验用的网络环境,且在OpenWRT上搭建了samba共享。
OpenWRT路由下的系统我都是通过远程桌面访问的,也就是linux下使用了xrdp服务。

现在在linux下使用thunar + gvfs + gvfs-smb访问共享的时候, 可以打开共享, 但是在 /run/user/<uid>/gvfs目录却始终是空的。
我用另外一个安装了linux的实体笔记本测试相同的共享文件夹(不使用xrdp远程桌面访问),发现在打开共享后, gvfs会自动将共享挂载到 /run/user/<uid>/gvfs/smb-share:xxxxxxxxxxxxxxx 形式的目录下。

所以想请问一下, 为何xrdp访问, 为何gvfs无法将共享文件夹映射到本地路径呢?
我的目的是在xrdp远程桌面到实验环境中时, 可以挂在远程共享并可修改共享中存放的文件。

最近编辑记录 Hacksign (2024-01-19 17:24:54)

离线

#2 2024-01-06 17:19:19

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

有点不清楚你「在linux下」和「另外一个安装了linux的实体笔记本」有啥区别,以及「xrdp访问」到底是指的从哪里访问到哪里?

离线

#3 2024-01-06 17:35:59

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

有点不清楚你「在linux下」和「另外一个安装了linux的实体笔记本」有啥区别,以及「xrdp访问」到底是指的从哪里访问到哪里?

实体linux笔记本通过lightdm登录, xrdp通过xrdp的服务登录, pam脚本的路径应该是不一样的(有一个记住密码的功能就需要在pam.d下的文件里加入gome_keyring的so文件),其余的没有区别

xrdp访问(哪里到哪里)应该不重要, 就是通过一个远程桌面的客户端访问运行有xrdp服务的linux机器。

离线

#4 2024-01-06 17:59:39

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

重要的是,你有问题的环境是哪个?

离线

#5 2024-01-06 18:46:01

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

有问题的是xrdp环境的, xrdp下的gvfs-smb无法挂在共享到本地目录

离线

#6 2024-01-06 18:57:49

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

你看看 XDG_RUNTIME_DIR 环境变量设置了吗?DBUS_SESSION_BUS_ADDRESS 呢?我怀疑你的 xrdp 会话没正确加载 pam_systemd.so。

离线

#7 2024-01-06 21:00:24

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

你看看 XDG_RUNTIME_DIR 环境变量设置了吗?DBUS_SESSION_BUS_ADDRESS 呢?我怀疑你的 xrdp 会话没正确加载 pam_systemd.so。

这个我之前看过, 至少是有值的:

>> env | grep -Pi 'xdg_runtime_dir|dbus_session_bus_address'
DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/dbus-DAfXYEOxJJ,guid=3c7afac25c077106fd06bf5265994ea3
XDG_RUNTIME_DIR=/run/user/972

离线

#8 2024-01-06 21:23:09

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

看起来都不太正常……

DBUS_SESSION_BUS_ADDRESS 这个是自动运行的 D-Bus 生成的地址,不是 systemd 的那个。预期会有大问题。
XDG_RUNTIME_DIR 这里的 uid 是 972,不太像你的用户对应的(一般是1000往上一点点)。

离线

#9 2024-01-06 21:34:03

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

看起来都不太正常……

XDG_RUNTIME_DIR 这里的 uid 是 972,不太像你的用户对应的(一般是1000往上一点点)。

这个是因为我的奇葩useradd创建方式哈, 这个应该是没问题的:

 
>> id
uid=972(pand0ra) gid=984(users) 组=984(users),969(docker),994(input),995(disk),998(wheel)

#上面的用户是用如下命令创建的:
[root@ArchLinux-00-X64 pam.d]# useradd -m -N -r xxx
#因为是系统用户,所以小于1000
[root@ArchLinux-00-X64 pam.d]# useradd --help
用法:useradd [选项] 登录名
      useradd -D
      useradd -D [选项]

选项:
     --badname                    不检查 bad names
  -b, --base-dir BASE_DIR       新账户的主目录的基目录
      --btrfs-subvolume-home    use BTRFS subvolume for home directory
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults                显示或更改默认的 useradd 配置
  -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -F, --add-subids-for-system   add entries to sub[ud]id even when adding a system user
  -g, --gid GROUP               新账户主组的名称或 ID
  -G, --groups GROUPS           新账户的附加组列表
  -h, --help                    显示此帮助信息并退出
  -k, --skel SKEL_DIR           使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -m, --create-home             创建用户的主目录
  -M, --no-create-home          不创建用户的主目录
  -N, --no-user-group           不创建同名的组
  -o, --non-unique              允许使用重复的 UID 创建用户
  -p, --password PASSWORD       加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             新账户的登录 shell
  -u, --uid UID                 新账户的用户 ID
  -U, --user-group              创建与用户同名的组
依云 说:

DBUS_SESSION_BUS_ADDRESS 这个是自动运行的 D-Bus 生成的地址,不是 systemd 的那个。预期会有大问题。

刚看了一下正常的那台笔记本, dbus地址和xdg的是一样的, 没问题的值是:   unix:path=/run/user/972/bus      ( 另外一台没问题机器的user id也是972)
有啥建议吗?

最近编辑记录 Hacksign (2024-01-06 21:39:04)

离线

#10 2024-01-06 21:46:42

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

先研究一下 pam_systemd.so 怎么加载吧。

离线

#11 2024-01-13 21:24:03

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

先研究一下 pam_systemd.so 怎么加载吧。

按照你的思路研究了一下, 发现并不是pam_systemd.so的问题。 这个.so应该是已经正确加载了。

# Situation 1

目前看到的问题是, xrdp-sesman 会根据 ~/.xinitrc 启动桌面环境, 我用的是Openbox, 如果 .xinitrc 中这么写:

exec /usr/bin/openbox-session

则 DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/dbus-7VCuKApZlC

# Situation 2

如果 .xinitrc 这么写

exec /usr/bin/openbox

则 DBUS_SESSION_BUS_ADDRESS 正常.

# Situation 3

如果 .xinitrc 写成

dbus-launch --exit-with-session /usr/bin/openbox

则 DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/dbus-7VCuKApZlC

-------------------------------------------------------------------------------------------

现在即想用到openbox-session的autostart能力, 又想要DBUS_SESSION_BUS_ADDRESS正常, 怎么解……………… T.T

最近编辑记录 Hacksign (2024-01-13 21:41:06)

离线

#12 2024-01-13 22:00:53

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

哦,所以是你跑的命令非要自己跑个 dbus 啊……

「openbox-session的autostart能力」是什么能力?你自己改改它呢?

离线

#13 2024-01-14 15:01:11

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

哦,所以是你跑的命令非要自己跑个 dbus 啊……

并不是, 即使不用那个dbus-launch,也会有ADDRESS是tmp的情况,比如下面这种启动方法:

exec /usr/bin/openbox-session

不知道为啥, 这种方式openbox-session启动的openbox会自己创建一个dbus。只有exec不带-session的版本,才会继承现有xrdp-sesman的DBUS_SESSION_BUS_ADDRESS环境变量(xrdp-sesman的此环境变量是正确的)。

依云 说:

「openbox-session的autostart能力」是什么能力?你自己改改它呢?

参见

https://wiki.archlinux.org/title/Openbox

Run openbox or openbox-session with xinit. Note that only openbox-session provides autostart.

现在只能这么解决先:

>> cat ~/.xinitrc 

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for entity in /etc/X11/xinit/xinitrc.d/?* ; do
        [ -x "$entity" ] && . "$entity"
    done
    unset entity
fi

exec $HOME/.config/openbox/autostart &
exec /usr/bin/openbox

最近编辑记录 Hacksign (2024-01-14 15:01:31)

离线

#14 2024-01-14 15:29:14

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,481
个人网站

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

找了一圈,openbox-session 没有自带启动 dbus-daemon 啊。是不是你的配置的原因?

离线

#15 2024-01-19 17:24:31

Hacksign
会员
注册时间: 2012-08-01
帖子: 26

Re: 【已解决】xrdp + thunar + gvfs-smb 无法挂载到本地的问题

依云 说:

找了一圈,openbox-session 没有自带启动 dbus-daemon 啊。是不是你的配置的原因?

又折腾了一周……我又回来了了……

我也不知道为啥, 现在exec /usr/bin/openbox-session, 好了……我啥也没动………

离线

页脚