How to run a GUI program as a different user (Debian)?
Solution 1
First off, don't use sudo
or su
to change users to run a graphical process, or you're liable to have problems down the line (~/.ICEauthority
changing owner is a notable issue). Instead, create a shortcut that uses the following command:
gksu -u [user] command
gksu
launches a graphical prompt for the user's password, and upon entering the correct password, launch the application as the user specified.
Solution 2
my own solution involves ssh
. when I want to run <command>
under a different user <login>
, I do this:
ssh -CY <login>@0 <command>
yes, I do need a ssh server in place and I do need to either enter the other user password or to have my own public key in ~<login>/.ssh/authorized_keys2
. and I cannot close the terminal from which I gave the command.
Stéphane Gimenez
Computer scientist, interested in logics, programming languages, parallel and distributed computation, photography, cryptocurrencies. I live on open source software. I also like to climb mountains and play this ancient game called go.
Updated on September 18, 2022Comments
-
Stéphane Gimenez over 1 year
Using a terminal, I can change the running user with
su
andsudo
— but how can I do that by clicking on an icon/shortcut on the desktop/start menu?If I have to be root to execute I will be asked anyway, but some programs e.g.
Krusader
andNetBeans
sometimes run without root access but then you can't accomplish what you want.On Windows I simply hit shift and rightclick on it and am prompted for user and password. I guess there is a similarly simple way to do that in Debian as well. (Apart from workarounds like creating scripts such as
sudo xyz
.)Thanks in advance!
-
Joachim Breitner over 9 yearsWhat does
gksu
do differently fromsudo
so that it works better?