web-dev-qa-db-fra.com

paramètre xhost au démarrage

Je peux configurer xhost au démarrage dans Fedora en éditant /etc/gdm/Init/Default et par exemple ajouter:

/usr/bin/xhost +local:

Comment peut-on faire pareil dans Ubuntu? Je veux que le

/usr/bin/xhost +local:

cette commande est exécutée lorsque le système est assis à l'invite de connexion.

8
yurtesen

La commande xhost nécessite un serveur X actif pour pouvoir s'exécuter à l'écran de connexion, par exemple lorsque lightdm est chargé. Vous pouvez l'activer en modifiant /etc/lightdm/lightdm.conf et en ajoutant la ligne suivante:

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

exemple de fichier /etc/lightdm/lightdm.conf:

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

exemple de fichier /home/user/bin/xhost.sh:

#!/bin/bash
xhost +

Cela fonctionne sur Ubuntu 12.04.1 LTS, et il était nécessaire d’activer une application Java nécessitant X et exécutée par Tomcat 6.

11
George Litos

Cela a fonctionné pour moi:

Éditer ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

Remarque: dans ma configuration spécifique, je n’utilise que openbox. Normalement, ce fichier est vide ou manquant dans Ubuntu. J'imagine que vous pourriez supprimer la ligne "openbox" et que cela fonctionnerait, mais je n'ai pas le moyen de le tester pour le moment. Si cela ne fonctionne pas, remplacez la dernière ligne de votre commande du gestionnaire de fenêtres.

2
lepe

J'ai eu le même problème avec Ubuntu 17.10. Il se peut que mon système n’ait pas été configuré correctement. Quoi qu'il en soit, dans mon cas, j'ai ajouté

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

au bas de mon fichier ~/.bashrc et cela a fonctionné. Je ne sais pas s'il s'agit d'un risque de sécurité. Je partage ce point au cas où quelqu'un d'autre se trouverait dans la même situation et espérais que l'ajout de root à la liste des utilisateurs de serveurs X pré-marqués serait une bonne chose.

Il est suggéré ici http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-Sudo-gksu/ =

Vous pouvez d'abord le tester directement sur le terminal:

$ xhost + SI:localuser:root
$ xhost -

La deuxième ligne s'assure que seuls ceux de la liste ont accès au serveur X. Ensuite, essayez "Modifier en tant qu'administrateur", après avoir cliqué avec le bouton droit sur un fichier ou directement exécuter,

$ pkexec gedit

Si cela ne fonctionne pas, alors il est inutile de rendre la commande permanente dans ~/.bashrc.

Pour être plus précis, j'ai d'abord exécuté

$ xhost

pour voir quels utilisateurs ont accès au serveur X. J'ai vu que le format était SI:localuser:dominicdominic est mon identifiant. J'ai donc utilisé le même format SI:localuser:root pour ajouter l'utilisateur root.

1
Dominic108

Voici une variante de la réponse de @ GeorgeLitos, avec ces modifications:

  • Ne modifiez pas directement /etc/lightdm/lightdm.conf, car il s’agit d’un fichier appartenant au système qui peut être écrasé par les mises à niveau du système. À la place, utilisez le répertoire d’extensions /etc/lightdm/lightdm.conf.d/. Cela signifie également qu'il n'est pas nécessaire de dupliquer d'autres paramètres.
  • Pas besoin d'un script shell séparé; la commande peut être directement placée dans le fichier de configuration.

Il suffit de créer un fichier (en tant qu'utilisateur root) /etc/lightdm/lightdm.conf.d/xhost.conf avec le contenu suivant:

[SeatDefaults]
display-setup-script=xhost +

Cela fonctionne sur Ubuntu 16.04.5 LTS.

0
Ingo Karkat

~/.xinitrc n'a pas fonctionné pour moi sur Ubuntu 14.04 mais les éléments suivants dans ~/.profile l'ont été. Sur chaque connexion, GUI/terminal/SSH/etc ..., le script s'exécutera de sorte que je redirige stdout pour faire taire la sortie.

xhost +local: > /dev/null

0
Lucas