¿Cómo iniciar un servicio automáticamente cuando se inicia Arch Linux?

1

He investigado un poco tratando de resolver esto solo para encontrar varias opciones que parecen muy complicadas y complicadas solo para comenzar un servicio, que es todo lo que necesito hacer.

Básicamente, estoy tratando de comenzar xbindkeyscada vez que se inicia el entorno de escritorio (o cuando el usuario inicia sesión).

¿Cuáles son las opciones simples para hacer esto?

sherrellbc
fuente
1
Si no lo necesita hasta que se inicie el entorno de escritorio, hay varias formas específicas de DE que son independientes de Arch. Por ejemplo, en Xfce .
user55325

Respuestas:

2

Tenga cuidado con el tipo de servicio que está tratando de comenzar. Usted determinó correctamente que xbindkeysdebería comenzar junto con el entorno de escritorio, ya que necesita acceso a su pantalla X11, que los servicios de "inicio en el arranque" no tendrían. Mucha gente olvida esto.


En la mayoría de los entornos de escritorio, cree de ~/.config/autostart/xbindkeys.desktop acuerdo con la  especificación de inicio automático de XDG :

[Desktop Entry]
Type=Application
Exec=xbindkeys

Por lo general, esto se puede hacer a través de cinnamon-session-propertieso similar.


Otro método es poner el comando en el ~/.xprofilescript, que es ejecutado por la mayoría de los administradores de pantallas (GDM, KDM, LXDM, LightDM):

xbindkeys &

Si solo está usando startx, coloque la misma línea en su ~/.xinitrclugar, antes de la parte que inicia su entorno de escritorio. Lo mismo se aplica a los administradores de pantallas que invocan startx, como SLiM.

Algunos servicios, incluidos xbindkeys, se "desconectan" de manera &que no es estrictamente necesario. Sin embargo, no va a doler, y posiblemente podría hacer que el inicio sea más rápido ya que bash se desconecta incluso antes de comenzar el proceso. Por otro lado, hay algunas situaciones en las que dolería, es decir, cuando es necesario saber cuándo se ha inicializado completamente el servicio.


Los servicios de todo el sistema, por otro lado, deben iniciarse como servicios de systemd, creando un /etc/systemd/system/<name>.servicearchivo de unidad. Comienzan temprano y no tienen acceso a ninguna pantalla X11 (y a menudo comienzan antes que el administrador de pantalla).

Gravedad
fuente
Según el error 845339, Fedora ya no es compatible ~/.xprofiley ~/.xinitrc.
Cristian Ciupitu
1

xbindkeys no es un servicio, que en cambio requeriría el uso de systemctl .

Sin embargo, xbindkeys tiene, como casi cualquier cosa en Arch, una muy buena página wiki, aquí , que establece, entre otras cosas:

Una vez que haya terminado de configurar sus claves, edite su ~ / .xinitrc y coloque

 xbindkeys

antes de la línea que inicia su administrador de ventanas o DE.

Realmente deberías comenzar a leer el Wiki, está realmente bien escrito, tanto que lo leo incluso cuando tengo que agregar / modificar configuraciones a mis otros sistemas que no son Arch Linux.

MariusMatutiae
fuente
Por supuesto, leí el Wiki, debo haber pasado por alto ese componente crítico. Para empezar, no habría sabido cómo configurar xbindkeys.
sherrellbc
1

Por mi parte, uso Cinnamon como entorno de escritorio. Así que acabo de agregar /usr/bin/xbindkeysen el Panel de configuración de Cinnamon → Aplicaciones de inicio.
De esta manera, xbindkeysse inicia cuando se inicia mi entorno de escritorio.
Si no usa Cinnamon, estoy seguro de que podrá aplicar lo mismo en su entorno de escritorio.

Nicolas
fuente