openSUSE Tumbleweed 上 KDE 设置模块中的远程桌面不工作

如题,我的系统版本如下
openSUSE Tumbleweed 20250503
即使在设置中开启,krdp 服务也并没有监听端口

奇怪的是其他发行版上面这个功能是可用的,比如说 KDE neon

这是哪里的 bug 呢?抓个虫

KDE 设置里面的 KRDP 开关其实是进行这个操作:

QDBusMessage::createMethodCall(dbusSystemdDestination, dbusKrdpServerServicePath, dbusSystemdUnitInterface, enabled ? u"Start"_qs : u"Stop"_qs);

等价于:

qdbus6 org.freedesktop.systemd1 /org/freedesktop/systemd1/unit/plasma_2dkrdp_5fserver_2eservice org.freedesktop.systemd1.Unit Start

运行会出错,因为没有 plasma_2dkrdp_5fserver_2eservice 这个路径(其实就是 plasma-krdp_server.service),这个服务实际上是 /usr/lib/systemd/user/app-org.kde.krdpserver.service 的 Alias。

出错的原因是 KDE 开发者没考虑到这个 systemd service 是 disabled 的情况。正常应该是先做一步 LoadUnit 再去做 Start,不然 DBus 里是找不到服务的:

https://unix.stackexchange.com/questions/615202/systemd-dbus-api-returns-service-not-loaded-for-disabled-services

但 KRDP 就是没有:

所以之所以这么干可能就是因为 Neon 会通过别的途径自动启动这个 service…就跟我之前说过的那个适配 Ubuntu 的例子一样,开发者的环境限制了他…

1赞

所以 workaround 也很简单:

systemctl —user enable plasma-krdp_server.service

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。