我在尝试恢复备份时出了点问题,KDE 系统防护不再正常显示。
这是正确的显示(从 root 运行的命令kdesudo ksysguard
:):
这是不正确显示(命令:)ksysguard
:
此处显示不正确,菜单栏丢失,以及“流程表”选项卡无法点击。
我已尝试删除该目录~/.kde/share/apps/ksysguard/
但无济于事。
我的问题:如何将 KSysGuard 恢复为出厂默认设置/正常功能?
答案1
“启用”或“禁用”(切换)菜单栏的默认键盘快捷键是Ctrl+M
。我相信这将是最简单的解决方案。
答案2
globot 的回答适用于 KDE 4,这个问题是为 KDE 4 编写的,但是现在有了 KDE Plasma 5,一些路径已经发生了改变。
如果您在 KDE Plasma 5 上遇到此问题,您应该MenuBar=
从此文件中删除以以下内容开头的行:~/.config/ksysguardrc
以下是可以在 KDE Plasma 5 中恢复 KSysGuard 菜单栏的单行命令:
sed -i '/^MenuBar=/d' ~/.config/ksysguardrc
这是在 KDE 4 中恢复 KSysGuard 菜单栏所需运行的命令:
sed -i '/^MenuBar=/d' ~/.kde/share/config/ksysguardrc
解释
我事后确定globot 的回答~/.kde/share/config/ksysguardrc
是正确的,因为我找到了我于 2012 年 7 月 26 日 19:14 CDT 制作的配置文件备份。
该文件的完整内容如下:
State=AAAA/wAAAAD9AAAAAAAAAyAAAAIyAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgAAAAAA/////wAAAAAAAAAA
[DownloadDialog Settings]
Height 1080=400
Width 1920=700
[MainWindow]
CommandList=
HostList=
MenuBar=Disabled
SelectedSheets[$e]=ProcessTable.sgrd,SystemLoad2.sgrd
SplitterSizeList=472,325
State=AAAA/wAAAAD9AAAAAAAAAyAAAAJEAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgAAAAAA/////wAAAAAAAAAA
ToolBarsMovable=Disabled
currentSheet=1
isMinimized=false
正如预期的那样,MenuBar
设置为Disabled
,这会禁用 KDE 4 中 KSysGuard 的菜单栏。
~/.kde/share/config/ksysguardrc
在 KDE Plasma 5 中没有使用,因此为了找到配置文件的新位置,我使用了strace
:
deltik@workstation [~]# sudo strace -vvvffts1000 ksysguard 2>&1 | grep ksysguardrc
[pid 5534] 23:32:27 stat("/home/deltik/.config/ksysguardrc", <unfinished ...>
[pid 5534] 23:32:27 lstat("/home/deltik/.config/ksysguardrc", <unfinished ...>
[pid 5534] 23:32:27 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:27 access("/home/deltik/.config/ksysguardrc", W_OK) = 0
[pid 5534] 23:32:27 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:27 stat("/etc/xdg/ksysguardrc", 0x7fffe011c4a0) = -1 ENOENT (No such file or directory)
[pid 5534] 23:32:27 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:27 open("/home/deltik/.config/ksysguardrc", O_RDONLY|O_CLOEXEC) = 9
[pid 5534] 23:32:27 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:27 access("/home/deltik/.config/ksysguardrc", W_OK) = 0
[pid 5534] 23:32:30 open("/home/deltik/.config/ksysguardrc.lock", O_WRONLY|O_CREAT|O_EXCL|O_CLOEXEC, 0644) = 14
[pid 5534] 23:32:30 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:30 open("/home/deltik/.config/ksysguardrc", O_RDONLY|O_CLOEXEC) = 17
[pid 5534] 23:32:30 stat("/home/deltik/.config/ksysguardrc", {st_dev=makedev(252, 1), st_ino=1368016, st_mode=S_IFREG|0600, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=8, st_size=302, st_atime=2015/07/05-23:26:42, st_mtime=2015/07/05-23:26:22, st_ctime=2015/07/05-23:26:22}) = 0
[pid 5534] 23:32:30 open("/home/deltik/.config/ksysguardrc", O_WRONLY|O_TRUNC) = 17
[pid 5534] 23:32:30 unlink("/home/deltik/.config/ksysguardrc.lock") = 0
^C
上述输出表明ksysguard
正在尝试从文件中读取配置~/.config/ksysguardrc
。
答案3
您可以打开 ~/.kde/share/config/ksysguardrc 并将 MenuBar 设置为“Enabled”:MenuBar=Enabled
如果不存在此变量,则菜单应该默认可见。
答案4
sudo apt-get remove --purge ksysguard
删除所有安装文件;然后使用 重新安装sudo apt-get install ksysguard
。例如,dpkg -L ksysguard
显示 /usr/share/kde4/config/ksysguard.knsrc 中也有配置设置(对于我在 Kubuntu 上的情况)。
然而,这个错误对我来说看起来有点奇怪 - 可能是您以某种方式设法在窗口管理器中进行设置,从而影响了 ksysguard 窗口的显示 - 也许改变了窗口类型设置?