Копирование и вставка в консоли, и почему клавиатура печатает не те символы
Графическая консоль это картинка экрана, поэтому ваш буфер обмена сам собой на ту сторону не попадает. Переход существует, и существует отдельная настройка, тихо печатающая каждый специальный символ неверно, пока вы её не найдёте.
AtlasPVE ·
Эта статья отвечает на
- proxmox novnc копировать вставить
- proxmox novnc буфер обмена
- proxmox консоль клавиатура не работает
- proxmox консоль неправильные символы
- proxmox novnc copy paste
Вы копируете длинную команду на своей машине, щёлкаете в консоли гостя, нажимаете вставку, и ничего не происходит. Или хуже: что-то происходит, и это не то, что вы копировали.
Здесь идут два разных процесса, и их постоянно путают. Один касается буфера обмена. Второй касается клавиатуры, и именно он съедает целые вечера.
Почему буфер обмена не переходит сам
Графическая консоль это картинка экрана. От вас к гостю едет не текст, а события клавиш: вы нажали эту клавишу, потом ту. Гость вообще не знает, что на вашей стороне есть буфер обмена.
Браузер к тому же не позволяет веб-странице читать ваш буфер когда ей вздумается, и это хорошее правило по очевидным причинам, которое ради удобства смягчать не станут.
Поэтому консоль даёт явный переход: панель буфера обмена. Вы вставляете текст в это поле, оно задаёт удалённый буфер, а затем внутри гостя вставляете обычным способом. Один лишний шаг, и в этом весь механизм.
Обратное направление работает так же наоборот: скопируйте внутри гостя, потом прочитайте из панели.
Настройка, которая печатает всё неверно
Вот та, что выглядит как сломанная вставка, но ею не является.
У графической консоли есть раскладка клавиатуры, и задаётся она на уровне центра обработки данных, не для каждого пользователя и не вашим браузером. Она определяет, как события клавиш толкуются для виртуальной клавиатуры виртуальной машины.
Если эта раскладка не совпадает с той, на которой вы физически печатаете, буквы проходят нормально, а всё остальное нет. Символы попадают не туда, и хуже всего достаётся именно тем знакам, что встречаются в паролях и файлах настроек.
На узле, где это проверялось, раскладка была выставлена не на английский, и для той машины это верно, а для любого, кто печатает на ней с другой физической клавиатуры, неверно.
Признак очень характерный и его стоит запомнить: буквы и цифры в порядке, знаки препинания нет. Это расхождение раскладок, а не сбой вставки и не сломанная консоль.
Почему длинные вставки всё равно портятся
Даже при работающей панели и верной раскладке очень длинный текст, вставленный в графическую консоль, остаётся хрупким. Каждый символ это искусственное событие клавиши, и загруженный гость способен часть потерять. Ошибки вы не получите; вы получите команду, в середине которой не хватает трёх символов.
Если вставляемое важно, вообще не вставляйте его нажатиями клавиш.
Что делать вместо этого, когда важно
Ключ, пароль, сертификат, длинный блок настроек. Не печатайте это через экран. Запишите файлом: гостевой агент способен положить небольшой файл в работающего гостя вовсе без сети, и канал существует именно для этого. Всё, что больше примерно 60 КБ, требует сети.
Команда оболочки, которую вы запустите снова. Положите её в файл и запустите файл. Это переживает потерянное нажатие, и команда остаётся у вас.
Целый рабочий сеанс. Возьмите текстовую консоль, если она у гостя есть, или SSH, если сеть держится. Обе работают с текстом, поэтому копирование и вставка вашего терминала ведут себя обычно и никакого перевода раскладок не происходит.
Коротко о SPICE
SPICE поддерживает настоящий общий буфер обмена между вашей машиной и гостем, при установленном внутри гостя агенте. Если вы всерьёз проводите время в графическом настольном госте, вот причина это настроить.
Для сервера, куда вы заходите дважды в месяц, это больше подготовки, чем задача того стоит.
Что делает Atlas
Atlas открывает собственную консоль Proxmox VE, поэтому поведение буфера обмена вы получаете от Proxmox, без изменений. Отдельного буфера Atlas, который надо изучать, нет, как нет и второй реализации, которой пришлось бы доверять.
Atlas меняет частоту проблемы. Большая часть вставок в консоль это не отладка, а команда, найденная кем-то, потому что у задачи не было экрана. Операции с хранилищем, изменения сети, обновления, пользователи и права: у них есть экраны, поэтому буфер обмена в дело вообще не вступает.
Консоль остаётся для случаев, где она действительно нужна, и там совет выше совпадает с тем, что дают все, потому что это механизм, а не предпочтение.
Источники
Собственная документация Proxmox. На английском, и последнее слово в этом вопросе за ней.