LINUX.ORG.RU

Кто-нибудь смог соединить CygWin X11 буфер обмена и буфер обмена Windows?

 , , ,


0

2

В пакетах поставки CygWin есть утилита xsel. Хотелось бы увидеть интеграцию буфера обмена Windows и CygWin.

Например, хочу в консоли CygWin положить в буфер обмена что-нибудь, и обнаружить это в буфере обмена Windows:

echo abc | xsel -i

Но мне в ответ:
xsel: Can't open display: (null)
: No error

Или хочу увидеть вывод содержимого буфера обмена в консоли CygWin:
xsel -o

А мне опять в ответ:
xsel: Can't open display: (null)
: No error

Может быть, надо как-то где-то прописать какую-то опцию, чтобы интегрировать буферы обмена друг в друга? Или хоты бы узнать, как в cygwin называются дисплеи, если они есть (сам X-сервер не ставил).

★★★★★

(сам X-сервер не ставил

А если ты не запустил X-сервер, то как ты хочешь запускать иксовые программы?

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Насколько я понял, X-сервер и буфер обмена X-сервера - это разные вещи. И даже такие программы как xclip и xsel за собой не тянут установку X-сервера.

Я надеялся что в CygWin сам виндовый десктоп подсовывается как дисплей.

Поэтому и надеялся что через тот же xsel можно работать с буфером обмена винды.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Запусти Х сервер и проверь догадку.

Ygor ★★★★★
()
Ответ на: комментарий от Xintrea

X-сервер и буфер обмена X-сервера - это разные вещи.

Это верно, но не так, как ты понимаешь.

Буфер обмена (Clipboard и Primary) — это не карман, в которой реально помещаются данные. Когда ты в одном приложении выделяешь текст, это приложение посылает X-серверу сообщение, в котором говорится: «у меня есть Primary selection». Самого содержимого там нет. Когда ты в приложении копируешь что-то, приложение посылает X-серверу сообщение, в котором говорится: «у меня есть Clipboard selection». Содержимого там опять-таки нет.

Пересылка данных случается, когда ты пытаешься вставить то, что скопировал ранее, в другой программе. Тогда это приложение спрашивает X-сервер: «у кого selection?» X-сервер отвечает, у кого, у какого окна. После этого приложение спрашивает первое напрямую, а то ему пересылает запрошенное содержимое selection (clipboard или primary).

Вот так работает буфер обмена в X11. Именно из-за этого закрытое приложение «забирает» с собой содержимое буфера обмена. Чтобы такого не было, используют отдельные приложения, которые каждый раз, как кто-нибудь объявит, что у него есть selection, выкачивает содержимое selection к себе и объявляет себя владельцем.

И даже такие программы как xclip и xsel за собой не тянут установку X-сервера.

Примерно как наличие Internet Explorer на компьютере не означает, что этот компьютер имеет доступ в интернет.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.