Zastanawiałem się, czy można uruchomić maszynę wirtualną Ubuntu za pomocą VirtualBox w tle, bez otwartego okna.
Chodzi o połączenie przez SSH z hostem Linux, który działałby w tle.
Czy ktoś kiedykolwiek zrobił coś takiego? Czy to możliwe?
Zastanawiałem się, czy można uruchomić maszynę wirtualną Ubuntu za pomocą VirtualBox w tle, bez otwartego okna.
Chodzi o połączenie przez SSH z hostem Linux, który działałby w tle.
Czy ktoś kiedykolwiek zrobił coś takiego? Czy to możliwe?
Odpowiedzi:
VBoxManage startvm $VM --type headless
uruchomi określoną maszynę wirtualną w tle.
Aby go zamknąć, poproś gościa o wyłączenie.
Jest to wbudowane w VirtualBox 4.2.
Po prostu przytrzymaj klawisz Shift podczas uruchamiania maszyny wirtualnej z poziomu Menedżera.
https://blogs.oracle.com/fatbloke/entry/what_s_new_in_oracle
Absolutnie! Szukasz bezgłowej instalacji (Virtualbox). Sposób uruchomienia maszyny z wiersza poleceń jest podobny do:
VBoxHeadless --startvm Debian --vrdp=off
Będziesz jednak potrzebować sposobu na połączenie. To co robię, to mapowanie portów między gościem a hostem. W tej konfiguracji port hosta 2222 zostanie zmapowany na port 22 komputera-gościa.
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
Następnie możesz zalogować się za pomocą:
ssh localhost -p2222
alternatywą VBoxManage startvm "{VMName}" --type headless
jest
VBoxHeadless -startvm "{VMName}"
Zabawne, że właśnie skończyłem wymyślać, jak uruchomić maszynę wirtualną bezgłową przez RDP.
Uwaga - przynajmniej w systemie Windows zablokuje okno poleceń. Jeśli musisz nadal korzystać z okna konsoli, otwórz kolejne, aby uruchomić maszynę wirtualną.
Aby zamknąć maszynę wirtualną, należy poprosić system operacyjny gościa o zamknięcie. VBoxHeadless
zwalnia konsolę, gdy gość jest całkowicie zamknięty (możesz Ctrl+C
, ale myślę, że może to być analogiczny do twardego resetu na prawdziwej maszynie).
Używam VBoxTool ze strony http://vboxtool.sourceforge.net/ i działa dla mnie idealnie. Może automatycznie uruchamiać maszyny wirtualne podczas rozruchu oraz zatrzymywać / zapisywać maszyny wirtualne podczas zamykania i zapewnia prosty czysty interfejs wiersza poleceń.
Nie sądzę, aby tryb płynny był dokładnie tym, czego on tutaj szuka, myślę, że właściwą rzeczą byłoby VBoxHeadless, które szczegóły można znaleźć w instrukcji. Działa przy użyciu interfejsu wiersza polecenia i byłby używany na przykład, jeśli na serwerze działała maszyna wirtualna, ale serwer nie potrzebował wyświetlania. Będziesz mógł zdalnie uruchomić pulpit na maszynę (pod warunkiem, że wiesz, jak ustawić tę opcję za pomocą wiersza poleceń).
Polecam zadawanie tego pytania na forach virtualbox. Właściwie najpierw wykonaj wyszukiwanie, ponieważ oczekuję, że zostało to już zadane.
Przepraszam, VBoxManage było właściwą rzeczą. Połącz informacje w instrukcji http://www.virtualbox.org/manual/ch08.html
Odkryłem, że tryb bezgłowy wydaje się działać dobrze w tle w Linuksie (CentOS 5.6), ale tracisz dostęp do funkcji RDP, dopóki proces jest w tle. Wykonaj „fg”, aby przywrócić proces na pierwszy plan, a funkcja RDP zostanie przywrócona. Wygląda na to, że uruchomienie bezgłowego vm najlepiej jest wykonać za pomocą skryptu init, w którym interakcja z konsolą nie jest wymagana.
Możesz użyć VBoxHeadless lub (i zastanawiam się, dlaczego nikt wcześniej o tym nie wspominał) możesz po prostu wybrać jedną z opcji uruchamiania, która uruchomi maszynę wirtualną bez żadnego GUI.
Przytrzymaj klawisz Shift i uruchom maszynę lub kliknij maszynę prawym przyciskiem myszy i wyszukaj coś takiego jak „Uruchom bez danych wyjściowych” w pozycji „Uruchom”
Dodałem te linie do mojego .bashrc:
VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'
Aby uzyskać dostęp do ssh, nie musisz zmieniać konfiguracji, po prostu zachowaj NAT i możesz skonfigurować tabelę przekierowania portów w następujący sposób:
Name | Protocol | Host Port | Guest Port
guestssh | TCP | 2222 | 22
localhost | TCP | 8080 | 80
Po wstawieniu localhost: 8080 do przeglądarki komputera strona z VM (na porcie 80) zostanie otwarta.
Jeśli maszyna wirtualna jest uruchomiona, a ekran się wyświetla, możesz ją ukryć, wykonując następujące kroki.