Менеджер обновлений обрабатывает это для вас, вам не нужно ничего делать.
Там, где это становится проблематичным, люди начинают добавлять сторонние приложения. Усовершенствование делает все возможное, чтобы справиться, отключив PPA при обновлениях и т. Д., Но вы должны быть добрым!
Программе X требуется две части информации для подключения к X-дисплею.
Ему нужен адрес дисплея, который обычно :0, когда вы вошли в систему локально или [ f4], :11 и т. д., когда вы вошли в систему удаленно (но число может меняться в зависимости от количества подключений X). Адрес дисплея обычно указывается в переменной среды DISPLAY. Ему нужен пароль для отображения. X-пароли имен называются волшебными куки-файлами. Магические файлы cookie не указываются напрямую: они всегда хранятся в файлах полномочий X, которые представляют собой коллекцию записей формы «display :42 имеет cookie 123456». Файл полномочий X обычно указывается в переменной среды XAUTHORITY. Если $XAUTHORITY не установлен, программы используют ~/.Xauthority.Вы пытаетесь воздействовать на окна, которые отображаются на вашем рабочем столе. Если вы единственный человек, использующий ваш настольный компьютер, очень вероятно, что отображаемое имя будет :0. Поиск местоположения файла полномочий X сложнее, потому что с gdm, настроенным под сжатием Debian или Ubuntu 10.04, он находится в файле со случайно сгенерированным именем. (У вас не было проблем, потому что более ранние версии gdm использовали настройку по умолчанию, то есть файлы cookie, хранящиеся в ~/.Xauthority.)
Если это одноразовый, вы можете обнаружить значения DISPLAY и XAUTHORITY из текущего процесса. Это неудобно автоматизировать. Вы должны определить PID процесса, который подключен к дисплею, над которым вы хотите работать, затем получить переменные среды из /proc/$pid/environ (eval export $(</proc/$pid/environ tr \\0 \\n | grep -E '^(DISPLAY|XAUTHORITY)=')).
Долгосрочное автоматическое решение является копирование файлов cookie при входе в сеанс X вашего рабочего стола. Добавьте следующие строки в ~/.profile (или какой-либо другой скрипт, который читается при входе в систему):
case $DISPLAY:$XAUTHORITY in
:*:?*)
# DISPLAY is set and points to a local display, and XAUTHORITY is
# set, so merge the contents of `$XAUTHORITY` into ~/.Xauthority.
XAUTHORITY=~/.Xauthority xauth merge "$XAUTHORITY";;
esac
Затем вы можете запускать программы на вашем удаленном X-дисплее просто установкой DISPLAY: [ ! d10]
ssh foo.example.com 'DISPLAY=:0 restart teamviewer'
Этот ответ адаптирован из более полного ответа на аналогичный вопрос об Unix Stack Exchange.
Вероятно, самый простой способ - дистанционно (через SSH) запустить vncserver на соответствующем дисплее. После этого используйте SSH-туннелирование для подключения клиента vnc с удаленного компьютера через соединение SSH с сервером VNC.
Вероятно, самый простой способ - дистанционно (через SSH) запустить vncserver на соответствующем дисплее. После этого используйте SSH-туннелирование для подключения клиента vnc с удаленного компьютера через соединение SSH с сервером VNC.
Вероятно, самый простой способ - дистанционно (через SSH) запустить vncserver на соответствующем дисплее. После этого используйте SSH-туннелирование для подключения клиента vnc с удаленного компьютера через соединение SSH с сервером VNC.