2

На рабочем столе Ubuntu, как я могу (войдя в систему как root) вызвать gnome-терминал, чтобы открыть окно терминала внутри другого сеанса пользователя и выполнить некоторые команды / сценарии.

Цель состоит в том, чтобы иметь возможность открывать процессы с большой нагрузкой на другом пользовательском терминале и держать его открытым, чтобы предложить пользователю взаимодействие с ним.

Метод "DISPLAY экспорта" у меня не сработал. Есть ли другой способ решить эту проблему?

1 ответ1

2

Попробуйте установить как DISPLAY, так и XAUTHORITY. Вы должны иметь разрешение для владельцев.Xauthority файл и знать, какой дисплей он использует.

export DISPLAY=':0'
export XAUTHORITY=/home/<owner_of_display>/.Xauthority

Измените:0, чтобы исправить, но обычно это 0, когда есть только один пользователь. Если у вас есть root-доступ, это должно сработать:

root@host:~# sudo su - <username>
username@host:~$ export DISPLAY=':0'
username@host:~$ export XAUTHORITY=$HOME/.Xauthority
username@host:~$ gnome-terminal -x sh -c '<command>; exec bash'

Последняя строка о запуске нового gnome-терминала и выполнении команды, которую вы хотите. Для меня было несколько новых вещей, которые могут не сработать так просто.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .