Есть kdesudo
, gsudo
и некоторые другие sudo
, которые решают эту проблему.
Вот один из них, который я взломал вместе (без аудита/проверки безопасности ).
#/bin/bash
inner() {
su - "$user" -c "xauth list" |
grep "$(echo "$display" |
cut -d ':' -f 2 |
cut -d '.' -f 1 |
sed -e s/^/:/ ) " |
xargs -n 3 xauth add &&
"$@"
}
if [ "$1" = "---innermode" ]
then
shift
user="$1"
display="$2"
shift 2
inner "$@"
else
self="$0"
sudo "${self}" ---innermode "$USER" "$DISPLAY" "$@"
fi