Estou no 12.04, mas isso também funcionará no 13.10.
Sim, é possível alterar os indicadores para o cumprimentador da unidade. Poderíamos usar o GSettings para modificar as configurações, mas como o unity-greeter é executado apenas pelo usuário do lightdm, (portanto, as configurações não afetam mais ninguém), é mais fácil escrever um .override
arquivo.
1. Verifique os indicadores padrão
Você pode ver seus indicadores padrão no arquivo dconf-editor
ou int /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
. No último arquivo, você verá uma chave semelhante a esta:
<key name="indicators" type="as">
<default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
<summary>Which indicators to load</summary>
</key>
, esses são os padrões para mim. Verifique o seu primeiro.
Na 13.10, essa chave é assim:
<key name="indicators" type="as">
<default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
<summary>Which indicators to load</summary>
</key>
2) Verifique os indicadores disponíveis
Você pode verificar seus indicadores disponíveis no /usr/lib/indicators3/7/
diretório ou no /usr/share/unity/indicators/
diretório
3. Escreva um arquivo de substituição
Basta escrever um arquivo com conteúdo semelhante e salvá-lo como /usr/share/glib-2.0/schemas/myoverride.gschema.override
Para 12.04
[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']
Para 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']
Na versão 12.04, adicionei o indicador de mensagens à lista padrão 12.04. Na versão 13.10, adicionei o indicador de mensagens à lista padrão da 13.10. Simplesmente os adicionei à lista padrão mostrada na Etapa 1 , você também pode fazer isso ou remover alguns dos indicadores padrão, se não quiser que eles apareçam na tela de login. (Cuidado com os apóstrofes.) IMPORTANTE : No 12.04, você deve manter o indicador 'ug-keyboard' e 'session' na lista, portanto NÃO os remova se os tiver na linha padrão, ou o lightdm ficará bloqueado. em um loop sem fim. (como aqui )
Convenções de nomenclatura no arquivo de substituição: para arquivos no /usr/lib/indicators3/7/
diretório, a "lib" anterior e a finalização ".so" do nome do arquivo não são importantes; portanto, para um arquivo chamado libmessaging.so, poderíamos usar 'libmessaging.so', 'libmessaging' ou 'Mensagens'. Para os arquivos no /usr/share/unity/indicators/
diretório, o nome do arquivo é "com.canonical.indicator" anterior. não é importante, portanto, para o arquivo "com.canonical.indicator.bluetooth", poderíamos usar 'com.canonical.indicator.bluetooth' ou simplesmente "bluetooth".
4. Backup (apenas no caso)
Faça um backup do /usr/share/glib-2.0/schemas/gschemas.compiled
arquivo.
5. Compilar
Depois de toda essa corrida
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
6. Verifique os resultados
Depois disso, tente sair e ver se funcionou. Ou você também pode fazer um teste na tela de login sem sair, se tentar em um terminal:
lightdm --test-mode
ou
unity-greeter --test-mode
Para mim, no 12.04, o indicador de mensagens funcionou, meu indicador de menu de impressoras não. Na 13.10, testei com o indicador de mensagens e ele não apareceu, mas nenhum dos erros foi produzido, então imaginei que é por design que não aparece na tela greeter, porque é praticamente inútil lá. Então, verifiquei o /usr/share/unity/indicators/com.canonical.indicator.messages
arquivo e ele confirmou que não possui uma seção [desktop_greeter] como, por exemplo, o indicador de sessão. Portanto, se você não deseja que o indicador de mensagens (ou outro indicador sem a seção [desktop_greeter]) apareça na tela de login (mesmo que a maioria seja inútil), você também precisará editar o arquivo no /usr/share/unity/indicators/
diretório e faça uma cópia da seção [desktop] nesse arquivo e renomeie a cópia para a seção [desktop_greeter]. Por exemplo, para o indicador de mensagens, acabei com este arquivo para /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
Depois de fazer essa alteração no arquivo, o indicador de mensagens também apareceu na tela de login da 13.10.
Se algo der errado e a tela de login não aparecer, basta alternar para um console virtual CTRL+ ALT+ F1e restaurar seu gschemas.compiled
arquivo de backup . Ou remova seu myoverride.gschema.override
arquivo e execute sudo glib-compile-schemas /usr/share/glib-2.0/schemas
novamente. Se o lighdtm travar em um loop sem fim e você não puder alternar para o console virtual, basta pressionar a combinação de teclas mágicas ALT+ PrtSc+ E, isso matará o lightdm e, depois disso, você poderá alternar para o console virtual e fazer o reparo.
Quais indicadores você pode usar? Não sei, tenho apenas os padrões, mas acho que você pode experimentar qualquer um que se instale nos diretórios listados acima. (Ou você pode escrever um próprio indicador, como sempre.)
Fonte para tudo isso? Eu olhei para o código: link e link
/usr/share
diretamente. Acho que houve um customizador LightDM que permitiu isso e fundo mudando, mas eu não faria se ele ainda funciona mais ..