没有任务栏,无法右键单击桌面

没有任务栏,无法右键单击桌面

不知道这是怎么发生的。plasmashell在消耗 6GB 内存后崩溃了,我尝试删除~/.cache。不久之后,我plasmashell所做的就是用墙纸启动我的桌面背景,但不给我任何任务栏,我无法通过右键单击桌面来调出菜单。

重新启动或者重新启动整个机器也无济于事。

答案1

jozxyqk 的答案是正确的,但有点太过激进了。它会毁掉你所有的工具栏自定义、应用程序收藏夹等。

根据您遇到的问题,您可以通过编辑 plasma-org.kde.plasma.desktop-appletsrc 文件,然后执行以下代码来修复此问题:

kquitapp plasmashell && kstart plasmashell

我遇到的一个原因是,当我连接到外部显示器并随后断开连接时,多显示器功能有时会“丢失”笔记本电脑屏幕上的任务栏(我认为这是在 Plasma 5.5 或 5.6 中)。在这种情况下,我发现问题出在任务栏配置中的 lastScreen 设置。要解决此问题,请在 plasma-org.kde.plasma.desktop-appletsrc 中找到如下所示的文本部分:

[Containments][1]
activityId=
formfactor=2
immutability=1
lastScreen=1
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image

(这些行中的一些可能会因您的配置而有所不同。在我的配置中,此部分在文件中只有十几行,但我不知道可能会有多大差异。)

设置 lastscreen=0 解决了我的问题。我假设 0 代表我的笔记本电脑屏幕,1 代表外接显示器。

如果有疑问,您可以随时执行 jozxyqk 的答案中的步骤,并将新生成的 plasma-org.kde.plasma.desktop-appletsrc 与您保存的 plasma-org.kde.plasma.desktop-appletsrc.bak 进行比较,然后恢复您保存的副本的编辑版本。

答案2

更新:请参阅EricS 的回答首先,您可能能够避免丢失 KDE 配置。


我最终删除了带有名称的随机配置文件plasma。有效的是:

cd ~/.config
mv plasma-org.kde.plasma.desktop-appletsrc \
   plasma-org.kde.plasma.desktop-appletsrc.bak

然后重启plasmashell

kbuildsycoca5 && kquitapp plasmashell && kstart plasmashell

答案3

注意:请先备份

cp ~/.config/plasma-org.kde.plasma.desktop-appletsrc ~/.config/plasma-org.kde.plasma.desktop-appletsrc.bak

总体错误描述

假设有人执行以下操作:连接新的第二台显示器 -> 连接旧的第二台显示器。在此过程之后,旧的第二台显示器的“屏幕 ID”会损坏。您看不到任务栏(面板),壁纸已重置等。


以下步骤参考文件 ~/.config/plasma-org.kde.plasma.desktop-appletsrc (此后为 SETTINGS_FILE)


怎么修

一、找出你的显示器的屏幕ID

  • 更改两个屏幕上的桌面壁纸,例如,显示器 1 的桌面壁纸为 foo.png,显示器 2 的桌面壁纸为 bar.png。

下面介绍如何查找显示器 1 的屏幕 ID

  • 打开 SETTINGS_FILE
  • 在 SETTINGS_FILE 中查找 foo.png 和 bar.png

您将看到以下块(针对 foo.png)

[Containments][2][Wallpaper][org.kde.image][General] 
FillMode=6 
Image=~/Pictures/foo.png 

这意味着 foo.png 是 [Containments][2] 的一部分。

  • 然后找到以下引用 [Containments][2] 的块

[Containments][2]
activityId=9c23ff19-bffa-4182-bdb6-d9b36dd27cdb
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image

瞧,我们看到了字符串“lastScreen=0”。这意味着显示器 1 的屏幕 ID 为 0(因为显示器 1 引用 foo.png,foo.png 引用 [Containments][2],而 [Containments][2] 引用 lastScreen=0)。

用同样的方式找到显示器 2 的屏幕 ID,例如 1。

因此,假设显示器 1 和显示器 2 的屏幕 ID 分别为 0 和 1。

II. 查找并替换屏幕 ID

  • 在 SETTINGS_FILE 上运行 grep

$ grep lastScreen=  plasma-org.kde.plasma.desktop-appletsrc
lastScreen=0
lastScreen=1
lastScreen=0
lastScreen=0
lastScreen=1
lastScreen=2
lastScreen=1
lastScreen=0
lastScreen=2
lastScreen=1
lastScreen=0
lastScreen=0
lastScreen=1
lastScreen=2

如您所见,有几行带有“lastScreen=2”。这些是损坏的行。

  • 在 SETTINGS_FILE 中将 lastScreen=2 替换为 lastScreen=1。

  • 重启 KDE

kquitapp5 plasmashell && kstart5 plasmashell

现在,您的桌面应该已经修复了!

答案4

就我而言,使用 KDE 5.8.8 删除以下两个配置文件有帮助:

rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc
rm ~/.config/plasmashellrc

然后重新启动 KDE。

由于某些原因,在某些升级等过程中的初始设置中未配置任务栏等默认小部件。

相关内容