Перейти к содержимому

Как вставить текст в виртуальную машину linux

  • автор:

Копирование файлов и буфера обмена с хостовой машины на виртуальную

Есть у меня хостовая ОС Debian, на котрой установлен virt-manager для запуска виртуальных машин. В виртуальной среде запускаю разные линукс дистры для разных задач и заметил такую вещь, что когда я просто перетягиваю мышкой файлы с хостовой ОС в виртуальную машину (тоесть например с рабочего стола хостовой машины в окно где находится виртуальная ОС) то файлы либо копируются либо нет, зависит от дистрибутива в виртуальной среде. То же самое происходит и с буфером обмена, его либо видит виртуальная машина, либо нет. К примеру поставил сейчас на виртуалку Trisquel и мне нужно на нее «перетягивать» тоесть копировать файлы с хостовой машины и иметь возможность на хостовой ОС скопировать текст, а затем в виртуальной Trisquel вставить этот текст, но я этого сделать именно в Trisquel не могу, но вот в некоторых других виртуальных ОС это делается всегда сразу же после установки. Подскажите, почему копирование на разных дистрибутивах либо возможно либо не возможно? Возможно ли взять и самому настроить возможность копирования файлов и буфера обмена с хостовой ОС на виртуальную Trisquel? Если да то как именно?

MRX256 ★
09.08.21 13:09:00 MSK

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.051 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Ubuntu server 16.04 не работает копирование и вставка из windows

введите сюда описание изображения

Прочитав справку я нашел это: однако, ничего не получается,т.е копирую текст в браузере windows перемещаю курсор в виртуальную машину vmvare и пытаюсь вставить всеми этими комбинациями и ничего/ Я новичок,сильно не пинайте)

Отслеживать
4,205 3 3 золотых знака 19 19 серебряных знаков 41 41 бронзовый знак
задан 14 сен 2016 в 8:40
1,019 8 8 серебряных знаков 19 19 бронзовых знаков

В VirtualBox в настройке конкретной виртуалки есть опция включения и выключения общего буфера обмена. По-умолчанию она выключена. Может у тебя в вмваре тоже выключена? guest tools (virtual drivers) стоят в гостевой машине?

14 сен 2016 в 21:38
Прочитал внимательнее. А в tty вообще подобное должно работать?
14 сен 2016 в 21:41

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Установи SSH в Ubuntu и подключайся через putty с Windows.

  1. Установить SSH sudo apt-get install ssh
  2. Настроить сеть на виртуалке: в настройках виртуальной машины в сетевых адаптерах выбрать мост через ваш физический сетевой адаптер, для того чтобы Ubuntu была в той же подсети что и Windows.

подключение по SSH

Копируй и вставляй через Ctrl+C/Ctrl+V сколько душе угодно.

Отслеживать
ответ дан 1 дек 2016 в 6:10
51 7 7 бронзовых знаков

  • windows
  • ubuntu
  • vmware
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Общий буфер обмена для Windows/Linux систем, с активацией по требованию

image

Виртуальные машины плотно вошли в мое рабочее окружение, VMware, VirtualBox, Hyper-V и RDP. Наличие поддержки у них общего буфера обмена — это удобная возможность обмена данными между системами. Но есть и ряд минусов:

  • Автоматическая синхронизация буфера обмена далеко не безопасна, можно случайно «засветить» чувствительные данные в другой системе.
  • Проблема передачи данных между двумя виртуальными машинами, приходится пользоваться хостовой машиной, как мост с промежуточным этапом вставки-копирования данных.
  • В Hyper-V, работа с буфером обмена для виртуалок с Linux, «из коробки» поддерживается пока только для Ubuntu.

Визуально приложение — это небольшое окно, которое всегда поверх других окон. Окно можно расположить в любом удобном месте рабочего стола. После клика на окне приложения и нажатием клавиш Ctrl+V, или «Paste» в контекстном меню, можно отправить содержимое буфера обмена в другую систему, где запущено такое же приложение.

В принципе, больших проблем создание приложения не вызвало. Нюансы возникли при работе с буфером обмена, так как форматы данных различаются для Windows и для Linux, хотя это было в целом ожидаемым. Форматы разделил на две группы, текст\графика и файлы. Поддерживать аудио не стал, так как пока не сталкивался с этим форматом, но архитектура программы позволяет добавить поддержку при необходимости. У каждой из групп форматов есть свой список конвертеров для сериализации\десериализации данных. Честно говоря, соответствие форматов для текста и графики между Windows и Linux подбирал опытным путем, найти какие-либо готовые таблицы соответствия не смог. На текущий момент корректно переносятся данные между системами, Windows10/11, Linux Ubuntu (18-22) и Linux Mint (20-21).

Копирование-вставка файлов осуществляется через временную папку, т.е. файлы передаются и сохраняются на принимающей стороне в папке tmp/ShareClipbrd_60D54950, затем уже эти файлы копируется в локальный буфер обмена, и вставка файлов происходит из этой папки. Содержимое временной папки не очищается автоматически, только замещается новыми файлами\папками при последующих операциях копирования-вставки.

Сами данные передаются по TCP/IP соединению. В настройках, контекстное меню с настройками вызывается правым кликом, в поле «Host address» необходимо указать сетевой адрес хоста, с указанием номера порта, например «WIN-U2EPЕ64NN1:61002». В поле «Partner address» указывается, соответственно сетевой адрес партнерской системы, также с указанием номера порта, например «linux-sandbox-01:61002».

Для систем, в которых не используются доменные имена и IP-адреса выделяются динамически, был добавлен сервис mDNS. С помощью этого сервиса обе части приложения автоматически определяют свои адреса в локальной сети. Этот сервис включается при указании специальной строки в поле адресов. Строка должна начинаться с префикса «mdns:», затем идет цифро-буквенный идентификатор, например «mdns:win10_linux». Если необходимо для Firewall использовать конкретный номер порта, то его можно указать после идентификатора через двоеточие, например «mdns:win10_linux:61002». Для поля «Partner address» соответственно указывается префикс «mdns:» и идентификатор партнера, номер порта вводить не нужно.

Пример сетевых настроек.

image

Чтобы быстро переключаться между системами, имеются 3 профиля сетевых настроек, переход на другой профиль инициирует соединение в соответствии с настройками этого профиля. Для удобства проверки статуса соединения, на окне приложения есть пара круглых индикаторов, один показывает соединение к партнеру, а второй наоборот от партнера.

Код проекта открытый и расположен на Github. Готовые exe-шники для Windows и Linux есть тут.

UPD! забыл напомнить, что для запуска необходимо наличие установленного .NET Runtime 7.

  • виртуальная машина
  • hyper-v
  • virtualbox
  • vmware
  • кроссплатформенная разработка
  • буфер обмена

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *