Использование sudo немного усложняет ситуацию и потребует нескольких дополнительных шагов.
Если вы настроили ваш /etc /ssh /sshd_config, как уже упоминали другие
X11Forwarding yes
тогда ssh'n в коробку как user2 через
$ ssh -YC remote.example.com
Вы должны иметь возможность запускать удаленные приложения X от имени пользователя user2. Простой способ проверить это на многих системах на основе X - запустить
$ xlogo
Это очень легкий по сравнению с чем-то вроде Firefox, хотя Firefox будет работать также.
Если вы уверены, что X работает через ваше удаленное ssh-соединение как user2, мы можем заставить его работать с sudo для user1. Проблема в том, что когда вы выполняете sudo для user1, вы теряете полномочия на использование удаленной переадресации X. Чтобы обойти это, сначала как user2 выполните следующее после входа в систему
$ echo $DISPLAY
localhost:17.0
$ xauth list
<snip>
carlisle/unix:17 MIT-MAGIC-COOKIE-1 161bda5fc81200a4e74e578009177fb8
Вы должны увидеть строку, которая содержит тот же номер дисплея, в моем примере это 17. Вы хотите найти соответствующий номер в выводе списка xauth. Затем выполните sudo для user1 и выполните команду xauth add, чтобы добавить строку аутентификации, соответствующую приведенному выше.
$ sudo su - user1
$ xauth add carlisle/unix:17 MIT-MAGIC-COOKIE-1 161bda5fc81200a4e74e578009177fb8
Теперь вы сможете запускать любое приложение, которое захотите.
$ xlogo # or any X app such as firefox
Если вы получаете сообщение о невозможности заблокировать ~ user2/.Xauthority вам нужно будет настроить права доступа к этому файлу, прежде чем использовать sudo для переключения на user1. Это не совсем безопасно, но вы можете установить права доступа к файлу chmod 666 для этого файла для тестирования.