Буфер обмена предоставляется X-сервером . Не имеет значения, является ли сервер автономным или нет, важно то, что ваш локальный графический сеанс доступен для программ, работающих на удаленной машине. Благодаря прозрачному для сети дизайну X это возможно.
Я предполагаю, что вы подключаетесь к удаленному серверу с SSH с компьютера под управлением Linux. Убедитесь, что переадресация X11 включена как в конфигурации клиента, так и в конфигурации сервера. В конфигурации клиента, вы должны иметь линию ForwardX11 yesв ~/.ssh/configиметь его по умолчанию, или передать параметр -Xв sshкоманде только для этой сессии. В конфигурации сервера, вы должны иметь линию X11Forwarding yesв /etc/ssh/sshd_config(он присутствует по умолчанию в Ubuntu).
Чтобы проверить , включена ли перенаправление X11, посмотрите на значения DISPLAYпеременной среды: echo $DISPLAY. Вы должны увидеть такое значение localhost:10(приложения, работающие на удаленном компьютере, должны подключиться к дисплею, работающему на том же компьютере, но это соединение дисплея фактически передается по SSH на дисплей на стороне клиента). Обратите внимание, что если DISPLAYон не установлен, устанавливать его вручную не имеет смысла: переменная окружения всегда устанавливается правильно, если переадресация включена. Если вам нужно , чтобы диагностировать проблемы соединения SSH, передать параметр , -vvvчтобы sshполучить подробный след того , что происходит.
Если вы подключаетесь с помощью других средств, вы можете или не сможете достичь перенаправления X11. Если ваш клиент работает под управлением Windows, PuTTY поддерживает пересылку X11; вам придется запустить X-сервер на компьютере с Windows, например Xming .
+1 блестящий ответ, но, как я уже говорил, этот сервер работает без x, поэтому ответ Nykakins более актуален.
Анака
@ А, боюсь, ты неправильно понял мой ответ. Удаленный дисплей не использует X-сервер, работающий на удаленном компьютере. Вам необходимо установить xclipпрограмму и поддерживающие библиотеки, но это не требует установки X-сервера.
Жиль "ТАК - перестань быть злым"
2
Просто интересно ... допустим ли этот подход при подключении клиента OSX к автономному серверу Ubuntu?
Кен
3
Это не работает для меня. Я иду с Mac -> Linux-сервер. X11Forwarding yesнаходится в sshd_config на сервере, и я прошел, -Xкогда я ssh'd на сервер. Error: Can't open display: (null)наcat ~/.ssh/id_rsa.pub | xclip -selection clipboard
Чови
1
Хорошо, я подумал, что это будет работать, так как pbcopyуже работает на моем Mac локально. Как запустить x-сервер на Mac и что мне установить $DISPLAY?
Чови
4
Сам Bash не имеет буфера обмена. Это особенность X xcliptэто просто интерфейс командной строки, и, как вы видите, это требует display. Обходной путь - просто использовать временный файл:
xclip
программу и поддерживающие библиотеки, но это не требует установки X-сервера.X11Forwarding yes
находится в sshd_config на сервере, и я прошел,-X
когда я ssh'd на сервер.Error: Can't open display: (null)
наcat ~/.ssh/id_rsa.pub | xclip -selection clipboard
pbcopy
уже работает на моем Mac локально. Как запустить x-сервер на Mac и что мне установить$DISPLAY
?Сам Bash не имеет буфера обмена. Это особенность X
xclipt
это просто интерфейс командной строки, и, как вы видите, это требуетdisplay
. Обходной путь - просто использовать временный файл:источник