我正在使用脚本更新 kde 配置文件(~/.config/kaccessrc
)。
我的脚本对文件进行了必要的更改,但系统上的设置并未更新。我想我必须告诉 KDE 重新读取配置文件,但我不知道该怎么做。
经过一番研究,我尝试使用kwriteconfig5
来修改文件,它确实做到了,但系统仍然保留了其旧的行为。我希望kwriteconfig5
能够触发 KDE 使用新配置。kwriteconfig5
似乎没有手册页,并且它的默认帮助页面没有提到任何有关此内容的内容:
Usage: kwriteconfig5 [options] value
Options:
-h, --help Displays this help.
--file <file> Use <file> instead of global config
--group <group> Group to look in. Use repeatedly for nested groups.
--key <key> Key to look for
--type <type> Type of variable. Use "bool" for a boolean, otherwise it is
treated as a string
Arguments:
value The value to write. Mandatory, on a shell use '' for empty
如果我注销并重新登录,所需的更改确实会发生,但我需要在运行命令时立即发生更改。
我尝试过在线搜索,但找不到直接相关的场景。
我错过了什么?
更新:我想要实现的目标的背景
我想要一个可以切换“键盘导航”又名“鼠标键”的脚本。一旦我有了脚本,我想将它绑定到键盘上的一个键,这样我就可以随意打开和关闭它。目前,我每天通过系统设置对话框多次执行此操作。
我之所以经常使用它,是因为我使用的某些网站有非常依赖于位置的on mouseover()
事件。例如,梅特奥西尔,显示天气预报模型运行,您可以通过将鼠标移到时间戳上来更改您正在查看的时间。
我发现在这些网站上使用键盘移动鼠标非常有用,因为这意味着我可以留意图表并知道鼠标将垂直移动,但在其余时间却很烦人。
我希望键盘绑定能够实现这一点,使我的工作流程更加无缝。目前,重新启动 Plasma Shell 带来的延迟比使用设置对话框更扰乱我的工作流程。
答案1
鼠标键功能由 xkeyboard 驱动程序提供,从终端或脚本激活和停用鼠标键的最简单方法是使用专用于该任务的程序,例如xkbset
。
sudo apt install xkbset
xkbset mousekeys # enable mousekeys
xkbset -mousekeys # disable mousekeys
另一个实用程序xdotool
提供了通过编程控制鼠标移动的功能。如果您需要在没有任何用户参与的情况下控制鼠标光标,这可能会很有用。
据我所知,kwriteconfig5
可以立即激活或停用大多数已更改的设置。如果没有发生这种情况,通常只需重新加载使用相关配置文件的程序即可。
通常,有问题的程序是plasmashell
或kwin
,但在这种情况下,重新加载都没有帮助,因为它们都没有使用kaccessrc
或提供您想要的功能。
重新加载kaccess
也似乎不是工作。通常,xkeyboard 驱动程序在启动/登录期间由其他进程处理。由于通常不需要,因此kaccess
在加载时不会更改 xkeyboard 设置。
答案2
尝试重启你的plasmashell
kquitapp5 plasmashell && kstart5 plasmashell &
这将重新启动你的shell并使用新设置进行更新