Налаштовуємо віртуальний компорт в Ubuntu
Зручно працювати з віртуальною машиною XPSP3 у VirtualBox'і: коли треба вмикаєш її, коли не треба – вимикаєш, все дуже швидко, і віруси міцно екрануються. Але ось знадобилося внести зміни в «виндову» програму, що налагоджується, що працює зі старими добрими компортами. І тут виявляється: не працює компорт віртуальної машини. У ЛОР немає хорошої відповіді. Все зводиться до рекомендації створення нової машини, а це час. Західні користувачі на форумах теж дають чимало порожніх порад. А насправді все не так уже й складно.
Спочатку треба встановити утиліту налаштування апаратного компорту хост-машини. Називається вона setserial, в дистрибутивах Ubuntu її немає, але вона є в репозиторіях, тому скористаємося командою терміналу:
sudo apt-get install setserial
І, звичайно, запустимо цю утиліту, щоб подивитися, чи є на материнській платі, що є і як налаштований апаратний порт господині (далі в прикладі досліджуємо COM1):
sudo setserial -g /dev/ttyS0
Врахуйте, що ttyS0 відповідає COM1, ttyS1 відповідає COM2 і т.д. згідно з термінологією Лінукса. Підставте потрібне. Після введення пароля суперкористувача в нормі має бути отримана відповідь:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
Інакше компорт відсутній або відключений на рівні BIOS хост-машини. Вимкнений порт вмикаємо. У разі відсутності на материнській платі апаратного компорту доведеться поставити «милицю» з додаткової PCI-плати розширення і додати модуль драйвера з диска, що додається до неї. Перевірено: для Лінукса драйвери раюоспроможні, але уточніть номер компорту командою терміналу, що з'явився.
У разі потреби параметри налаштування комунікаційного порту можна відкоригувати (як саме – див. термінальною командою man setserial).
Налаштовуємо промкнення віртуального COMn в апаратний COMn, тобто в файл ttySn+1. Для цього запускаємо VirtualBox, НЕ ЗАПУСКА ВІРТУАЛЬНУ МАШИНУ, і налаштовуємо параметри її компорту, як показано на цьому скріншоті:

Але якщо ви зараз спробуєте запустити віртуальну машину, то дуже ймовірно отримаєте помилку. А всього треба зробити ще дві речі.
По-перше, ви, хоч і є «головним адміністратором», не обов'язково автоматично є членом групи користувачів віртуальної машини. Дивно? Але буває часто. Втім, ця безглуздість усувається легко. Щоб не морочитися з CLI, встановіть за допомогою емулятора терміналу чудову утиліту gnome-system-tools (вона є в репозиторіях) командою
sudo apt-get install gnome-system-tools
Утиліту рекомендую для багаторазового використання, тому скопіюйте з папки /usr/share/applications значок «Користувачі та групи» на робочий стіл і запустіть цю утиліту з робочого столу. Відкриється вікно "Параметри користувачів". Натисніть кнопку «Керування групами», у вікні «Параметри груп», що відкрилося, скролінгом відшукайте групу vboxusers, виберіть її і двічі клацніть по ній. Відкриється вікно «Властивості групи vboxusers». Всередині панелі «Члени групи» позначте чекбокс навпроти свого імені, яке відображає вас як користувача системи.
По-друге, реальному порту слід присвоїти права «666», що означає дозвіл дуплексного обміну через компорт рівнях власника, членів його групи та інших користувачів. Робиться це командою
sudo chmod 666 /dev/ttyS0
Замість ttyS0 підставте позначення потрібного апаратного компорту хост-машини. Все, тепер можна сміливозапускати віртуальну машину, включати звичний «віндовий» гіпертермінал та за допомогою віртуальної Windows налаштовувати модеми, керувати програматорами тощо. Словом, робити все те, ніби ви працювали з реальною Windows XP або «сімкою». Успіхів!