Como eu "Consegui" iniciar a DE antes de digitar a senha

Um detalhe q me fazia falta no linux é a inicialização de apps antes de logar no sistema, pois normalmente eu ligo o pc e saio fazer outra coisa, ai quando eu volto, o sistema estar pronto pro uso é uma boa, no windows acontece isso normalmente, eu ligo e saiu e tudo vai carregando e iniciando sem logar, no linux as coisas são diferentes, já q é o gestor de login que chama a DE depois de digitar a senha, porém sem querer eu fiz com que fosse preciso digitar a senha e iniciar os apps.
Ao instalar o ZorinOS, eu escolhi não pedir a senha e logar diretamente, ao contrario de todas as outras instalações, só que com isso o chaveiro da sessão do gnome sempre aparece ao iniciar para pedir a senha, no começo até estava procurando algo pra remover isso, até ver que era o que eu sentia falta

Como se pode ver na imagem, esta tudo aberto ao fundo
(pensado agora, eu nunca verifiquei o que acontece se clicar em Cancelar :thinking: )

Não sei se tem como habilitar isto ou não, não entendo bem como funciona isto.
Mas se eu fosse um Dev, iria trabalhar nisso pra ser uma opção, ou seja, o login estar inteiramente ligado a DE, pra tudo iniciar mais rápido.

1 Curtida

O Windows não faz isso jovem

1 Curtida

Não sei se todas as versões do W10, mas o meu carrega sim os programas em segundo plano enquanto a tela de login está aberta. Quando eu logo, tenho de esperar uns 10 minutos (tenho hd mecânico de 5400 rpm) até o último programa entrar na bandeja do sistema e o HD parar de dar acesso 100%. Se deixo na tela de login por esse tempo, ao logar tudo carregou

1 Curtida

Antes? Como faz isso? Sem hibernação é claro

1 Curtida

Sim, hibernação desligada, já que uso dual boot. Aí preciso dela off pra poder ter acesso às minhas partições NTFS pelo Manjaro

Isso ocorre devido a como as distros definem as dependencias para o target da sessão gráfica, ajustando o o systemd é possível mudar isso, no entanto o que o usuário imagina ser a DE carregando ao fundo é outra coisa, são serviços, como internet, e apps de fundo. Por exemplo, eu não conheço nenhuma distro que não bloqueie o início da sessão até que a conexão de internet seja realizada.

Obviamente não existe uma dependência real do gerenciador de redes para iniciar a DE nem vice versa e portanto é uma das coisas que é possível afrouxar ou mudar o target no systemd. Agora, isso varia de serviço para serviço em segundo plano, coisas que demandam identidade de usuário não deveriam em tese ser carregadas assim obviamente por ser uma brecha de segurança.

1 Curtida

Eu acredito que isso seja um resquício da época pré systemd pois hoje em dia não existe nada limitando isso.

Algumas distros e DEs procuram seguir este padrão para não quebrar aplicações legadas, por exemplo uma área onde particularmente isso fica claro é o fato de que as DEs iniciam apenas após a internet estar disponível na maioria das distros. Tenho quase certeza que isso é do jeito que é devido a em algum momento alguém ter aberto um bug repport de uma aplicação antiga que não falhou graciosamente caso a sessão iniciasse sem internet. E assim vai…

É em momentos assim que eu gostaria que os projetos impusessem padrões de cima para baixo, mas infelizmente isso esbarra em unix-way, e mimimi bloatware e tal.

Pois é, já vi aqui no fórum mesmo falando q não, mas eu sempre percebi isso, se eu ligar o windows e já logar consigo ver as coisas iniciando, até a “DE” do windows não funcionando direito nesse tempo, mas se eu deixar pra logar depois tá tudo lá bonitinho

Mas teria como implementar tipo usando o light Dm, iniciar os apps e serviços?

No que eu conheço, quando instalei o arch, no caso o lightdm chamava a interface, porém se fosse incluso junto com a DE o gerenciador de login, dava pra ganhar um tempo, carregando a DE

Geralmente não se trata de implementar, na maioria dos casos são configurações dos targets e services no systemd, a inicialização moderna é algo sofisticado e complicado, existem configurações para definir dependências entre softwares na inicialização para que apenas o que pode ser rodado em paralelo rode em paralelo, e para que as coisas iniciem, quando preciso, na ordem certa.

Algumas DEs ainda estão polindo esse processo, mas no geral algumas coisas são meramente escolhas default como essa questão da rede. Eu pessoalmente defino para acontecer depois de entrar na DE já pois isso desacelera o boot em SSDs.

Agora, mudar praticamente tudo que envolve a sessão vai te dar bastante dor de cabeça. O ideal é fazer um profile do boot e ver o que vale a pena mudar para inicialização paralela.

Não tenho certeza, mas acho que é aquela opção de “Inicialização rápida” ou algo assim. De certa forma é hibernação mesmo. Eu lembro que às vezes quando eu iniciava o Windows e dava o comando para desligar antes do login, aparecia um aviso falando que eu poderia “perder dados” (presumivelmente por já ter carregado alguns programas).

De resto os motivos variam largamente, por exemplo no caso da rede, pode ser meramente uma questão de permissão, se você não liberar a rede para todos os usuários na configuração de conexão o gerenciador de rede vai precisar esperar pelo inicio de sessão para tentar conectar.

Se o gerenciador de rede depender da DE para obter as configurações de rede, você cairá num caso de deadlock… etc, etc, etc, por isso eu digo que as DEs ainda estão polindo esta questão, desacoplando o processo de boot e delegando tudo ao systemd como deve ser.

Então, temos os seguinte apps no meu note que iniciam com o sistema

Todos eles iniciam após apenas após o usuário fazer login, como eu sei? Simples, eu troquei o executável de cada um deles pra criar um arquivo contendo o nome do usuário, obviamente tomando cuidado pra não sobreescrever…

A lógica é simples:

  • Se o usuário não tiver logado e o app iniciar antes do login, o arquivo vai conter a palavra SYSTEM, e não vai ser alterado mais

  • Se o usuário estiver logado e o app iniciar depois do login, o arquivo criado vai conter o nome do usuário e não será mais alterado

Em 100% dos casos… o arquivo continha o nome do usuário ou seja, o windows só carregou os apps depois do login

isso que você mostrou é meramente os apps que iniciam na sessão de usuário, existe muito mais processos, tanto no Windows, como no Linux, que podem afetar o tempo de inicialização entre DM e DE, como rede, clipboard, dispositivos de som, partições, etc, etc, etc. No windows serviços e tarefas agendadas podem iniciar tranquilamente antes do login quando possível. Alguns destes serviços de fato se mostram no system try, como por exemplo parte do Windows Security que inicializa como serviço.

Mas ele se refere a apps

Serviços também são apps, é tudo uma questão de semântica apenas, acontece que algumas coisas não fazem sentido como serviço, principalmente apps interativos, que podem não funcionar bem iniciando antes ou depois da sessão.

Por exemplo, você pode criar um serviço para iniciar o GIMP antes de o X estar disponível, apenas não faz sentido pois sem uma sessão do X a coisa não vai rolar.

Será que isso por não ser algo habitual no Linux, não poderia ser explorado como uma falha de segurança?

Como assim?

Bem, me parece que o sistema foi driblado, até onde entendi o relato, de forma normal não era para o DE ser iniciado sem a autorização através do sistema.
(Plasma é um caso à parte).