KDE环境下点击「设置」中的「全局快捷键」卡死

其它类软件,非上述版软件
回复
suly
帖子: 14
注册时间: 2016-11-01 21:05
系统: Manjaro20 KDE plasma

KDE环境下点击「设置」中的「全局快捷键」卡死

#1

帖子 suly » 2020-06-20 8:51

更新1:原来是使用[Archlinuxcn]源的缘故,看来[Archlinuxcn]管理员不建议Manjaro拥护添加其源是有原因的。

解决方法:将Manjaro官方源切换到unstable,如下:
编辑/etc/pacman.d/mirrorlist,将原来的stable都改为unstable,然后sudo pacman -Syyu更新系统。

话说不知道Manjaro的unstable稳定性有么有官方说的那么不堪,先用几天试试!



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


桌面环境:KDE 5.70.0 / Plasma 5.18.5

如题,每次打开设置后点击「快捷键」(触发的是全局快捷键,而不是另外三项快捷键,如图1)都会卡死很长时间:
图1
图1

过一会儿会弹出如图2的错误提示;
图2
图2

于是在终端下输入 systemsettings5 打开设置,先点击「快捷键」,终端中提示如下反馈:

代码: 全选

QQmlEngine::setContextForObject(): Object already has a QQmlContext
Couldn't load plugin "kcms/kcm_keys" : "共享库没有被找到。"  -- falling back to old-style loading from desktop file

继续依次点击「标准快捷键」、「网页快捷方式」和「自定义快捷键」,又分别如下提示:

代码: 全选

Couldn't load plugin "kcms/kcm_standard_actions" : "共享库没有被找到。"  -- falling back to old-style loading from desktop file
Couldn't load plugin "kcms/kcm_webshortcuts" : "共享库没有被找到。"  -- falling back to old-style loading from desktop file
Couldn't load plugin "kcms/kcm_hotkeys" : "共享库没有被找到。"  -- falling back to old-style loading from desktop file
Version 2 File!

但实际上,我查看了无论在 /lib 还是 /lib64 库中这几个共享库都有。


猜测是D-bus的问题,在网上搜索了一些答案没能解决问题,自己也不了解D-bus,求帮忙。。
上次由 suly 在 2020-06-25 16:28,总共编辑 1 次。
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#2

帖子 astolia » 2020-06-22 23:13

那个“KDE全局快捷键守护进程”是指kglobalaccel5这个。在我这里如果暂停它的进程,能复现你说的现象。所以应该是kglobalaccel5运行时在什么地方卡住了,无法响应外部请求。把现有的进程结束,运行strace kglobalaccel5,看它卡在哪里了
还有那几个共享库文件的问题,文件位置有点奇怪。在kubuntu 20.04上qt插件目录是/usr/lib/x86_64-linux-gnu/qt5/plugins/,你列出来的那几个文件都是安装到这个目录下的。但错误信息说是去/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms下面找不到。可能是各个组件的版本对不上?你是否使用了第三方源?
suly
帖子: 14
注册时间: 2016-11-01 21:05
系统: Manjaro20 KDE plasma

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#3

帖子 suly » 2020-06-23 19:56

astolia 写了: 2020-06-22 23:13 那个“KDE全局快捷键守护进程”是指kglobalaccel5这个。在我这里如果暂停它的进程,能复现你说的现象。所以应该是kglobalaccel5运行时在什么地方卡住了,无法响应外部请求。把现有的进程结束,运行strace kglobalaccel5,看它卡在哪里了
还有那几个共享库文件的问题,文件位置有点奇怪。在kubuntu 20.04上qt插件目录是/usr/lib/x86_64-linux-gnu/qt5/plugins/,你列出来的那几个文件都是安装到这个目录下的。但错误信息说是去/usr/lib/x86_64-linux-gnu/qt5/plugins/kcms下面找不到。可能是各个组件的版本对不上?你是否使用了第三方源?
1.将kglobalaccel5进程结束后的报错如下,与原文的报错有点不一样;
图2.1
图2.1
2.把现有的kglobalaccel5进程结束后,运行strace kglobalaccel5后,部分输出如下,重点在中间两行,每次我试图点击「全局快捷键」时就会复现这两行;

代码: 全选

read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
write(2, "QDBusObjectPath: invalid path \"/"..., 64QDBusObjectPath: invalid path "/component/百度网盘_desktop"
) = 64
write(2, "QDBusConnection: error: could no"..., 128QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments
) = 128
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLIN}])
read(5, "\1\0\0\0\0\0\0\0", 16)         = 8
3. 另外把kglobalaccel5进程结束后,只运行kglobalaccel5,会直接报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
然后每次点击一次「全局快捷键」,就会复现一次如下报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments
4.共享库文件的问题,我发现单击「设置」中的其他个别项也会出现相同的报错,在/usr/lib/x86_64-linux-gnu/qt5/plugins/中没有这些库,这个不影响使用,问题不大。忘记说了,系统环境是:
OS: Manjaro 20.0.3,
DE:KDE 5.70.0 / Plasma 5.18.5

另外使用了[Archlinuxcn]源,不知道共享库的问题是不是在于此?!
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#4

帖子 astolia » 2020-06-25 0:35

suly 写了: 2020-06-23 19:56 1.将kglobalaccel5进程结束后的报错如下,与原文的报错有点不一样;
6.png
你原来的问题是向kglobalaccel5进程发送消息但没有回应,结束进程后是直接发送消息失败。肯定是不一样的错误。

suly 写了: 2020-06-23 19:56 3. 另外把kglobalaccel5进程结束后,只运行kglobalaccel5,会直接报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
然后每次点击一次「全局快捷键」,就会复现一次如下报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments
dbus的路径只允许ASCII字符,你这里出现了中文,肯定就出错了。我测试了一下,在全局快捷键里选择添加一个带中文名的desktop文件,确实会卡住。
编辑~/.config/kglobalshortcutsrc,搜索“百度网盘”,把相关设置删掉,再重新运行kglobalaccel5就好了。这算是kglobalaccel的bug了,可以到 https://bugs.kde.org/ 向上游报告一下。

suly 写了: 2020-06-23 19:56 4.共享库文件的问题,我发现单击「设置」中的其他个别项也会出现相同的报错,在/usr/lib/x86_64-linux-gnu/qt5/plugins/中没有这些库,这个不影响使用,问题不大。忘记说了,系统环境是:
OS: Manjaro 20.0.3,
DE:KDE 5.70.0 / Plasma 5.18.5

另外使用了[Archlinuxcn]源,不知道共享库的问题是不是在于此?!
/usr/lib/x86_64-linux-gnu/qt5/plugins/是debian系的安装路径,我不用arch系,不知道是不是一样的。我以前听说过archlinuxcn源只是提供一些第三方软件,应该不会影响到kde组件的路径。
suly
帖子: 14
注册时间: 2016-11-01 21:05
系统: Manjaro20 KDE plasma

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#5

帖子 suly » 2020-06-25 16:33

好的,昨天切换到unstable分支解决问题了!另外的kglobalaccel方面额外增长了见识,
非常感谢老哥的热心! :Haha
astolia 写了: 2020-06-25 0:35
suly 写了: 2020-06-23 19:56 1.将kglobalaccel5进程结束后的报错如下,与原文的报错有点不一样;
6.png
你原来的问题是向kglobalaccel5进程发送消息但没有回应,结束进程后是直接发送消息失败。肯定是不一样的错误。

suly 写了: 2020-06-23 19:56 3. 另外把kglobalaccel5进程结束后,只运行kglobalaccel5,会直接报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
然后每次点击一次「全局快捷键」,就会复现一次如下报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments
dbus的路径只允许ASCII字符,你这里出现了中文,肯定就出错了。我测试了一下,在全局快捷键里选择添加一个带中文名的desktop文件,确实会卡住。
编辑~/.config/kglobalshortcutsrc,搜索“百度网盘”,把相关设置删掉,再重新运行kglobalaccel5就好了。这算是kglobalaccel的bug了,可以到 https://bugs.kde.org/ 向上游报告一下。

suly 写了: 2020-06-23 19:56 4.共享库文件的问题,我发现单击「设置」中的其他个别项也会出现相同的报错,在/usr/lib/x86_64-linux-gnu/qt5/plugins/中没有这些库,这个不影响使用,问题不大。忘记说了,系统环境是:
OS: Manjaro 20.0.3,
DE:KDE 5.70.0 / Plasma 5.18.5

另外使用了[Archlinuxcn]源,不知道共享库的问题是不是在于此?!
/usr/lib/x86_64-linux-gnu/qt5/plugins/是debian系的安装路径,我不用arch系,不知道是不是一样的。我以前听说过archlinuxcn源只是提供一些第三方软件,应该不会影响到kde组件的路径。
gemini4545
帖子: 12
注册时间: 2021-07-31 18:30
系统: ubuntu

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#6

帖子 gemini4545 » 2021-07-31 18:38

astolia 写了: 2020-06-25 0:35
suly 写了: 2020-06-23 19:56 1.将kglobalaccel5进程结束后的报错如下,与原文的报错有点不一样;
6.png
你原来的问题是向kglobalaccel5进程发送消息但没有回应,结束进程后是直接发送消息失败。肯定是不一样的错误。

suly 写了: 2020-06-23 19:56 3. 另外把kglobalaccel5进程结束后,只运行kglobalaccel5,会直接报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
然后每次点击一次「全局快捷键」,就会复现一次如下报错:

代码: 全选

QDBusObjectPath: invalid path "/component/百度网盘_desktop"
QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments
dbus的路径只允许ASCII字符,你这里出现了中文,肯定就出错了。我测试了一下,在全局快捷键里选择添加一个带中文名的desktop文件,确实会卡住。
编辑~/.config/kglobalshortcutsrc,搜索“百度网盘”,把相关设置删掉,再重新运行kglobalaccel5就好了。这算是kglobalaccel的bug了,可以到 https://bugs.kde.org/ 向上游报告一下。

suly 写了: 2020-06-23 19:56 4.共享库文件的问题,我发现单击「设置」中的其他个别项也会出现相同的报错,在/usr/lib/x86_64-linux-gnu/qt5/plugins/中没有这些库,这个不影响使用,问题不大。忘记说了,系统环境是:
OS: Manjaro 20.0.3,
DE:KDE 5.70.0 / Plasma 5.18.5

另外使用了[Archlinuxcn]源,不知道共享库的问题是不是在于此?!
/usr/lib/x86_64-linux-gnu/qt5/plugins/是debian系的安装路径,我不用arch系,不知道是不是一样的。我以前听说过archlinuxcn源只是提供一些第三方软件,应该不会影响到kde组件的路径。


你好,我遇见了类似的问题,也是在打开全局快捷键的时候提示一样的错误。不同的是,我是正好在添加wine微信快捷键时突然卡死了,然后之后只要一打开全局快捷键就是同样嗯提示。我也按照你的建议把~/.config/kglobalshortcutsrc里的有关微信的部分删了,但现在打开还是一样的问题,请教该如何处理? 是要重新运行kglobalaccel5吗?这一步不太会(新手)
我是Ubuntu 20.04 + KDE
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#7

帖子 astolia » 2021-08-02 10:54

gemini4545 写了: 2021-07-31 18:38
你好,我遇见了类似的问题,也是在打开全局快捷键的时候提示一样的错误。不同的是,我是正好在添加wine微信快捷键时突然卡死了,然后之后只要一打开全局快捷键就是同样嗯提示。我也按照你的建议把~/.config/kglobalshortcutsrc里的有关微信的部分删了,但现在打开还是一样的问题,请教该如何处理? 是要重新运行kglobalaccel5吗?这一步不太会(新手)
我是Ubuntu 20.04 + KDE
修改前要结束掉现有的kglobalaccel5进程。修改后再进设置,kglobalaccel5应该会自动重新运行。
如果还有问题,按二楼所说,结束掉现有的kglobalaccel5进程后,在终端里运行strace kglobalaccel5,看卡在哪里了
gemini4545
帖子: 12
注册时间: 2021-07-31 18:30
系统: ubuntu

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#8

帖子 gemini4545 » 2021-08-03 20:08

astolia 写了: 2021-08-02 10:54
修改前要结束掉现有的kglobalaccel5进程。修改后再进设置,kglobalaccel5应该会自动重新运行。
如果还有问题,按二楼所说,结束掉现有的kglobalaccel5进程后,在终端里运行strace kglobalaccel5,看卡在哪里了
1. 结束kglobalaccel5进程后进入设置全局快捷键界面,如下图:
结束kglobalaccel5进程后进入设置界面.png
结束kglobalaccel5进程后进入设置界面.png
2. 从终端开启kglobalaccel5后进入设置全局快捷键界面,如下图:
终端输入kglobalaccel5后进入设置界面
终端输入kglobalaccel5后进入设置界面
3.回到结束kglobalaccel5进程这步,通过终端strace kglobalaccel5后,进入全局快捷键设置界面,如下图:
终端strace kglobalaccel5后进入设备界面提示
终端strace kglobalaccel5后进入设备界面提示
从现象上来看和之前题主尝试的结果均相同。
我也同意你说的关于ASCII识别中文字符的问题。现在是没有途径取消这个中文程序的全局快捷键设置(导致相关进程始终在读取问题字符?)。如果只是删除.config/kglobalshortcutsrc中关于“微信”的设置,在开启设置界面时依旧存在上图2的问题,且在某一步(好像是启动kglobalaccel5这一步)或重启系统后,“微信”相关的设置依然会恢复到.config/kglobalshortcutsrc中。不知从哪里能阻止它自动恢复微信快捷键配置,或直接从源头上删除所有有关微信快捷键的设置?(已尝试卸载wine-微信,依旧会自动恢复配置)

现在就像是明明知道是“微信”字符识别的问题,但却没办法解决 :Noting

题主是将Manjaro官方源切换unstable源解决了,但我是ubuntu+kde (非直接kunbuntu),也没有unstable源(吧?)
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#9

帖子 astolia » 2021-08-05 9:47

gemini4545 写了: 2021-08-03 20:08 1. 结束kglobalaccel5进程后进入设置全局快捷键界面,如下图:
结束kglobalaccel5进程后进入设置界面.png

2. 从终端开启kglobalaccel5后进入设置全局快捷键界面,如下图:
终端输入kglobalaccel5后进入设置界面.png
你结束进程后修改.config/kglobalshortcutsrc没有?
gemini4545 写了: 2021-08-03 20:08 从现象上来看和之前题主尝试的结果均相同。
我也同意你说的关于ASCII识别中文字符的问题。现在是没有途径取消这个中文程序的全局快捷键设置(导致相关进程始终在读取问题字符?)。如果只是删除.config/kglobalshortcutsrc中关于“微信”的设置,在开启设置界面时依旧存在上图2的问题,
设置就放在.config/kglobalshortcutsrc里。但你修改它,kglobalaccel5进程并不会即时读取新数据,所以要先终止kglobalaccel5进程后再修改。
gemini4545 写了: 2021-08-03 20:08 且在某一步(好像是启动kglobalaccel5这一步)或重启系统后,“微信”相关的设置依然会恢复到.config/kglobalshortcutsrc中。
可能是kglobalaccel5在退出时会把已经读出来的数据重新写回配置文件。
gemini4545
帖子: 12
注册时间: 2021-07-31 18:30
系统: ubuntu

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#10

帖子 gemini4545 » 2021-08-05 23:01

astolia 写了: 2021-08-05 9:47
gemini4545 写了: 2021-08-03 20:08 1. 结束kglobalaccel5进程后进入设置全局快捷键界面,如下图:
结束kglobalaccel5进程后进入设置界面.png

2. 从终端开启kglobalaccel5后进入设置全局快捷键界面,如下图:
终端输入kglobalaccel5后进入设置界面.png
你结束进程后修改.config/kglobalshortcutsrc没有?
gemini4545 写了: 2021-08-03 20:08 从现象上来看和之前题主尝试的结果均相同。
我也同意你说的关于ASCII识别中文字符的问题。现在是没有途径取消这个中文程序的全局快捷键设置(导致相关进程始终在读取问题字符?)。如果只是删除.config/kglobalshortcutsrc中关于“微信”的设置,在开启设置界面时依旧存在上图2的问题,
设置就放在.config/kglobalshortcutsrc里。但你修改它,kglobalaccel5进程并不会即时读取新数据,所以要先终止kglobalaccel5进程后再修改。
gemini4545 写了: 2021-08-03 20:08 且在某一步(好像是启动kglobalaccel5这一步)或重启系统后,“微信”相关的设置依然会恢复到.config/kglobalshortcutsrc中。
可能是kglobalaccel5在退出时会把已经读出来的数据重新写回配置文件。
以下为具体步骤:
1)结束kglobalaccel5进程;
2)进入.config/kglobalshortcutsrc删除微信相关设置
3)终端strace kglobalaccel5
4)进入设置—全局快捷键
结果:
1)与上图2一样,先生界面卡主,然后出现“和全局快捷键守护进程连接失败”的错误提示;
2)同时终端与上图3一样的提示

所以总是在这一步过不去
gemini4545
帖子: 12
注册时间: 2021-07-31 18:30
系统: ubuntu

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#11

帖子 gemini4545 » 2021-08-05 23:30

之前的操作都是在已经卸载wine-微信的情况下进行的,始终是相同的错误提示,怀疑是不是本身微信路径不存在了,所以之后又把微信装回来又执行了相同的操作,即停止kglobalaccel5进程,修改.config/kglobalshortsrc,strace kglobalaccel5,但这次strace自动停止了并给出一大段错误提示,如附件
result.txt
(265.47 KiB) 已下载 121 次
全局快捷键依然打不开且报相同错误同上。
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#12

帖子 astolia » 2021-08-14 1:58

gemini4545 写了: 2021-08-05 23:30 之前的操作都是在已经卸载wine-微信的情况下进行的,始终是相同的错误提示,怀疑是不是本身微信路径不存在了,所以之后又把微信装回来又执行了相同的操作,即停止kglobalaccel5进程,修改.config/kglobalshortsrc,strace kglobalaccel5,但这次strace自动停止了并给出一大段错误提示,如附件result.txt
全局快捷键依然打不开且报相同错误同上。
我忘了一点,除了要改.config/kglobalshortsrc,还要把 ~/.local/share/kglobalaccel下面的有问题的.desktop文件删掉或改名
gemini4545
帖子: 12
注册时间: 2021-07-31 18:30
系统: ubuntu

Re: KDE环境下点击「设置」中的「全局快捷键」卡死

#13

帖子 gemini4545 » 2021-08-16 20:27

astolia 写了: 2021-08-14 1:58
我忘了一点,除了要改.config/kglobalshortsrc,还要把 ~/.local/share/kglobalaccel下面的有问题的.desktop文件删掉或改名
太感谢版主了,这个问题困扰了许久迟迟搞不定,就差重装KDE了,还好没放弃,许久没见的设置-快捷键终于打开了 :Cry

再次感谢版主耐心的指导。
回复