我刚刚在我的笔记本电脑上安装了 Kubuntu,一切运行顺利。然后plasma-discover
突然停止工作。当我尝试启动它时,窗口在左上角显示为一个小矩形一秒钟左右,然后立即消失。从命令行启动它,会给出相同的结果,并显示以下消息:
$ plasma-discover
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
qrc:/qml/DiscoverWindow.qml:116:19: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:674:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 14. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:670:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 13. Use 'sequences: [ <key> ]' to bind to all of them.
QObject::startTimer: Timers cannot have negative intervals
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
qrc:/qml/DiscoverPage.qml:42:37: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
adding empty sources model QStandardItemModel(0x55feeb4688e0)
org.kde.plasma.libdiscover: Couldn't find a category for "fwupd-backend"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/private/PrivateActionToolButton.qml:75:5: QML Binding: Binding loop detected for property "value"
QQuickItem::stackBefore: Cannot stack QQuickRectangle(0x55feeb88dda0, parent=0x55feeaea8fe0, geometry=0,0 0x0) before QQuickPopupItem(0x55feeb04c110), which must be a sibling
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/GlobalDrawer.qml:333:17: QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/AbstractApplicationWindow.qml:283:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
Segmentation fault (core dumped)
运行命令root
正确启动应用程序,并显示以下消息:
sudo plasma-discover
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qrc:/qml/DiscoverWindow.qml:116:19: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:674:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 14. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:670:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 13. Use 'sequences: [ <key> ]' to bind to all of them.
qrc:/qml/DiscoverPage.qml:42:37: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
adding empty sources model QStandardItemModel(0x561aaf758820)
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
org.kde.plasma.libdiscover: Couldn't find a category for "fwupd-backend"
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/private/PrivateActionToolButton.qml:75:5: QML Binding: Binding loop detected for property "value"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/AbstractApplicationWindow.qml:283:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/BasicListItem.qml:273:18: QML QQuickItem*: Binding loop detected for property "implicitWidth"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/AbstractApplicationWindow.qml:283:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
我做了一些研究,也许它与一些键绑定有关,但我不知道如何解决这个问题......我的plasma-discover
版本是5.24.7
,我在6.5.0-15-generic x86_64
内核上运行 Kubuntu 22.04
运行gdb plasma-discover
结果为:
$ gdb plasma-discover
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from plasma-discover...
(No debugging symbols found in plasma-discover)
(gdb) start
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
Starting program: /usr/bin/plasma-discover
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff0147640 (LWP 9869)]
[New Thread 0x7fffef0d6640 (LWP 9870)]
[New Thread 0x7fffedb22640 (LWP 9871)]
[New Thread 0x7fffed321640 (LWP 9872)]
[New Thread 0x7fffecb20640 (LWP 9873)]
[New Thread 0x7fffe5fff640 (LWP 9874)]
[New Thread 0x7fffe57fe640 (LWP 9875)]
[New Thread 0x7fffe4ffd640 (LWP 9876)]
[New Thread 0x7fffd8fff640 (LWP 9877)]
[New Thread 0x7fffbbfff640 (LWP 9878)]
[New Thread 0x7fffbb7fe640 (LWP 9879)]
[Thread 0x7fffbb7fe640 (LWP 9879) exited]
[Thread 0x7fffbbfff640 (LWP 9878) exited]
[New Thread 0x7fffbbfff640 (LWP 9880)]
[New Thread 0x7fffbb7fe640 (LWP 9881)]
[New Thread 0x7fffbaffd640 (LWP 9882)]
[Thread 0x7fffbaffd640 (LWP 9882) exited]
[Thread 0x7fffbb7fe640 (LWP 9881) exited]
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
qrc:/qml/DiscoverWindow.qml:116:19: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:674:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 14. Use 'sequences: [ <key> ]' to bind to all of them.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:670:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 13. Use 'sequences: [ <key> ]' to bind to all of them.
QObject::startTimer: Timers cannot have negative intervals
[New Thread 0x7fffbb7fe640 (LWP 9883)]
[New Thread 0x7fffbaffd640 (LWP 9884)]
[New Thread 0x7fffb99e6640 (LWP 9885)]
[New Thread 0x7fffb91e5640 (LWP 9886)]
kf.config.core: "\"geometry\" - conversion of \"776,258,0,65507\" to QRect failed"
qrc:/qml/DiscoverPage.qml:42:37: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them.
[New Thread 0x7fffa3fff640 (LWP 9887)]
[New Thread 0x7fffa37fe640 (LWP 9888)]
[New Thread 0x7fffa2ffd640 (LWP 9889)]
[New Thread 0x7fffa27fc640 (LWP 9890)]
[New Thread 0x7fffa1ffb640 (LWP 9891)]
adding empty sources model QStandardItemModel(0x555555eec230)
[New Thread 0x7fffa17fa640 (LWP 9892)]
[New Thread 0x7fff8bfff640 (LWP 9893)]
[Detaching after fork from child process 9894]
org.kde.plasma.libdiscover: Couldn't find a category for "fwupd-backend"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/private/PrivateActionToolButton.qml:75:5: QML Binding: Binding loop detected for property "value"
[New Thread 0x7fff8b7fe640 (LWP 9896)]
[New Thread 0x7fff8affd640 (LWP 9897)]
[New Thread 0x7fff8a7fc640 (LWP 9898)]
QQuickItem::stackBefore: Cannot stack QQuickRectangle(0x555556312ba0, parent=0x55555592d020, geometry=0,0 0x0) before QQuickPopupItem(0x555555acfa70), which must be a sibling
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/GlobalDrawer.qml:333:17: QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/AbstractApplicationWindow.qml:283:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
Thread 1 "plasma-discover" received signal SIGSEGV, Segmentation fault.
0x00007ffff6ace859 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
(gdb) c
Continuing.
[Thread 0x7fffb91e5640 (LWP 9886) exited]
[Thread 0x7fffa3fff640 (LWP 9887) exited]
[Thread 0x7fffa17fa640 (LWP 9892) exited]
[Thread 0x7fffa27fc640 (LWP 9890) exited]
[Thread 0x7fffbb7fe640 (LWP 9883) exited]
[Thread 0x7fffbaffd640 (LWP 9884) exited]
[Thread 0x7fffb99e6640 (LWP 9885) exited]
Thread 1 "plasma-discover" received signal SIGSEGV, Segmentation fault.
0x00007ffff6ace859 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
(gdb) bt
#0 0x00007ffff6ace859 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#1 0x00007ffff6aeaa4e in QQmlPropertyCapture::captureProperty(QObject*, int, int, bool) ()
from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#2 0x00007ffff69a78cd in QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*) ()
from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#3 0x00007fffd82c119b in ?? ()
#4 0x0000000000000000 in ?? ()
所以我真的不知道为什么它会修复它,但我在这里找到了以下解决方案。
基本上我进入了文件
并将
line 231
以下内容更改true
为false
:到
解释是:
仍然困扰我的是它应该用 version 来修复
5.24
并且我正在运行 version5.24.7
。但这为我解决了问题