それでも気分は高専生

元高専生が自分のやってきたことを記事として残すためのてきとーなブログ

KDEのデスクトップ環境がぶっ壊れた on Arch Linux

環境

  • OS: Arch Linux
  • Kernel: x86_64 Linux 4.13.12-1-ARCH
  • DE: KDE 5.40.0 / Plasma 5.11.4
  • Qt version: 5.9.3

症状

ログイン時に

$ exec startx /usr/bin/startkde

GUI環境を起動する.

起動直後,数秒すると壁紙が表示されなくなり,デスクトップが真っ暗になる.

特にKDE plasma環境をアップデートしたわけでもなく,競合しそうなパッケージを導入したわけでもない.

できること

  • Alt+Space によるKrunnerを通じてGUIアプリケーションの実行
  • GUIアプリケーションの操作
  • Alt+Tab によるカレントウィンドウの切替
  • ショートカットキーによる仮想デスクトップの切替 (どの仮想デスクトップも真っ暗)
  • KDE環境を切ってCUI上での操作

できないこと

  • メニューバーの表示と操作
  • windowキーによるメニューの表示
  • デスクトップの表示 (壁紙の表示,ウィジェットの表示)
  • デスクトップ上での右クリック

原因

plasmashell実行時にエラーが生じて処理がストップしてしまう.
(plasmashell実行時に一瞬だけ壁紙が表示)

$ plasmashell

kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator//metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator//metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
file:///home/takahiro/.local/share/plasma/plasmoids/com.github.zren.todolist/contents/ui/NoteItem.qml:324: TypeError: Cannot read property 'label' of undefined
qml: main.isDesktopContainment false
qml: TodoItemDelegate 1511965848725
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/TextArea.qml:905: TypeError: Cannot read property '__selectionHandle' of null
file:///usr/lib/qt/qml/QtQuick/Controls/TextArea.qml:941: TypeError: Cannot read property '__cursorHandle' of null
qml: TodoItemDelegate 1511965848915
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/TextArea.qml:905: TypeError: Cannot read property '__selectionHandle' of null
file:///usr/lib/qt/qml/QtQuick/Controls/TextArea.qml:941: TypeError: Cannot read property '__cursorHandle' of null
file:///home/takahiro/.local/share/plasma/plasmoids/com.github.zren.todolist/contents/ui/TodoItemDelegate.qml:90:5: QML RowLayout: Binding loop detected for property "height"
qml: TodoItemDelegate 1511965848925
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
trying to show an empty dialog
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
trying to show an empty dialog
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
No metadata file in the package, expected it at: "/home/takahiro/Pictures/wallpaper/"
trying to show an empty dialog
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:147:19: QML Loader: Binding loop detected for property "height"
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:288:17: QML Text: Binding loop detected for property "width"
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:288:17: QML Text: Binding loop detected for property "width"
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator//metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
kf5.kcoreaddons.desktopparser: Unable to find service type for service "Plasma/PopupApplet" listed in "/home/takahiro/.local/share/plasma/plasmoids/rss_indicator/metadata.desktop"
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
"syntax error, unexpected MONTH"
"syntax error, unexpected MONTH"
Loading Calendar plugin HolidaysEventsPlugin(0x5588c39120c0)
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
trying to show an empty dialog
trying to show an empty dialog
trying to show an empty dialog
trying to show an empty dialog
Both point size and pixel size set. Using pixel size.
trying to show an empty dialog
trying to show an empty dialog
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
trying to show an empty dialog
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
error activating kdeconnectd: QDBusError("", "")
error activating kdeconnectd: QDBusError("", "")
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/Button.qml:99: TypeError: Cannot read property 'width' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:365: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:364: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:363: TypeError: Cannot read property 'padding' of null
file:///usr/lib/qt/qml/QtQuick/Controls/ScrollView.qml:362: TypeError: Cannot read property 'padding' of null
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
couldn't load "/usr/lib/qt/plugins/discover-notifier/DiscoverPackageKitNotifier.so" because "Cannot load library /usr/lib/qt/plugins/discover-notifier/DiscoverPackageKitNotifier.so: (libpackagekitqt5.so.0: cannot open shared object file: No such file or directory)"
couldn't load "/usr/lib/qt/plugins/discover-notifier/FlatpakNotifier.so" because "Cannot load library /usr/lib/qt/plugins/discover-notifier/FlatpakNotifier.so: (libflatpak.so.0: cannot open shared object file: No such file or directory)"
couldn't find any notifier backend ("/usr/lib/qt/plugins")
Plasma Shell startup completed
file:///home/takahiro/.local/share/plasma/plasmoids/rss_indicator/contents/ui/RssSourceDelegate.qml:32:9: QML Image: Error decoding: https://dot.kde.org/favicon.ico: Unsupported image format
libkcups: 6
KCrash: Attempting to start /usr/bin/plasmashell from kdeinit
KCrash: Application 'plasmashell' crashing...
KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
QSocketNotifier: Invalid socket 8 and type 'Read', disabling...
QSocketNotifier: Invalid socket 11 and type 'Read', disabling...
QSocketNotifier: Invalid socket 35 and type 'Read', disabling...
QSocketNotifier: Invalid socket 9 and type 'Read', disabling...
QSocketNotifier: Invalid socket 22 and type 'Read', disabling...
QSocketNotifier: Invalid socket 36 and type 'Read', disabling...
QSocketNotifier: Invalid socket 38 and type 'Read', disabling...
Unable to start Dr. Konqi
Re-raising signal for core dump handling.

org.cups.cupsdとplasmashellの間でコンフリクトが起きているらしい.

対策

org.cups.cupsdをdisableにすればplasmashellが動くようになるみたいだが,そうするとプリンタが使えなくなってしまう.

同じバグを議論する326289 – plasma-desktop crashed after configuring printer applet [JobModel::updateJob]の中で,デスクトップウィジェットからorg.kde.printerのエントリを消したら解決したという投稿があった.

"$HOME/.config/plasma-org.kde.plasma.desktop-appletsrc"にウィジェットの定義がされているが,書き換えてもシステムに上書きされるため,こちらのファイルは直接編集できない.

そこでデーモンを一度停め,plasmashellを実行することでウィジェットを触ることができる状態にする.

$ sudo systemctl stop org.cups.cupsd
$ plasmashell

次に下の画像のようにウィジェットにおけるPrinterの監視を無効にする. f:id:takahiro0914:20171130005740p:plain

最後にデーモンを動作するようにして再起動する.

$ sudo systemctl enable org.cups.cupsd
$ reboot

以上でデスクトップを正常に稼働しながらプリンタも利用できるようになるはず.

参考記事

[1] 326289 – plasma-desktop crashed after configuring printer applet [JobModel::updateJob]