GNOME está adaptado para ser gerenciado via systemd

Benjamim Berg (Benjamim Berg), um dos engenheiros da Red Hat envolvidos no desenvolvimento do GNOME, resumido resultados do trabalho de transição do GNOME para gerenciamento de sessão exclusivamente usando systemd, sem usar o processo gnome-session.

Ele tem sido usado há algum tempo para controlar o login no GNOME. login do systemd, que rastreia estados de sessão específicos do usuário, gerencia identificadores de sessão, é responsável por alternar entre sessões ativas, coordena ambientes com vários assentos, configura políticas de acesso a dispositivos, fornece ferramentas para desligar e dormir, etc.

Ao mesmo tempo, parte da funcionalidade relacionada à sessão permaneceu sobre os ombros do processo gnome-session, que era responsável pelo gerenciamento via D-Bus, lançando o gerenciador de exibição e os componentes GNOME e organizando a execução automática de aplicativos especificados pelo usuário. . Durante o desenvolvimento do GNOME 3.34, recursos específicos da sessão do gnome são empacotados como arquivos unitários para o systemd, executados no modo “systemd —user”, ou seja, em relação ao ambiente de um usuário específico, e não a todo o sistema. As mudanças já foram implementadas na distribuição Fedora 31, que deverá ser lançada no final de outubro.

O uso do systemd tornou possível organizar o lançamento de manipuladores sob demanda ou quando determinados eventos ocorrem, bem como responder de forma mais sofisticada ao encerramento prematuro de processos devido a falhas e lidar extensivamente com dependências ao iniciar componentes do GNOME. Como resultado, você pode reduzir o número de processos em execução constante e reduzir o consumo de memória. Por exemplo, o XWayland agora só pode ser iniciado ao tentar executar um aplicativo baseado no protocolo X11, e componentes específicos de hardware só podem ser iniciados se tal hardware estiver presente (por exemplo, manipuladores para cartões inteligentes serão iniciados quando um cartão for inserido e terminar quando for removido).

Surgiram para o usuário ferramentas mais flexíveis de gerenciamento de lançamento de serviços, por exemplo, para desabilitar o manipulador de chaves multimídia bastará executar “systemctl -user stop gsd-media-keys.target”. Em caso de problemas, os logs associados a cada manipulador podem ser visualizados com o comando journalctl (por exemplo, “journalctl —user -u gsd-media-keys.service”), tendo previamente habilitado o log de depuração no serviço (“Ambiente= G_MESSAGES_DEBUG=todos”). Também é possível executar todos os componentes do GNOME em ambientes sandbox isolados, que estão sujeitos a maiores requisitos de segurança.

Para facilitar a transição, suporte para a forma antiga de executar processos planejado persistir em vários ciclos de desenvolvimento do GNOME. Em seguida, os desenvolvedores revisarão o estado da sessão do gnome e provavelmente (marcado como “provável”) removerão as ferramentas para iniciar processos e manter a API D-Bus dela. Então o uso de “systemd -user” será relegado à categoria de funções obrigatórias, o que pode criar dificuldades para sistemas sem systemd e exigirá a preparação de uma solução alternativa, como já foi o caso com login do systemd. Porém, em seu discurso no GUADEC 2019, Benjamin Berg mencionou a intenção de manter o suporte ao antigo método de inicialização para sistemas sem systemd, mas esta informação está em desacordo com os planos para página do projeto.

Fonte: opennet.ru

Adicionar um comentário