paramètre xhost au démarrage

8

Je peux configurer xhost au démarrage dans Fedora en éditant /etc/gdm/Init/Defaultet par exemple en ajoutant:

/usr/bin/xhost +local:

Comment faire pareil dans Ubuntu? Je veux que le

/usr/bin/xhost +local:

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

yourtes
la source

Réponses:

11

La xhostcommande a besoin d'un serveur X actif pour s'exécuter, elle peut s'exécuter sur l'écran de connexion, par exemple lors des lightdmchargements. Vous pouvez l'activer en modifiant /etc/lightdm/lightdm.confet en ajoutant la ligne:

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

/etc/lightdm/lightdm.conffichier d' exemple :

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

/home/user/bin/xhost.shfichier d' exemple :

#!/bin/bash
xhost +

Il fonctionne sur Ubuntu 12.04.1 LTS et était nécessaire pour activer une application Java qui avait besoin de X et était exécutée par Tomcat 6.

George Litos
la source
1
vous devrez peut-être rendre le script xhost.sh exécutable avec: chmod + x /home/user/bin/xhost.sh
George Litos
Fonctionne dans Xubuntu 18.04, mais assurez-vous que le script est exécutable comme @George Litos l'a mentionné, sinon votre système ne démarrera pas.
José Tomás Tocino
2

Cela a fonctionné pour moi:

Modifier ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

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

lepe
la source
1

~/.xinitrcn'a pas fonctionné pour moi sur Ubuntu 14.04 mais ce qui suit en ~/.profilea fonctionné. A chaque connexion, GUI / terminal / SSH / etc ..., le script s'exécutera donc je redirige stdoutpour couper la sortie.

xhost +local: > /dev/null

Lucas
la source
1

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

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

au bas de mon ~/.bashrcdossier et ça a marché. Je ne sais pas si c'est un risque pour la sécurité. Je partage cela au cas où quelqu'un d'autre se trouverait dans la même situation et j'espère que l'ajout de root à la liste des utilisateurs de serveur X privilégiés devrait être OK.

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. Essayez ensuite "Modifier en tant qu'administrateur", après un clic droit sur un fichier ou exécutez directement

$ pkexec gedit

Si cela ne fonctionne pas, 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 avaient accès au serveur X. J'ai vu que le format était SI:localuser:dominicdominicest mon nom de connexion. J'ai donc utilisé le même format SI:localuser:root pour ajouter l' rootutilisateur.

Dominic108
la source
0

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 remplacé par les mises à niveau du système. Utilisez plutôt le répertoire d'extension /etc/lightdm/lightdm.conf.d/. Cela signifie également que d'autres paramètres n'ont pas besoin d'être dupliqués.
  • Pas besoin d'un script shell séparé; la commande peut être directement placée dans le fichier de configuration.

Créez simplement un fichier (en tant qu'utilisateur root) /etc/lightdm/lightdm.conf.d/xhost.confavec ces contenus:

[SeatDefaults]
display-setup-script=xhost +

Cela fonctionne sur Ubuntu 16.04.5 LTS.

Ingo Karkat
la source
-1

Modifiez le fichier /etc/rc.local(avec sudo) et ajoutez la commande avant la dernière commande ( exit 0).

yossile
la source
1
Cela ne fonctionnera pas (et j'ai quand même essayé et ça ne marche pas). Parce que ce script n'aura pas de droits d'accès pour modifier ce paramètre à la première place. Cela doit-il être fait en tant qu'utilisateur lightdm?
yurtesen
-1

Ajoutez la ligne suivante à /etc/xdg/lxsession/LXDE/autostart

xhost +local:
8dost
la source