Como personalizar a tela de login do Gnome no Debian


11

Eu tenho usado o Debian pela primeira vez na última semana e consegui configurar algumas opções da área de trabalho com as ferramentas gnome-tweak, mas estou tentando tentar personalizar a tela de login.

Durante a pesquisa que fiz, encontrei muitas informações sobre como fazer isso no Ubuntu, Linux Mint ou Arch Linux, mas não muita informação sobre o "modo Debian".

Eu acho que o Gnome usa a configuração do usuário Debian-gdm para a tela de login, mas eu não sei como mudar isso, tentei mudar com o gnome-tweak-tools, como qualquer outro usuário, e eu tentei também editar a configuração do arquivo "/etc/gdm3/greeter.dconf-defaults", adicione o caminho para o arquivo que eu quero como plano de fundo na linha "picture-uri". "picture-options_'none '" também parece não fazer nada.

Qual é a maneira mais fácil de personalizá-lo?

Estou usando o gnome-shell versão 3.14.4 e o debian versão 8.6


Estou perdendo algo óbvio? Se você quiser apenas alterar a imagem de fundo, deve haver uma configuração . (Embora eu não possa testá-lo como eu estou usando uma versão mais recente do GNOME)
lw1.at

Respostas:


5

(Testado no Ubuntu Gnome Shell 16.04 ou superior)

Dois caminhos. Se você quiser saber exatamente o que está fazendo, siga a Solução 1 . Se você deseja que um único script faça tudo por você, siga a Solução 2 (Tudo isso automatiza a Solução 1)

Solução 1

Informações de plano de fundo: O plano de fundo de login do Gnome não é um parâmetro que você pode alterar diretamente (estranho!). Está presente no arquivo CSS do Gnome Shell, que está presente no arquivo binário. Portanto, você precisa extrair o arquivo binário, modificá-lo e substituir o novo binário pelo arquivo antigo.

Etapa 1: Extraindo o arquivo binário do shell do Gnome

Execute o seguinte script extractgst.shpara extrair o tema do shell do Gnome para o ~/shell-themediretório

#!/bin/sh

workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
  mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource

for r in `gresource list $gst`; do
        gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done

Etapa 2: Modificando

  • Copie sua imagem de plano de fundo para esta pasta ~/shell-theme/theme.
  • Criar arquivo ~/shell-theme/theme/gnome-shell-theme.gresource.xmlcom conteúdo
  • Substitua o nome do arquivo pelo nome da imagem de fundo
  • Agora, abra o gnome-shell.cssarquivo no diretório e altere a #lockDialogGroupdefinição da seguinte maneira:

    #lockDialogGroup { background: #2e3436 url(filename); background-size: [WIDTH]px [HEIGHT]px; background-repeat: no-repeat; }

Defina o nome do arquivo como o nome da imagem de plano de fundo e o tamanho do plano de fundo para sua resolução.

Etapa 3: Crie um novo binário do tema do shell do Gnome e substitua os existentes

Dentro do diretório do tema, execute

glib-compile-resources gnome-shell-theme.gresource.xml

Você receberá um arquivo binário. Copie para

/usr/share/gnome-shell

Agora reinicie o GDM usando

service gdm restart

Se não funcionar ou ficar travado, reinicie o computador para ver seu novo papel de parede de login :))

Solução 2

Ok, como prometido, existe uma maneira mais simples de automatizar tudo isso. Simplesmente salve este script como login-background.sh

WORKDIR=~/tmp/gdm-login-background
GST=/usr/share/gnome-shell/gnome-shell-theme.gresource
GSTRES=$(basename $GST)

mkdir -p $WORKDIR
cd $WORKDIR
mkdir theme

for r in `gresource list $GST`; do
  gresource extract $GST $r >$WORKDIR$(echo $r | sed -e 's/^\/org\/gnome\/shell\//\//g')
done

cd theme
cp "$IMAGE" ./

echo "
#lockDialogGroup {
  background: #2e3436 url(resource:///org/gnome/shell/theme/$(basename $IMAGE));
  background-size: cover;
  background-repeat: no-repeat;
}" >>gnome-shell.css

echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/shell/theme">' >"${GSTRES}.xml"
for r in `ls *.*`; do
  echo "    <file>$r</file>" >>"${GSTRES}.xml"
done
echo '  </gresource>
</gresources>' >>"${GSTRES}.xml"

glib-compile-resources "${GSTRES}.xml"

sudo mv "/usr/share/gnome-shell/$GSTRES" "/usr/share/gnome-shell/${GSTRES}.backup"
sudo mv "$GSTRES" /usr/share/gnome-shell/

rm -r $WORKDIR

if [ "$CREATED_TMP" = "1" ]; then
  rm -r ~/tmp
fi

Execute o script usando

IMAGE=~/Bat.jpg sh login-background.sh

Agora reinicie o gdm usando service gdm restartou reinicie o laptop para o seu novo plano de fundo de login :))

Referências: https://wiki.archlinux.org/index.php/GDM

https://bbs.archlinux.org/viewtopic.php?id=197036


Não recebo gnome-shell-theme.gresource.xmlarquivo enquanto todo o resto está lá ... Por quê? Eu tenho o Gnome 3.22.
71GA 11/11

4

Depois de mais algumas pesquisas e alguns testes mais tarde, finalmente mudei meu histórico de login, e foram estas as etapas que segui:

1) Coloquei o arquivo que eu queria como plano de fundo no diretório / usr / share / pictures (eu mesmo criei esse diretório)

2) Entrei no terminal e, como usuário root, editei o arquivo /etc/gdm3/greeter.dconf-defaults para ficar assim:

[org/gnome/desktop/background]
picture-uri='file:///usr/share/Pictures/background.png'
picture-options='zoom'

[org/gnome/login-screen]
logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
fallback-logo='/usr/share/icons/gnome/48x48/places/debian-swirl.png'
disable-user-list=true
disable-restart-buttons=true

(background.png é minha imagem de fundo real)

3) Para regenerar a configuração, executei "dpkg-reconfigure gdm3" e "dpkg-reconfigure gdebi-core"


1
Este caiu minha sessão X na inicialização, fixa-lo desfazendo as mudanças em um console embora :)
Maarten

Aviso! Esta solução irá travar as considerações do seu sistema se for oficialmente descrita em um Debian Wiki: wiki.debian.org/GDM Avaliação: Parece que o Debian tem dificuldade em manter seu Wiki atualizado. Se o Debian quiser se tornar o melhor sistema operacional GNU / Linux (o que, na minha opinião, já é), ele só precisará reprojetar seu wiki para ser mais amigável (bancos de dados HTML5 / CSS 3.0 /). Para novos usuários, nunca deve acontecer que a solução oficialmente descrita trava seu sistema. Isto é crucial, uma vez que irá transformá-los longe do Linux ... E nós não queremos isso ...
71GA

1

Provavelmente, a solução mais simples agora é usar o seguinte aplicativo: https://github.com/juhaku/loginized . NOTA: Sou o autor desta aplicação.

É o Gerenciador de temas de login do GNOME GDM, que permite alterar o tema de login e a imagem de plano de fundo. Também pode haver mais recursos disponíveis no aplicativo.


0

Alguns testes em outro sistema (SL7.4) mostraram problemas.

"extractgst.sh" não gera "gnome-shell-theme.gresource.xml", que deve ser editado na etapa 2 da solução 1. Se você adicionar a geração de arquivo ".xml" da solução 2, terá o Arquivo "xml" necessário para inspeção.

O script da solução 2 usa "$ CREATED_TMP", que nunca foi definido. Exclua a declaração completa "se".

Cuidado ao usar o sudo com os scripts. Mude para root com "/ bin / su -" e execute o que parece ser necessário primeiro para o script manualmente.

Agora vêm os problemas especiais com o SL7 (clone do Centos / RHEL7). O SL7 usa o SELinux junto com sua parte de auditoria para gerar segurança do sistema. Se os arquivos do sistema, como aqui são alterados por um script, o SELinux não os conhece e proíbe o uso desses arquivos, não há informações sobre o que resulta em um fundo preto no login. Isso pode ser corrigido usando o comando "restorecon" recursivamente para este diretório. Após o logout, você obterá o plano de tela de login desejado.

Adicionado: restorecon deve ser feito para "/ usr / share / gnome-shell", porque este é o diretório de recursos. Pode ser, fará sentido executar restorecon para os diretórios gnome do usuário, se ainda houver problemas. Mas para mim tudo está funcionando bem por enquanto.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.