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

lunix
fonte
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

Mac
fonte
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"

lunix
fonte
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.

Juha Kukkonen
fonte
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.

SL7-HT
fonte