O greeter da unidade não exibe papel de parede personalizado

9

Estou usando o Ubuntu 14.04 LTS 64 bits. Sei que essa pergunta surgiu muitas vezes, mas quero deixar bem claro que nenhuma das postagens me ajudou um pouco.

meu problema : Não consigo armazenar meu papel de parede personalizado em / home / sudeepto / Pictures na tela de login do Ubuntu. A tela mostra um fundo púrpura e, ao fornecer credenciais de login, os gráficos ficam realmente embaralhados por um tempo e então eu posso usar meu sistema perfeitamente.

Eu acho que, como a maioria dos artigos não é baseada no Ubuntu 14.04, estou tendo esses problemas.

Coisas que eu tentei :

Eu segui este post no askbuntu. Eu tentei ambas as sugestões, mas sem sorte.

Não sei como tirar uma captura de tela do unity-greeter, caso contrário, eu também teria fornecido links para a minha tela de login.

Por favor, diga-me o que devo fazer a seguir para resolver esse problema que nunca havia enfrentado nas versões anteriores do Ubuntu.

sud_the_devil
fonte
Eu encontrei isso antes, não consigo alterar o plano de fundo do lightdm greeter, mas desde que a atualização do meu sistema em 04/04/14 .. tudo parece bem agora. quando altero meu papel de parede da área de trabalho, ele também aparece automaticamente no lightdm greeter.
precisa saber é o seguinte
O que foi instalado? O que mudou?
0xC0000022L

Respostas:

8

Para alterar o plano de fundo da tela de login (com base nesta resposta):

sudo -i
xhost +SI:localuser:lightdm
su lightdm -s /bin/bash
gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'
gsettings set com.canonical.unity-greeter background 'path-to-image'
exit

Isso mudará apenas o fundo da tela de login. Se você também deseja alterar o plano de fundo da tela de bloqueio, execute também os seguintes comandos conforme cada usuário para o qual deseja alterar o plano de fundo:

gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'
gsettings set com.canonical.unity-greeter background 'path-to-image'

Posso confirmar que está funcionando no 14.04 LTS.


Ao definir draw-user-backgroundspara falsevocê pode definir um plano de fundo personalizado.

Obviamente, você deve substituir path-to-imagepor um caminho absoluto para a imagem que deseja usar. Verifique se o lightdmusuário tem permissões de leitura para este arquivo.


Ajustes opcionais que você pode gostar

Você também pode alterar a cor do plano de fundo que verá em um flash (roxo padrão) antes de carregar o plano de fundo. Para fazer isso, execute o seguinte comando após os outros gsettingscomandos (isso mudará a cor para preto):

gsettings set com.canonical.unity-greeter background-color '#000000'

E você pode desativar os pontos na tela de login executando o seguinte:

gsettings set com.canonical.unity-greeter draw-grid 'false'

E também remova o som mais acolhedor

gsettings set com.canonical.unity-greeter play-ready-sound 'false'
Louis Matthijssen
fonte
11
Então, eu preciso aplicar essas configurações para todos os papéis de parede que eu uso, exceto os padrão? Quero dizer, existe uma maneira de que, sempre que eu adicionar papéis de parede dentro da pasta / home / sudeepto / Pictures, aplique automaticamente as configurações acima mencionadas também?
sud_the_devil
Se você quiser alterar o papel de parede, precisará executar os comandos novamente ou simplesmente substituir sua última imagem de fundo por uma nova imagem.
Louis Matthijssen
Sinto muito, mas não entendi a diferença entre substituir a imagem e alterá-la. Suponha que eu escolhi um papel de parede diferente da pasta Imagens , então preciso executar todos os comandos acima novamente ou alterar o papel de parede definirá automaticamente minha tela de login para o novo papel de parede.
sud_the_devil
Se você definir seu papel de parede assim, o Unity abrirá a imagem (por exemplo /home/sudeepto/Pictures/bg.jpg) toda vez, para que você possa sobrescrever bg.jpge o Unity carregará seu novo bg.jpg. Se você deseja usar o mesmo plano de fundo que o plano de fundo da área de trabalho, defina draw-user-backgrounds-o true, mas essa é a configuração padrão. Por isso, pergunto-me por que você fez essa pergunta.
Louis Matthijssen
11
Se lightdm(o usuário que estiver executando a tela de login) não tiver permissão para ler o arquivo de imagem, ele não poderá ser carregado, portanto você não o verá. Botão direito do mouse sua imagem, escolha Properties, clique Permissions, em Othersconjunto Accesscom Read-only.
Louis Matthijssen
10

No atual Ubuntu 14.04 (outubro de 2014), não há necessidade de hackear gsettingsmanualmente. Se o arquivo do papel de parede estiver disponível para outras pessoas (permissões de leitura), o greeter exibirá automaticamente o plano de fundo de todos enquanto você seleciona o nome de login.

Meu papel de parede fica dentro da pasta Dropbox, que possui permissões drwx------e, portanto, o recepcionista não pode acessá-lo. Copiá-lo para a pasta de imagens com permissões drwxr-xr-xe usá-lo a partir dessa pasta resolve o problema. Provavelmente vincular via ln -sobras também (embora eu não tenha tentado).

Você pode verificar as permissões de tudo em uma pasta usando a -lopção para ls.

Patrick Stalph
fonte
PERFEITO! Basta clicar com o botão direito na foto que você usou como papel de parede, alterar suas permissões para permitir leitura e gravação para todos. Alterei as permissões da minha pasta Imagens, onde meus papéis de parede são mantidos; agora, todos os papéis de parede são exibidos na minha tela de bloqueio. Impressionante!
x__x 6/11/2015
Observe que isso não funciona se o seu diretório pessoal estiver criptografado (pelo menos, eu tentei o acima, mas não funcionou). O que funcionou formar-me: askubuntu.com/a/123554/22147
Koen