Если подключиться по SSH к консоли удаленной LInux-машины под пользователем root, или под каким-нибудь обычным пользователем и переключиться в консоли на пользователя root через команду "su -", то имеется возможность запустить графичекую GUI-программу для любого не-root пользователя, который залогинился в сеанс сервера X11.
Для этого можно, находясь под root, выполнить команду:
sudo -u myuser sh -c "export DISPLAY=:0.0 ; /usr/bin/ourGuiProgram"
Где:
- myuser - это пользователь, который залогинен в графическую среду X11.
- ourGuiProgram - какая-то Gui-программа, которыую надо запустить.
Примечательно то, что из-за того, что команда sudo выполняется из-под root, то она не потребует ввода пароля пользователя, и просто выполнится.
Следует учитывать, что команда sudo может выполнить только одну команду. Поэтому, чтобы сработало несколько последовательных команд, разделенных ";" надо под sudo запустить шелл sh, и уже в нем запускать нужную последовательность команд. Именно это и происходит в показанно выше команде. Опция -c принадлежит программе шелла sh, а не команде sudo.