Eu tenho uma apresentação de slides em execução na minha área de trabalho (que está armazenada em ~/.local/share/shotwell/wallpaper/wallpaper.xml
) e que também é mostrada na tela de bloqueio.
Desde 20.04, há um efeito de desfoque na imagem atual na tela de bloqueio.
Eu só encontrei soluções de como usar outra imagem na tela de bloqueio sem desfoque, mas isso removeria a apresentação de slides.
Como faço para remover o desfoque, mas manter a apresentação de slides?
Existe uma extensão chamada Efeito de desfoque de controle na tela de bloqueio.
Efeito de desfoque de controle - extensão Gnome Shell
Por padrão, as configurações da extensão tornam o valor Blur Sigma para 0, isso significa que você pode ver o papel de parede sem nenhum efeito de desfoque.
Opcionalmente, você pode controlar esse valor e o valor de brilho também nas configurações de extensão.
Em relação à recompensa e referência ao unlockDialog.js não encontrado no sistema:
A razão pela qual você não consegue encontrar unlockDialog.js em seu sistema é que é o código fonte que parece ser compilado por gjs.
O que você está pedindo é parte de um procedimento complicado. A maneira que eu olharia para lidar com isso é baixar o código-fonte para fazer as alterações necessárias.
apt source gnome-shell
)cd /usr/share/gnome-shell/
/usr/share/data/org.gnome.shell.gschema.xml.in
e/usr/share/js/ui/unlockDialog.js
/usr/share/debian/changelog
) para atualizar a versão para superior à que foi instalada no Ubuntusudo apt-get build-dep gnome-shell
)debuild
o comando para construir um pacote. (Instalado via pacote devscripts)O patch sugerido parece adicionar uma configuração adicional que pode ser gerenciada de outro lugar (supostamente de
gsettings
?)De qualquer forma, como o
unlockDialog.js
arquivo precisa ser modificado de qualquer maneira, optei por uma abordagem mais direta: simplesmente desabilitando o efeito de desfoque diretamente neste arquivo.O arquivo modificado - contando com o recurso de sobreposições gresource do gnome-shell - pode ser mantido no diretório inicial, disponível para edições subsequentes convenientes a qualquer momento.
Passos para alcançar a modificação
unlockDialog.js
arquivo dalibgnome-shell.so
biblioteca binária,As duas primeiras etapas são explicadas em detalhes aqui: Onde estão os arquivos javascript da interface do usuário do gnome-shell no Ubuntu 20.04? (Parece ser muito para absorver, mas as mudanças reais realizadas não são muito.)
Para a terceira etapa, modificar a
unlockDialog.js
cópia, existem algumas abordagens diferentes.O desafio de aplicar as alterações de código sugeridas
Agora, o que complica as coisas é que esse arquivo continua sendo alterado ao longo do tempo e, dependendo da versão exata que você possui, pode ser difícil descobrir como aplicar as sugestões de alteração.
É assim que o unlockDialog.js está agora na
gnome-3-36
ramificação no momento da escrita (no commit6b20eb8e
).O patch sugerido, no entanto, faz referência a um estado mais antigo, desde o qual o arquivo passou por essa e essa alteração; ambos modificam a parte sobre o desfoque.
Com isso em mente, procuro sugerir as mudanças mais simples possíveis que parecem ter chance de permanecer relevantes mesmo após algumas atualizações.
Ideias para modificar
unlockDialog.js
Ideia 1:
A solução mais simples é alterar o
BLUR_SIGMA
valor da variável:Isso já resultará em uma imagem de fundo clara, inalterada e idêntica à aparência na área de trabalho normal após o login.
(Observe que assim que
BLUR_SIGMA
estiver definido como0
,BLUR_BRIGHTNESS
, mesmo que seja menor que1
, também não terá efeito; na verdade, enquanto SIGMA for0
, a ediçãoBLUR_BRIGHTNESS
parece provavelmente desnecessária.)Ideia 2:
Se você está preocupado com o desempenho, pode evitar que o efeito gráfico seja aplicado. Vendo, no entanto, como
BLUR_SIGMA = 0
parece anular a totalidade do efeito, acho que já não há muita sobrecarga.Colocar
return true;
no_updateBackgroundEffects()
método (como a primeira linha, a menos que você veja uma razão para não fazê-lo) permite ignorar o código nesse método que vem após areturn
instrução.Antes de fazer isso, no entanto, revise o conteúdo do bloco de código e tente determinar se esse método está fazendo algo que, posteriormente, alguns outros métodos externos podem tentar confiar. Se você encontrar algo assim, tente adicionar a
return
declaração após tal declaração. (No momento em que escrevo isso, areturn
instrução na primeira linha (como no exemplo acima) funcionou sem problemas.)(A propósito, você pode simplesmente comentar apenas o
effect.set({ ... });
bloco de código também.)Uma nota sobre a Ideia 2:
Eu estava pensando: "Não poderíamos nem mesmo deixar de definir o efeito em primeiro lugar?" Então eu estava de olho nesta linha:
Mas ler a mensagem de confirmação aqui revela que removê-la pode causar bugs; então parece melhor jogar pelo seguro e deixar essa linha no lugar.
Além disso, estou extremamente feliz agora, porque fiquei incrivelmente frustrado com a natureza escura do plano de fundo da tela de bloqueio, desde que instalei o 20.04.
Agora, no entanto, está resolvido para mim também.