How to run a GUI application as a different user:
Suppose you are logged into your Linux box as user1 using some X window system already (with GNOME/Unity/..). Now you want to run some gui app as another user, user2.
Run:
xhost +
- Run as the user1. This enables access to user1's X window system from other users. You should see following output: 'access control disabled, clients can connect from any host'sudo su - user2
- Using your favorite terminal, log-in to second user.export DISPLAY=:0.0
- optional for some apps.# sudo mount --bind /home/user1 /home/user2
- optional. This mounts the /home/user1 dir into /home/user2. This is useful if you want to reuse user1's application configs. This can break some other apps sometimes, so only do this if this is really necessary. You can unmount at the end viasudo umount /home/user2
.- execute the gui command:
firefox
Tried this with Spotify:
Be sure to add your user to the
audio
group before usingsu
sudo usermod -G audio -a user2
su user2
Then, as the substituted user,
unset XDG_RUNTIME_DIR
would be smart, to prevent writing to the wrong home directories, as some GUI apps will use this variable.Let me know if it works for you