Unidade do usuário Systemd que depende da unidade do sistema (sleep.target)

13

Eu estava lendo o documento e ainda não está claro para mim se é possível realizar o seguinte:

serviço definido em ~/.config/systemd/user/task.service que depende do sistema sleep.target ( ~/.config/systemd/user/sleep.target.wants/task.service ).

Agora, espero que task.service comece quando eu executar $ systemctl suspend , mas task.service não foi iniciado.

Estou executando o debian, com a versão do systemd 208, systemd --user configurado mais ou menos conforme descrito no ArchWiki .

Gostaria de saber se meu cenário poderia ser implementado com o systemd, ou se --system e --user foram completamente isolados por design para que --user unit não seja uma dependência de --system unit.

Caso seja possível, qual pode ser o problema no meu caso?

    
por Alexander Kitaev 01.08.2014 / 20:22

2 respostas

5

De systemd / User - Archwiki

systemd --user runs as a separate process from the systemd --system process. User units can not reference or depend on system units.

    
por 23.04.2016 / 14:03
4
Os

systemd serviços de sessão do usuário são executados em uma instância completamente separada de systemd e não têm como depender diretamente dos serviços do sistema.

Existem outras maneiras de realizar o que você deseja. O mais limpo provavelmente seria fazer o que você quer que seja executado quando o sistema for suspender os inibidores do logind e, em seguida, executá-lo como um daemon em segundo plano.

Uma solução mais geral seria ter um daemon conectado aos inibidores logind , (veja systemd-lock-handler e xss-lock ,) e, em seguida, quando o sistema vai sleep, ele ativará um destino de sessão do usuário no qual você pode solicitar seus serviços.

    
por 20.04.2015 / 17:25

Tags