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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как автоматически запустить виртуальные машины VMware при старте UBUNTU 12.04 LT  (Прочитано 8901 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
В качестве хоста стоит Ubuntu 12.04 LTS с установленным графическим интерфейсом. Есть две виртуальные машины с именами vmPDC и vmTS. Они работают в VMware Player 5.0.
Обычно я их запускаю так:
1) Вхожу как пользователь с именем usr1cv82
2) запускаю терминал.
3) sudo bash и ввожу пароль
4) /etc/init.d/vmPDC start
5) /etc/init.d/vmTS start
Далее выхожу из терминала и переключаюсь на другого пользователя ubuntu
Выключаю компьютер в обратной последовательности.
Как сделать, чтобы виртуальные машины стартовали автоматически при включени хоста UBUNTU? Ну и выключались корректно при выключении физического компьютера? vmPDC и vmTS - это скрипты.

#!/bin/bash
#------------------------------------------------------------
# starts ragent
#------------------------------------------------------------
function start() {

    vmrun -T player start "/disk2/vm/Windows Server 2008 x64/Windows Server 2008 x64.vmx"
    return
}
#------------------------------------------------------------
# stops ragent
#------------------------------------------------------------
function stop() {
   
    vmrun -T player stop "/disk2/vm/Windows Server 2008 x64/Windows Server 2008 x64.vmx" soft
    return
}
#------------------------------------------------------------
# script's main function
#------------------------------------------------------------
function main() {

    local action=

    case $1 in
   start)
       action=start
       ;;
   stop)
       action=stop
       ;;
   *)
       return 1;
       ;;
    esac

    $action
}

#invoke function main
main $*

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Воспользовался командой update-rc.d. В папку /etc/rc2.d добавилась соответстующая ссылка. Но при включении компьютера виртуальная машина не стартует. В чем дело? Чего не хватает?
 
root@u:~# update-rc.d vmPDC start 55 2 .
update-rc.d: warning: /etc/init.d/vmPDC missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/vmPDC ...
   /etc/rc2.d/S55vmPDC -> ../init.d/vmPDC
root@u:~# ls /etc/rc2.d
K08vmware-USBArbitrator  S02acpi-support  S23aksusbd
README                   S03grub-common   S23ntp
S01dns-clean             S03ondemand      S30srv1cv82
S01kerneloops            S03rc.local      S41apcupsd
S01pppd-dns              S19vmware        S50vmware-USBArbitrator
S01pulseaudio            S20haspd         S55vmPDC
S01rsync                 S20postgresql    S75sudo
S01saned                 S20winbind
S01speech-dispatcher     S20yum-updatesd
root@u:~#

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля
порядок загрузки сервисов имеет значение (не может быть например раньше сети)

попробуй параметр defaults вместо ручного указания уровней

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Думаю, что дело не в порядке загрузки сервисов. Порядок загрузки, на мой взгляд поставил правильно - после загрузки всех демонов VMWare. Опция defaults помогает, когда есть LSB - информация, которая в данном случае отсутсвует. Мне кажется проблема в том, что виртуальная машина - это не сервис, это прикладная программа, которая должна запускаться от имени конкретного пользователя. И когда выполняются скрипты в /etc/rc2.d графическая оболочка еще скорее всего не загружена.

Оффлайн OldSamuray

  • Активист
  • *
  • Сообщений: 841
    • Просмотр профиля
у vmrun есть опция для запуска в фоне? (headless в терминах VirtualBox)

Пользователь решил продолжить мысль 26 Сентября 2013, 15:33:14:
попробуй добавить nogui
« Последнее редактирование: 26 Сентября 2013, 15:33:14 от OldSamuray »
Посмотрел чужие костыли — не понравились — сделал свои, родные

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля
Что за извращения? Почему vmware player для данной задачи? У него и headless нет.
Если уж так и тянет, то извращайся с автологином пользователя и пользовательским автозапуском.
« Последнее редактирование: 26 Сентября 2013, 16:29:41 от soarin »

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
1) nogui в данном случае применять нельзя. Т.к. виртуальные машины для своей работы требуют графической оболочки.
2) vmrun после того, как отработает загрузку BIOS в виртуальной машине, далее управление возвращает операционной системе хоста и дальше виртуальная машина живет своей независимой жизнью. Т.е. выполняется в фоновом режиме, поэтому и headless (или его аналог) не нужен.
3) Чем вам не нравится VMware player? От vmware workstation отказались по причине большой стоиомсти лицензии, тем более что дополнительные возможности wmware workstation все равно не используются в данном конкретном случае. От ESX и ESXI тоже отказались, т.к. рядом с сервером пришлось бы поставить еще один компьютер для работы в виртуальных машинах. Тот компьютер о котором сейчас идет речь, помимо хоста/сервера для виртуальных машин, он еще выполняет функцию рабочего места администратора.
4) Как сделать автологин пользователя и пользовательский автозапуск?

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля
Чем вам не нравится VMware player? От vmware workstation отказались по причине большой стоиомсти лицензии
А ты в курсе, что VMware player небесплатный для недомашнего/коммерческого использования? :)
Да он и по ориентации - гуевая десктопина.
« Последнее редактирование: 27 Сентября 2013, 12:01:12 от soarin »

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Soarin, мне кажется, что предложение "с автологином пользователя и пользовательским автозапуском" правильное.
Как это сделать?

Оффлайн OldSamuray

  • Активист
  • *
  • Сообщений: 841
    • Просмотр профиля
Цитировать
Есть две виртуальные машины с именами vmPDC и vmTS
Для самообразования спрошу. Зачем контроллеру домена и терминальному серверу видимое на десктопе окно?

Автологин 12.04 включается в традиционном месте: Системные параметры - Пользователи
Автостарт пользовательских программ лежит в ~/.config/autostart
Посмотрел чужие костыли — не понравились — сделал свои, родные

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Про автологин пользователя понятно.
А вот каталог (или файл ?)  ~/.config/autostart отсутствует в профиле пользователя.
Можно конечно его самому создать, но для этого нужно описание формата.Где об этом можно прочитать?

Оффлайн OldSamuray

  • Активист
  • *
  • Сообщений: 841
    • Просмотр профиля
Проще всего запустить gnome-session-properties и создать новый пунктик, а потом можно его редактировать. Создается обычный .desktop-файл
Посмотрел чужие костыли — не понравились — сделал свои, родные

Оффлайн svn

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Автологин сделал и в ~/.config/autostart файлы .desktop добавил. Теперь виртуальные машины запускаются.

Возникла другая проблема: как корректно завершить работу виртуальных машин, например, при завершении сеанса пользователя или выключения комьпютера?

"Корректно" в данном случае означает, что при завершении сеанса пользователя должна выполняться команда "/etc/init.d/vmPDC stop".
В каталог /etc/rc0.d или /etc/rc6.d добавлять ссылку бесполезно. Т.к. скрипты в этих каталогах выполняются после завершения сеанса. А при завершении сеанса экземпляры vmware Player просто убиваются, в результате гостевая ОС при зазрузке ругается, что ее выполнение завершили некорректно. Куда вставить команду "/etc/init.d/vmPDC stop" чтобы она выполнялась при завершении сеанса?

Оффлайн OldSamuray

  • Активист
  • *
  • Сообщений: 841
    • Просмотр профиля
Посмотрел чужие костыли — не понравились — сделал свои, родные

 

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