Альтернатива xsel или xclip *без* X11 установлена?

То, когда я использую шпаклевку от поля Windows до Linux (без установленного X11), является там альтернативой xsel или xclip? xclip/xsel нужен X11. Я хотел бы передать полный вывод команды оболочки по каналу к буферу обмена, который я затем вставляю на поле Windows к приложению. Я хотел бы не должным быть установить все зависимости X11 xsel и потребность xclip на тех серверах Linux. Действительно ли это возможно? Dan

8
задан 21 January 2019 в 05:59

4 ответа

Сам буфер обмена является функцией X11, таким образом, Вы не сможете использовать его, не имея никакого экземпляра сервера X11, работающего нигде. Больше об этом ниже.

Однако xclip/xsel не имейте сервера X11 как зависимости, им только нужны некоторые клиентские установленные библиотеки. Необходимо установить xsel хотя, если Вы хотите иметь как можно меньше пакетов, поскольку это имеет значительно меньше зависимостей, чем xclip (сравните вывод apt depends --recurse --important xsel и apt depends --recurse --important xclip).

Назад к серверу X11. Вы сказали, что не хотите устанавливать полную графическую стопку сервера X11 на своем бездисплейном сервере Ubuntu, который не необходим. Это требует, чтобы у Вас был сервер X11, работающий на Вашем локальном клиенте вместо этого, хотя, если Вы хотите использовать его функции как буфер обмена.

На настольном клиенте Linux это не проблема, поскольку у Вас уже есть X11, работающий там обычно, но в Windows Вы не делаете. К счастью, кажется, существует небольшая серверная версия X11 для Windows также, названа Xming.

После того как у Вас есть то выполнение и настроенный, необходимо смочь передать локальную сессию X11 через SSH (использующий PuTTY) к бездисплейному серверу. Там можно затем использовать, например. xsel взаимодействовать с ним и получить доступ к Вашему локальному буферу обмена.

Больше деталей о том, как создать Xming, PuTTY и сервер SSH для передачи X11, может быть найдено в этих сообщениях:

7
ответ дан 23 November 2019 в 05:40

Если использование измененного PuTTY является опцией Вам, Вы могли бы хотеть посмотреть на этот патч к PuTTY, который добавляет пользовательские escape-последовательности для копирования в и вставка от буфера обмена Windows. Это также поставляет маленькое winclip сценарий оболочки, который может использоваться для доступа к буферу обмена Windows от целевого хоста Linux/Unix.

Патч для PuTTY 0.53b (более чем десять лет), существует переоснова к PuTTY 0.60 здесь, но это - все еще старая версия. Вам, возможно, понадобилась бы некоторая работа для адаптации его к последнему PuTTY (0.70 во время этой записи), но это могло бы просто применяться без любых изменений, так как кодовая база PuTTY была главным образом стабильна в этой точке. Таким образом, возможно, это могло бы быть полезно для Вас.

Патч вряд ли будет принят к официальному PuTTY, так как escape-последовательности являются пользовательскими и не действительно часть любых стандартов, поэтому вряд ли, чтобы официально поддерживаться PuTTY в ее официальном распределении.

1
ответ дан 23 November 2019 в 05:40

script регистрирует целый диалог

Скомпилированная программа script программа в пакете bsdutils в репозитории, 'основном' в Ubuntu. Это сохраняет целый диалог на текстовом экране, окне терминала или удаленном соединении. Можно работать script в Вашем сервере.

Имя по умолчанию файла журнала typescript в каталоге, где Вы запускаете script, но можно выбрать другое имя, если Вы запускаете script с параметром (искажают аргумент),

script my-script.log

Демонстрационный пример

Запустить script и выполненный некоторые команды:

sudodus@bionic64 ~/test $ LANG=C script my-script.log
Script started, file is my-script.log
sudodus@bionic64 ~/test $ echo 'Hello World'
Hello World
sudodus@bionic64 ~/test $ pwd
/home/sudodus/test
sudodus@bionic64 ~/test $ ls
my-script.log
sudodus@bionic64 ~/test $ exit
exit
Script done, file is my-script.log

Проверьте файл журнала:

sudodus@bionic64 ~/test $ cat my-script.log 
Script started on 2019-01-21 19:50:22+0100
sudodus@bionic64 ~/test $ echo 'Hello World'
Hello World
sudodus@bionic64 ~/test $ pwd
/home/sudodus/test
sudodus@bionic64 ~/test $ ls
my-script.log
sudodus@bionic64 ~/test $ exit
exit

Script done on 2019-01-21 19:50:52+0100
sudodus@bionic64 ~/test $ 
1
ответ дан 23 November 2019 в 05:40

PuTTY на стороне Windows позволяет копировать находящий на экране текст через набор ярлыков. Если производство команды является слишком крупносерийным, рассмотреть использование nc на сервере Ubuntu и ncat на клиенте Windows (доступный из nmap.org).

На Ubuntu выполниться

$ command > output.txt
# port 1234 is just an example, you can use your own port of choice
$ nc -N -l 1234 < output.txt

В Windows использовать ncat:

PS C:\Users\Admin> & 'C:\Program Files (x86)\Nmap\ncat.exe' <ip of the server> 1234 --output foo.txt

Вывод экономил на сервере, будет передан в foo.txt на клиенте.

0
ответ дан 23 November 2019 в 05:40

Другие вопросы по тегам:

Похожие вопросы: