11

The question is based on the thread.

How can you allow only one user to access the display by xhost?

sudo xhost masi is not working in my fresh Ubuntu 9.10.

1
  • what is the output?
    – user1931
    Commented Dec 20, 2009 at 21:44

3 Answers 3

12

I'm testing on Ubuntu 12.04 with X.Org X Server 1.11.3.

I tried Johan's solution and it appeared at first to work, but I found on my system the text after "local:" was being ignored. The result was that all local users were given access to my X session rather than one user.

The magic I found worked was:

xhost +SI:localuser:masi

Replace the portion after the last colon with the username you wish to grant access. You can inspect the authorised list by running xhost with no paramters. It should look something like:

access control enabled, only authorized clients can connect
SI:localuser:masi
SI:localuser:myself

This indicates that the "masi" user and the "myself" user are being granted xhost permissions in the same way.

2
  • Note that (at least on Mint 17) the new user (masi in this case) has to have access to the Xauthority file
    – Joril
    Commented May 23, 2017 at 15:01
  • how to add if xhost command not found..:( Commented Feb 25, 2021 at 13:48
5

Basically the same as John T, but you could add inet or local to the command

xhost +inet:masi@
xhost +local:masi@
1
  • 1
    +1 -- Adding the @ sign fixed it for me: xhost +masi@. Not sure why this tidbit isn't in the man page...
    – redmoskito
    Commented Nov 21, 2010 at 20:04
1

First, restrict X server access to those who aren't on the list:

sudo xhost -

then add yourself to the allow list:

sudo xhost +masi
2
  • 3
    It gives me xhost: bad hostname "masi" although my admin user is masi. Commented Dec 21, 2009 at 13:22
  • 1
    @LéoLéopoldHertz준영 Regardless of that error message it works. To be fair, it worked on one debian machine, but failed on another ubuntu machine. It may be some firewall or extra config. In case that this is not a shared machine you could completely disable xhost control by running xhost +. Any user running on your machine will be able to play X displays. Do not use in shared machines or whatever.
    – m3nda
    Commented Feb 25, 2018 at 0:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .