Krátká odpověď:"Ano, je to možné."
pokud chcete spustit aplikaci, která není X, použijte následující příkaz:
sudo -u abc příkaz
Pokud chcete spouštět nějakou X aplikaci jako jiný uživatel, ale s vlastní pracovní plochou si nejprve musíte vytvořit pomocný skript, který vám usnadní život
- vytvořte ve svém domovském adresáři složku bin:
mkdir -p ~/bin
a pomocí svého oblíbeného textového editoru vytvořte soubor ~/bin/xsudo
takto:
#!/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 - ; $*"
pak jej udělejte spustitelným:
chmod +x ~/bin/xsudo
a použijte jej stejným způsobem jako sudo
ale bez jakýchkoli přepínačů:
xsudo uživatelská aplikace
Užijte si to.
P.S. Počínaje xsession
z root
důrazně nedoporučujeme!
Přenosné řešení by bylo:
su abc -c google-chrome
Protože však google-chrome vyžaduje přístup X11, pravděpodobně to selže, pokud jej nezrušíte, což by byl velmi špatný nápad, zvláště když běžíte jako root.
Pokud je povoleno tunelování/předávání X11, lepší způsob by byl
ssh -X [email protected] google-chrome
nebo
ssh -Y [email protected] google-chrome