Este es el comando dbus-launch que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
dbus-launch: utilidad para iniciar un bus de mensajes desde un script de shell
SINOPSIS
lanzamiento de dbus [--versión] [--ayuda] [--sh-sintaxis] [--csh-sintaxis] [--auto-sintaxis]
[--sintaxis-binaria] [--close-stderr] [--salir-con-sesión]
[--autolaunch =IDENTIFICADOR DE MÁQUINA] [--config-file =NOMBRE DEL ARCHIVO] [PROGRAMA] [ARGS...]
DESCRIPCIÓN
El sistema lanzamiento de dbus El comando se utiliza para iniciar una instancia de bus de sesión de demonio dbus de un
script de shell. Normalmente se llamaría desde los scripts de inicio de sesión de un usuario. A diferencia del demonio
sí mismo, lanzamiento de dbus salidas, por lo que las comillas invertidas o la construcción $ () se pueden usar para leer
información de lanzamiento de dbus.
Sin argumentos lanzamiento de dbus lanzará una instancia de bus de sesión e imprimirá la dirección
y PID de esa instancia a la salida estándar.
Puede especificar un programa que se ejecutará; en este caso, lanzamiento de dbus lanzará un bus de sesión
instancia, establezca las variables de entorno adecuadas para que el programa especificado pueda encontrar el
bus, y luego ejecute el programa especificado, con los argumentos especificados. Vea a continuación para
ejemplos.
Si inicia un programa, lanzamiento de dbus no imprimirá la información sobre el nuevo autobús a
salida estándar.
Cuándo lanzamiento de dbus imprime la información del bus en la salida estándar, por defecto es en un simple
formato de pares clave-valor. Sin embargo, puede solicitar varias sintaxis alternativas utilizando el
--sh-syntax, --csh-syntax, --binary-syntax o --auto-syntax opciones. Varios de estos
porque lanzamiento de dbus para emitir código de shell para configurar el entorno.
Con la opción --auto-syntax, lanzamiento de dbus analiza el valor del medio ambiente SHELL
variable para determinar qué sintaxis de shell se debe utilizar. Si SHELL termina en "csh", entonces
se emite código compatible con csh; de lo contrario, se emite el código de shell Bourne. En lugar de pasar
--auto-syntax, puede especificar explícitamente uno en particular usando --sh-syntax para Bourne
sintaxis o --csh-syntax para la sintaxis csh. En los scripts, es más robusto evitar
--auto-syntax y, con suerte, sabrá en qué shell está escrito su script.
See http://www.freedesktop.org/software/dbus/ para obtener más información sobre D-Bus. Ver también
la página de manual de demonio dbus.
EJEMPLOS
Distribuciones en ejecución lanzamiento de dbus como parte de una sesión X estándar debe ejecutarse lanzamiento de dbus
--salir-con-sesión después de que el servidor X se haya iniciado y esté disponible, como contenedor
alrededor del cliente X "principal" (normalmente un administrador de sesiones o un administrador de ventanas), como en estos
ejemplos:
lanzamiento de dbus --salir-con-sesión sesión de gnomo
lanzamiento de dbus --salir-con-sesión abrir caja
lanzamiento de dbus --salir-con-sesión ~ / .xsession
Si su distribución no hace esto, puede lograr resultados similares ejecutando su
sesión o administrador de ventanas de la misma manera en un script ejecutado por su sesión X, como
~ / .xsession, ~ / .xinitrc or ~ / .Xclients.
Para iniciar una sesión de D-Bus dentro de una sesión en modo texto, no utilice lanzamiento de dbus. En cambio, mira
sesión de ejecución de dbus(1).
## prueba para un demonio de bus existente, solo para estar seguro
si prueba -z "$ DBUS_SESSION_BUS_ADDRESS"; luego
## si no lo encuentra, inicie uno nuevo
eval `dbus-lanzamiento --sh-syntax`
echo "La dirección del demonio por sesión de D-Bus es: $ DBUS_SESSION_BUS_ADDRESS"
fi
Tenga en cuenta que en este caso, dbus-launch se cerrará y dbus-daemon no se terminará.
automáticamente al cerrar la sesión.
AUTOMÁTICO LANZAMIENTO
Si DBUS_SESSION_BUS_ADDRESS no está configurado para un proceso que intenta usar D-Bus, de forma predeterminada
el proceso intentará invocar dbus-launch con la opción --autolaunch para iniciar un
nuevo bus de sesión o busque la dirección del bus existente en la pantalla X o en un archivo en
~ / .dbus / session-bus /
Siempre que se produzca un inicio automático, la aplicación que tuvo que iniciar un nuevo bus estará en su
propio pequeño mundo; efectivamente puede terminar iniciando una sesión completamente nueva si intenta
use muchos servicios de autobús. Esto puede ser subóptimo o incluso totalmente roto, dependiendo de la
app y lo que intenta hacer.
Hay dos razones comunes para el inicio automático. Uno es ssh a una máquina remota. La solución ideal
para eso sería el reenvío de DBUS_SESSION_BUS_ADDRESS de la misma manera que DISPLAY es
reenviado. Mientras tanto, puede editar el archivo de configuración session.conf para que su sesión
bus escuche en TCP y configure manualmente DBUS_SESSION_BUS_ADDRESS, si lo desea.
La segunda razón común para el inicio automático es un su a otro usuario y la visualización de X
aplicaciones que se ejecutan como segundo usuario en la pantalla que pertenecen al primer usuario.
Quizás la solución ideal en este caso sería permitir que el segundo usuario se conecte al
bus de sesión del primer usuario, del mismo modo que pueden conectarse a la pantalla del primer usuario.
Sin embargo, no se ha codificado un mecanismo para eso.
Siempre puede evitar el inicio automático configurando manualmente DBUS_SESSION_BUS_ADDRESS. Lanzamiento automático
sucede porque la dirección predeterminada si no se establece ninguna es "inicio automático:", por lo que si alguna otra
La dirección está configurada, no habrá inicio automático. Sin embargo, puede incluir el inicio automático en un
dirección de bus de sesión explícita como alternativa, por ejemplo
DBUS_SESSION_BUS_ADDRESS = "algo:, inicio automático:" - en ese caso si la primera dirección
no funciona, los procesos se iniciarán automáticamente. (La variable de dirección del bus contiene un
lista de direcciones separadas por comas para probar).
La opción --autolaunch se considera un detalle de implementación interna de libdbus, y en
De hecho, hay planes para cambiarlo. No hay ninguna razón real para usarlo fuera de libdbus
implementación de todos modos.
OPCIONES
Se admiten las siguientes opciones:
--sintaxis automática
Elija --csh-syntax o --sh-syntax según la variable de entorno SHELL.
--sintaxis binaria
Escriba en la salida estándar una dirección de bus terminada en nulo, luego el PID del bus como un entero binario de
size sizeof (pid_t), luego el ID de la ventana del bus X como un entero binario de tamaño sizeof (long).
Los enteros están en el orden de bytes de la máquina, no en el orden de bytes de la red o cualquier otro
orden de bytes canónico.
--cerrar-stderr
Cierre el flujo de salida de error estándar antes de iniciar el demonio D-Bus. Este es
útil si desea capturar mensajes de error de inicio de dbus pero no desea
dbus-daemon para mantener la transmisión abierta a su aplicación.
--config-file = NOMBRE DE ARCHIVO
Pase --config-file = FILENAME al demonio de bus, en lugar de pasarle la --sesión
argumento. Consulte la página de manual de dbus-daemon
--csh-sintaxis
Emite código compatible con csh para configurar variables de entorno.
--salir-con-sesión
Si se proporciona esta opción, se creará un proceso de "niñera" persistente que
observa stdin para HUP e intenta conectarse al servidor X. Si este proceso obtiene un HUP
en stdin o pierde su conexión X, mata el demonio del bus de mensajes.
--autolaunch = ID DE MÁQUINA
Esta opción implica que lanzamiento de dbus debe buscar una sesión iniciada previamente y
reutilizar los valores encontrados allí. Si no se encuentra ninguna sesión, iniciará una nueva sesión. los
La opción --exit-with-session está implícita si se proporciona --autolaunch. Esta opción es para
uso exclusivo de libdbus, no desea utilizarlo manualmente. Puede cambiar en el
futuro.
--sh-sintaxis
Emite código compatible con Bourne-shell para configurar variables de entorno.
--versión
Imprime la versión de dbus-launch
--ayuda
Imprime la información de ayuda de dbus-launch
NOTAS
Si tu corres lanzamiento de dbus miaplicacion (con cualquier otra opción), dbus-daemon no salir cuando
miaplicacion termina: esto es porque miaplicacion se supone que es parte de una sesión más grande, en lugar de
que una sesión por derecho propio.
Utilice dbus-launch en línea utilizando los servicios de onworks.net