我可以在不注销的情况下重新启动 KDE Plasma 桌面吗?

Oli*_*Oli 162 kde kwin

我只是在谈论标准的 KDE 桌面。运行一段时间(许多天)后,任务栏停止正常工作。这是由于某种未诊断的错误造成的,但目前这真的不是我的问题。一旦我注销并再次登录,它就会被修复。

我必须关闭所有东西,并且必须关闭虚拟机等正在进行的进程。这是一个很大的痛苦。这通常意味着我忍受了很多天的闪烁。

有没有办法在不轰炸所有正在运行的应用程序的情况下重新加载桌面?

小智 259

在 KDE 4 中,您可以执行以下操作:

killall plasma-desktop #to stop it
kstart plasma-desktop #to restart it
Run Code Online (Sandbox Code Playgroud)

在 KDE 5 中使用:

killall plasmashell #to stop it
kstart plasmashell #to restart it
Run Code Online (Sandbox Code Playgroud)

在 KDE > 5.10 中使用:

kquitapp5 plasmashell
kstart5 plasmashell
Run Code Online (Sandbox Code Playgroud)

有时等离子外壳没有响应,因此kquitapp5在超时后失败,您必须返回killall. 所以简而言之,我会这样做:

# For KDE 4
killall plasma-desktop && kstart plasma-desktop

# For KDE 5 < 5.10
killall plasmashell && kstart plasma-desktop

# For KDE > 5.10
kquitapp5 plasmashell || killall plasmashell && kstart5 plasmashell
Run Code Online (Sandbox Code Playgroud)

评论 :

  1. 如果您不确定您运行的是哪个 KDE 版本,它kinfocenter --version会告诉您。
  2. kquitapp5 plasmashell ||如果您不想在plasmashell没有响应时陷入超时,您可以跳过该部分。

  • 奇怪的是,这些都可以从 Alt-F2 运行对话框中运行(我原以为杀死等离子会第二次抑制它)但是,是的,效果很好并且停止了闪烁。 (11认同)
  • 我将它添加到系统设置 -&gt; 快捷方式 -&gt; 自定义快捷方式,所以现在我可以按 Ctrl-Alt-Backspace 重新启动 Plasma(我选择了那个特定的组合,因为历史上它会重新启动 X.org)。 (9认同)
  • 在 kde5 中它是等离子外壳而不是等离子桌面 (7认同)
  • 在 ArchLinux 上,它是 KDE5 的“kstart5 Plasmashell” (7认同)
  • 这不适用于 KDE 5 Plasma。 (4认同)
  • 重新启动 kde Plasma 的新命令是“plasmashell --replace &amp;” (2认同)

小智 69

在 KDE5 中,使用“kstart Plasmashell”来重新启动 Plasmashell 作为服务而不是 Plasmashell &。如果您以这种方式使用它,它将作为未连接到当前终端会话的独立服务运行(这意味着您可以在不终止进程的情况下关闭终端)。域名注册地址:

KDE5(在终端中):

killall plasmashell
kstart plasmashell
Run Code Online (Sandbox Code Playgroud)


Oli*_*Oli 58

好吧,我没想到这会起作用(这不是问题所要求的),而是按Alt+F2并运行:

kwin --replace
Run Code Online (Sandbox Code Playgroud)

这会重新加载 KDE 的合成器,这似乎解决了闪烁问题。我想这是我的特定问题的一个因素。

  • 在 Kubuntu 15.04 中尝试过这个。Kde 5 中的命令将是 kwin_x11 或 kwin_wayland,具体取决于后面运行的服务器 (10认同)
  • 该死的,这实际上是公平的。谢谢 (3认同)
  • 对我有用的解决方案是接受的答案和这个“killall Plasshell;”的组合。kwin --replace &amp; kstart Plasshell &amp; exit` (因为我在终端中运行它,所以 `&amp; exit` ,否则作曲家仍然依赖于打开的终端窗口[按照此处的说明](http://askubuntu.com/a /106910)) (2认同)

Alb*_*ert 10

窗口管理器kwin负责在窗口之间移动等。可以通过以下方式重新启动:

kstart kwin --replace
Run Code Online (Sandbox Code Playgroud)

前缀kstart只是为了不在当前终端中将其作为子进程运行,以便您可以在之后关闭终端。

plasmashell负责后台和其他shell的事情。重新启动应该像这样工作:

killall plasmashell
kstart plasmashell
Run Code Online (Sandbox Code Playgroud)

请注意,这并没有为我带回菜单。

另外,有趣的是,这再次打破了我的习惯,即我无法再移动窗口了。在控制台上,我得到类似的信息QXcbConnection: XCB error: 3 (BadWindow), sequence: ..., resource id: ..., major code: 15 (QueryTree), minor code: 0