是否可以在登录屏幕顶部面板中添加图标?

是否可以在登录屏幕顶部面板中添加图标(默认值除外)?

在此处输入图像描述

如果是,那么哪些应用程序图标将被添加到登录屏幕顶部面板而不是默认值( 板载,声音,网络管理器等 )。并且我如何添加它?

我正在运行Ubuntu 13.10

我在12.04,但这也适用于13.10。

是的,可以改变统一性的指标。 我们可以使用GSettings来修改设置,但由于unity-greeter仅由lightdm用户运行(因此它的设置不会影响其他任何人),因此最简单的方法是编写.override文件。

1. 检查默认指示灯

您可以在dconf-editor/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml文件中查看默认指示符。 在后一个文件中,您将看到类似于此的键:

   ['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application'] Which indicators to load  

,这些是我的默认值。 先检查你的。

在13.10这个键看起来像这样:

  ['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application'] Which indicators to load  

2。 检查可用的指标

您可以在/usr/lib/indicators3/7/目录或/usr/share/unity/indicators/目录中检查可用的指示符。

3. 编写覆盖文件

只需编写具有类似内容的文件并将其另存为/usr/share/glib-2.0/schemas/myoverride.gschema.override

12.04

 [com.canonical.unity-greeter] indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging'] 

对于13.10

 [com.canonical.unity-greeter] indicators=['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application', 'messages'] 

在12.04版本中,我将消息传递指示符添加到默认列表12.04。 在13.10版本中,我将消息指示符添加到13.10的默认列表中。 我只是将它们添加到步骤1中显示的默认列表中,您也可以这样做,或者如果您不希望它们显示在登录屏幕上,则从默认指示符中删除一些。 (注意撇号。) 重要提示 :在12.04你必须保持列表中的“ug-keyboard”“session”指示符,所以如果你将它们放在默认行中,请不要删除它们,否则lightdm会卡住在无尽的循环中。 (像这里 )

覆盖文件中的命名约定:对于/usr/lib/indicators3/7/目录中的文件,文件名前面的“lib”和结尾“.so”并不重要,因此对于名为libmessaging.so的文件,我们可以使用’ libmessaging.so’,’libmessaging’或’messaging’。 对于/usr/share/unity/indicators/目录中的文件,文件名的前面是“com.canonical.indicator”。 并不重要,所以对于“com.canonical.indicator.bluetooth”文件,我们可以使用’com.canonical.indicator.bluetooth’或简单地“蓝牙”。

4.备份(以防万一)

备份/usr/share/glib-2.0/schemas/gschemas.compiled文件。

5.编译

毕竟这一次运行

 sudo glib-compile-schemas /usr/share/glib-2.0/schemas 

6.检查结果

在此之后尝试注销并查看它是否有效。 或者,如果您从终端尝试,也可以在不注销的情况下对登录屏幕进行测试:

 lightdm --test-mode 

要么

 unity-greeter --test-mode 

对于我在12.04,消息传递指示器工作,我的打印机菜单指示器没有。 在13.10我测试了消息指示器,它没有出现,但都没有产生错误,所以我猜测它是设计没有出现在迎宾屏幕上,因为它在那里几乎没用。 所以我检查了/usr/share/unity/indicators/com.canonical.indicator.messages文件,它确认它没有[desktop_greeter]部分,例如会话指示符。 因此,如果您不想在登录屏幕上显示消息指示器(或没有[desktop_greeter]部分的其他指示器)(即使它在那里几乎无用),您还必须在/usr/share/unity/indicators/编辑其文件/usr/share/unity/indicators/目录,并复制该文件中的[desktop]部分,并将副本重命名为[desktop_greeter]部分。 例如,对于消息指示器,我最终得到了/usr/share/unity/indicators/com.canonical.indicator.messages这个文件:

 [Indicator Service] Name=indicator-messages ObjectPath=/com/canonical/indicator/messages Position=50 [desktop] ObjectPath=/com/canonical/indicator/messages/desktop [phone] ObjectPath=/com/canonical/indicator/messages/phone [desktop_greeter] ObjectPath=/com/canonical/indicator/messages/desktop 

在文件中执行此更改后,消息指示器也会在登录屏幕上显示13.10。

如果出现问题并且登录屏幕没有出现,只需切换到虚拟控制台CTRL + ALT + F1并恢复备份gschemas.compiled文件。 或者删除myoverride.gschema.override文件并再次运行sudo glib-compile-schemas /usr/share/glib-2.0/schemas 。 如果lighdtm陷入无限循环,你无法切换到虚拟控制台,只需按下ALT + PrtSc + E魔术键组合,这将杀死lightdm,然后你可以切换到虚拟控制台并进行修复。

你可以使用哪些指标? 我不知道,我只有默认值,但我想你可以尝试将其自身安装到上面列出的那些目录。 (或者你可以像往常一样写一个自己的指标 。)

所有这些的来源? 我查看了代码: 链接和链接