如题,我的系统版本如下
openSUSE Tumbleweed 20250503
即使在设置中开启,krdp 服务也并没有监听端口
奇怪的是其他发行版上面这个功能是可用的,比如说 KDE neon
这是哪里的 bug 呢?抓个虫
如题,我的系统版本如下
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 里是找不到服务的:
但 KRDP 就是没有:
所以之所以这么干可能就是因为 Neon 会通过别的途径自动启动这个 service…就跟我之前说过的那个适配 Ubuntu 的例子一样,开发者的环境限制了他…
所以 workaround 也很简单:
systemctl —user enable plasma-krdp_server.service
本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。