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).