Kurze Antwort:"Ja, das ist möglich".
Wenn Sie eine Nicht-X-Anwendung ausführen möchten, verwenden Sie einfach den folgenden Befehl:
sudo -u abc Befehl
Wenn Sie eine X-Anwendung als ein anderer Benutzer ausführen möchten, aber mit Ihrem eigenen Desktop, müssen Sie zuerst ein Hilfsskript erstellen, das Ihr Leben einfacher macht
- erstellen Sie einen bin-Ordner unter Ihrem Home-Verzeichnis:
mkdir -p ~/bin
und erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei ~/bin/xsudo
wie folgt:
#!/bin/bash
# (C) serge 2012
# The script is licensed to all users of StackExchange family free of charge
# Fixes/Enhancements to the script are greatly appreciated.
#
# SUDO_ASKPASS has to be set to the path of ssh-askpass
# fix the following two lines if your distribution does not match this autodetection
. /etc/profile.d/gnome-ssh-askpass.sh
export SUDO_ASKPASS="${SSH_ASKPASS}"
SUDOUSERNAME="$1"
shift
xauth nlist "${DISPLAY}"|sudo -HA -u $SUDOUSERNAME env --unset=XAUTHORITY \
bash -c "xauth nmerge - ; $*"
dann ausführbar machen:
chmod +x ~/bin/xsudo
und verwenden Sie es genauso wie sudo
aber ohne Schalter:
xsudo Benutzeranwendung
Viel Spaß.
P.S. Ab xsession
ab root
Account wird dringend davon abgeraten!
Eine portable Lösung wäre:
su abc -c google-chrome
Da Google-Chrome jedoch X11-Zugriff erfordert, wird dies wahrscheinlich fehlschlagen, es sei denn, Sie entsichern es, was eine sehr schlechte Idee wäre, insbesondere wenn es als Root ausgeführt wird.
Wenn X11-Tuneling/Forwarding erlaubt ist, wäre ein besserer Weg
ssh -X [email protected] google-chrome
oder
ssh -Y [email protected] google-chrome