Como iniciar um serviço automaticamente quando o Arch Linux inicializa?

1

Eu fiz um pouco de pesquisa tentando descobrir isso apenas para encontrar várias opções que parecem muito complicadas e complicadas apenas para iniciar um serviço, que é tudo que eu preciso fazer.

Basicamente, estou tentando iniciar xbindkeys sempre que o ambiente da área de trabalho é iniciado (ou sempre que o usuário faz logon).

Quais são as opções simples para fazer isso?

    
por sherrellbc 19.05.2014 / 06:02

3 respostas

2

Tenha cuidado com o tipo de serviço que você está tentando iniciar. Você determinou corretamente que xbindkeys deve começar junto com o ambiente da área de trabalho, pois ele precisa de acesso ao seu monitor X11, que os serviços "iniciar na inicialização" não teriam. Muitas pessoas esquecem isso.

Na maioria dos ambientes de área de trabalho, crie ~/.config/autostart/xbindkeys.desktop de acordo com o Especificação de início automático do XDG :

[Desktop Entry]
Type=Application
Exec=xbindkeys

Geralmente isso pode ser feito através de cinnamon-session-properties ou similar.

Outro método é colocar o comando no script ~/.xprofile , que é executado pela maioria dos gerenciadores de exibição (GDM, KDM, LXDM, LightDM):

xbindkeys &

Se você estiver usando apenas startx , coloque a mesma linha em ~/.xinitrc , antes da parte que inicia seu ambiente de área de trabalho. O mesmo se aplica aos gerentes de exibição que invocam startx , como o SLiM.

Alguns serviços, incluindo xbindkeys, "destacam-se" para que o & não seja estritamente necessário. No entanto, isso não vai doer, e poderia tornar a inicialização mais rápida desde que o bash se separa antes mesmo de iniciar o processo. Por outro lado, existem algumas situações em que isso prejudicaria - isto é, quando é necessário saber quando o serviço foi totalmente inicializado.

Os serviços de todo o sistema, por outro lado, devem ser iniciados como serviços systemd, criando um arquivo /etc/systemd/system/<name>.service unit. Eles começam cedo e não têm acesso a nenhum monitor X11 (e geralmente começam antes do gerenciador de exibição).

    
por 19.05.2014 / 08:02
1

xbindkeys não é um serviço, que requer o uso de systemctl .

No entanto, xbindkeys tem, como praticamente qualquer coisa no Arch, uma página wiki muito boa, aqui , que afirma, entre outras coisas:

Once you're done configuring your keys, edit your ~/.xinitrc and place

 xbindkeys

before the line that starts your window manager or DE.

Você deve realmente começar a ler o Wiki, ele é realmente bem escrito, tanto que eu o li mesmo quando tenho que adicionar / modificar configurações para meus outros sistemas Linux que não são do Arch.

    
por 19.05.2014 / 08:01
1

Do meu lado, eu uso o Cinnamon como Desktop Environment. Por isso, acabei de adicionar /usr/bin/xbindkeys no Painel de configurações do Cinnamon → Aplicativos de inicialização.
Dessa forma, xbindkeys é iniciado quando meu ambiente de área de trabalho é iniciado.
Se você não usa o Cinnamon, tenho certeza de que poderá aplicar a mesma coisa em seu ambiente de área de trabalho.

    
por 19.05.2014 / 18:07

Tags