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.
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.
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.
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:dominic
où dominic
est mon identifiant. J'ai donc utilisé le même format SI:localuser:root
pour ajouter l'utilisateur root
.
Voici une variante de la réponse de @ GeorgeLitos, avec ces modifications:
/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.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.
~/.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