我有一些与X Resources相关的EMACS。我想删除那些EMACS的资源?如何使用xrdb -remove?还没有找到更多的信息和更少的例子来说明该怎么做?
xrdb -query -all | grep -i emacs
Emacs*Background: #000000
Emacs*Dialog*background: #000000
Emacs*Dialog*foreground: #ffffff
Emacs*Foreground: #ffffff
Emacs*XlwScrollBar.Background: #000000
Emacs*XlwScrollBar.Foreground: #ffffff
Emacs*backgroundToolBarColor: #000000
Emacs*bottomToolBarShadowColor: #000000
Emacs*menubar*background: #000000
Emacs*menubar*foreground: #ffffff
Emacs*popup*Background: #000000
Emacs*popup*Foreground: #ffffff
Emacs*topToolBarShadowColor: #000000
Emacs.default.attributeBackground: #000000
Emacs.default.attributeForeground: #ffffff
Emacs.mode-line.attributeForeground: #ffffff
Emacs.scroll-bar.attributeBackground: #000000
Emacs.scroll-bar.attributeForeground: #ffffff
Emacs.tool-bar.attributeBackground: #000000
Emacs.tool-bar.attributeForeground: #ffffff发布于 2022-10-12 18:53:02
我不认为xrdb将资源跨调用作为本机功能来保存,所以当您注销并重新登录时,或者如果您关闭xrdb并重新启动它,它们应该重置。
如果它们继续在登录会话中返回,它们很可能是从您的shell init脚本中加载的。它们通常是通过类似于xrdb -load $HOME/.Xresources的内容读取的,但这只是惯例。
在系统上搜索个人和共享的rc脚本,并在主目录中搜索包含资源定义的文件。
发布于 2022-10-12 19:24:08
xrdb (请参阅源代码)删除它所称的SCREEN_RESOURCES或XA_RESOURCE_MANAGER的所有X服务器数据。你只对后者感兴趣。删除该数据将超出您的预期,因此您必须使用xrdb -q来获取当前数据、编辑该数据并重新加载它。
这不一定简单,因为资源可以有连续行。你的例子不能做到这一点。仅限于此(我不认为您已经配置了屏幕资源,因此没有必要使用-all选项):
xrdb -q | grep -v -i emacs > foo
xrdb -load foo参考这篇文章会有帮助..。
杀死/重新启动xrdb将不会对X服务器数据产生影响。
在手册中没有提到(这需要做一些工作),xrdb接受其所有选项的缩写,例如,-query选项可以表示为-q:
else if (isabbreviation("-query", arg, 2)) {
oper = OPQUERY;
continue;
}2是-q的长度。顺便说一句,它的-quiet代码允许相同的长度,但是由于这是在-query之后测试的,所以您必须将其缩写为-qui。
https://unix.stackexchange.com/questions/720741
复制相似问题