如何在不卸载指标消息包的情况下从指标小程序中删除信封?

我厌倦了指标小程序中的信封(也称为消息菜单),因为我不使用它所以我想摆脱它但我没有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); } 

作为一种解决方法,你可以(警告: 未经测试! ):

  1. 编译自己的indicator-applet版本,指定不同的“INDICATOR_DIR”:如果你将--enable-localinstall传递给./configure ,那么“INDICATOR_DIR”将位于$libdir/indicators/2 ,你也可以设置$libdir通过./configure命令行选项。

  2. 在你自己的INDICATOR_DIR中,只激活你想要的指标(只需对系统范围内的指标进行符号化即可)

  3. 使用~/.gnomerc~/.xsession文件来修改PATH,以便您自己的indicator-applet二进制文件位于系统范围之前。