Configuración de xhost en el arranque

8

Puedo configurar xhost en el arranque en Fedora editando /etc/gdm/Init/Defaulty, por ejemplo, agregar:

/usr/bin/xhost +local:

¿Cómo se puede hacer algo similar en Ubuntu? Quiero que el

/usr/bin/xhost +local:

El comando se ejecuta cuando el sistema está sentado en el indicador de inicio de sesión.

Yurtesen
fuente

Respuestas:

11

El xhostcomando necesita un servidor X activo para ejecutarse, puede ejecutarse en la pantalla de inicio de sesión, por ejemplo, cuando se lightdmcarga. Puede habilitarlo editando /etc/lightdm/lightdm.confy agregando la línea:

display-setup-script=/home/user/bin/xhost.sh

/etc/lightdm/lightdm.confarchivo de ejemplo :

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

/home/user/bin/xhost.sharchivo de ejemplo :

#!/bin/bash
xhost +

Funciona en Ubuntu 12.04.1 LTS, y fue necesario para habilitar una aplicación Java que necesitaba X y fue ejecutada por Tomcat 6.

George Litos
fuente
1
es posible que deba hacer que el script xhost.sh sea ejecutable con: chmod + x /home/user/bin/xhost.sh
George Litos
Funciona en Xubuntu 18.04, pero asegúrese de que el script sea ejecutable como @George Litos mencionó, de lo contrario su sistema no arrancará.
José Tomás Tocino
2

Esto funcionó para mí:

Editar ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

Nota: en mi configuración específica, solo estoy ejecutando openbox . Normalmente ese archivo está vacío o falta en Ubuntu. Supongo que podría eliminar la línea "openbox" y funcionaría, pero no tengo una forma de probarla en este momento. Si no funciona, reemplace la última línea para su comando del administrador de ventanas.

lepe
fuente
1

~/.xinitrcno funcionó para mí en Ubuntu 14.04 pero lo siguiente ~/.profilesí. En cada inicio de sesión, GUI / terminal / SSH / etc ..., el script se ejecutará, así que redirijo stdoutpara silenciar la salida.

xhost +local: > /dev/null

Lucas
fuente
1

Tuve el mismo problema con Ubuntu 17.10. Puede ser que mi sistema no esté configurado correctamente. De todos modos, en mi caso, agregué

xhost + SI:localuser:root > /dev/null

al final de mi ~/.bashrcarchivo y funcionó. No sé si esto es un riesgo de seguridad. Comparto eso en caso de que alguien más se encuentre en la misma situación y confío en que agregar root a la lista de usuarios del servidor X previos debería estar bien.

Se sugiere aquí http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/

Puede probarlo directamente en el terminal primero:

$ xhost + SI:localuser:root
$ xhost -

La segunda línea asegura que solo aquellos en la lista tengan acceso al servidor X. Luego intente "Editar como administrador", luego de hacer clic derecho en un archivo o ejecutar directamente

$ pkexec gedit

Si esto no funciona, entonces no tiene sentido hacer que el comando sea permanente en ~ / .bashrc.

Para ser más precisos, primero ejecuté

$ xhost

para ver qué usuarios tenían acceso al servidor X. Vi que el formato era SI:localuser:dominicdonde dominicestá mi nombre de usuario. Entonces, utilicé el mismo formato SI:localuser:root para agregar al rootusuario.

Dominic108
fuente
0

Aquí hay una variante de la respuesta de @ GeorgeLitos, con estos cambios:

  • No lo modifique directamente /etc/lightdm/lightdm.conf, ya que este es un archivo propiedad del sistema que puede sobrescribirse con las actualizaciones del sistema. En su lugar, use el directorio de extensión /etc/lightdm/lightdm.conf.d/. Esto también significa que no es necesario duplicar otras configuraciones allí.
  • No es necesario un script de shell separado; El comando se puede colocar directamente en el archivo de configuración.

Simplemente cree un archivo (como usuario root) /etc/lightdm/lightdm.conf.d/xhost.confcon estos contenidos:

[SeatDefaults]
display-setup-script=xhost +

Esto funciona en Ubuntu 16.04.5 LTS.

Ingo Karkat
fuente
-1

Edite el archivo /etc/rc.local(con sudo) y agregue el comando antes del último comando ( exit 0).

feroz
fuente
1
Esto no funcionará (y lo intenté sin embargo y no funciona). Porque ese script no tendrá derechos de acceso para cambiar esa configuración en primer lugar. Tiene que hacerse como usuario lightdm?
Yurtesen
-1

Agregue la siguiente línea a /etc/xdg/lxsession/LXDE/autostart

xhost +local:
8dost
fuente