如何在不卸载指标消息包的情况下从指标小程序中删除信封?
我厌倦了指标小程序中的信封(也称为消息菜单),因为我不使用它所以我想摆脱它但我没有root访问权限因此我无法删除它卸载指标消息包。 有没有其他方法来禁用此applet?
指标小程序是否提供了一种选择显示指标的方法?
如果您只想隐藏消息传递菜单,则可以将其中的所有应用程序列入黑名单。 您可以通过将所有应用程序链接复制到本地黑名单目录来实现。 这是执行此操作的命令行方式:
mkdir -p ~/.config/indicators/messages/applications-blacklist cp /usr/share/indicators/messages/applications/* ~/.config/indicators/messages/applications-blacklist
第一次创建黑名单目录时,您需要重新启动会话(注销并重新登录),然后消息菜单应隐藏自己。
根据Riccardo Murri的回答(2010年9月8日13:19),我检查了代码,发现只有以.so
结尾的模块才能从INDICATOR_DIR
( /usr/lib/indicators/3
)加载。
if (!g_str_has_suffix(name, G_MODULE_SUFFIX)) { return FALSE; }
所以
cd /usr/lib/indicators/3; sudo mv libmessaging.so libmessaging.so.disabled
Lucid,在10.04为我做了诀窍。
看看指标-applet-0.3.7的来源,似乎你不能:加载一些“INDICATOR_DIR”中的每个已安装的模块(它是我的10.04框上的/usr/lib/indicators/3
)。 “INDICATOR_DIR”被定义为编译时常量,因此无法在已安装的系统上更改它。 相关的源代码位于applet-main.c
703-728行:
/* load 'em */ if (g_file_test(INDICATOR_DIR, (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) { GDir * dir = g_dir_open(INDICATOR_DIR, 0, NULL); const gchar * name; while ((name = g_dir_read_name(dir)) != NULL) { /* ... some lines omitted for brevity ... */ if (load_module(name, menubar)) { indicators_loaded++; } } g_dir_close (dir); }
作为一种解决方法,你可以(警告: 未经测试! ):
-
编译自己的
indicator-applet
版本,指定不同的“INDICATOR_DIR”:如果你将--enable-localinstall
传递给./configure
,那么“INDICATOR_DIR”将位于$libdir/indicators/2
,你也可以设置$libdir
通过./configure
命令行选项。 -
在你自己的INDICATOR_DIR中,只激活你想要的指标(只需对系统范围内的指标进行符号化即可)
-
使用
~/.gnomerc
或~/.xsession
文件来修改PATH,以便您自己的indicator-applet
二进制文件位于系统范围之前。