창없이 백그라운드에서 VirtualBox를 실행 하시겠습니까?


106

창을 열지 않고 백그라운드에서 VirtualBox를 사용하여 Ubuntu 가상 머신을 실행할 수 있는지 궁금합니다.

아이디어는 SSH를 통해 백그라운드에서 실행되는 Linux 호스트에 연결하는 것입니다.

누구든지 이런 일을 한 적이 있습니까? 가능합니까?


SSH를 통해 리눅스 게스트에 연결하는 것을 의미 합니까? 실제로 터미널에서 게스트를 실행하는 QEMU로이 작업을 매우 쉽게 수행 할 수 있습니다.
Felix

따라서 SSH 구성에 관심이있을 수 있습니다 : superuser.com/questions/424083/virtualbox-host-ssh-to-guest
Fabricio PH


1
이 질문이 원래 질문으로 더 잘 다루어 질 때 열린 채로 두십시오. 다른 질문에 대해서는 중복 된 것으로 마감했다.
bwDraco

@DragonLord에 완전히 동의 하십시오 . 다른 질문으로 이동 하여이 질문에 대한 속임수로 닫으려면 여기클릭하십시오 .
Raystafarian

답변:


92

VBoxManage startvm $VM --type headless 지정된 가상 머신을 백그라운드에서 시작합니다.

종료하려면 게스트에게 종료를 요청하십시오.


네트워킹을 올바르게 설정 한 경우에만 시스템에 SSH를 연결할 수 있습니다. VM과 컴퓨터가 동일한 네트워크에 있도록 브리지를 사용해야한다고 생각합니다. 또한 VirtualBox는 대상 OS의 GUI를 계속 실행하며 원격 데스크톱 "rdesktop"(우분투에 있기 때문에 apt에서 가져옴)을 통해 연결할 수 있습니다.
basszero

1
참된. VM을 VirtualBox GUI를 통해 일반적으로 먼저 실행하여 VM을 설치 및 구성한다고 가정합니다. 네트워킹을 포함한 모든 것이 작동하면 VBoxManage 만 사용하십시오.
developmentalinsanity

다른 VM 소프트웨어를 사용하면 창을 닫을 수 있으므로 항상 열려 있지는 않지만 백그라운드에서 계속 실행되도록 할 수는 있지만 창과 인터페이스하려는 경우 창을 열 수 있습니다. 이것이 무엇입니까?
JFA

위의 명령으로 프로세스를 셸에 연결하는 것처럼 보이기 때문에 -X 또는 -Y가없는 시스템으로 ssh를 보내야합니다. 따라서 종료하면 VM이 중단됩니다.
moritz


23

물론! 헤드리스 설치 (Virtualbox)를 찾고 있습니다. 명령 행에서 기계를 시작하는 방법은 다음과 같습니다.

VBoxHeadless --startvm Debian --vrdp=off

그러나 연결 방법이 필요합니다. 내가하는 일은 게스트와 호스트 사이의 포트를 매핑하는 것입니다. 이 구성을 사용하면 호스트 2222 포트가 게스트 컴퓨터의 포트 22에 매핑됩니다.

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  

그 후 다음과 같이 로그인 할 수 있습니다.

ssh localhost -p2222

vm은 ssh 연결을 듣고 있어야합니다. 이것을 명백하게하는 것이 합당 할 수 있습니다.
Matheus Santana

3

의 대안 VBoxManage startvm "{VMName}" --type headless
VBoxHeadless -startvm "{VMName}"

흥미롭게도 RDP를 통해 헤드리스 VM을 실행하는 방법을 알아 냈습니다.

참고-최소한 창에서는 명령 창이 차단됩니다. 콘솔 창을 계속 사용해야하는 경우 다른 콘솔 창을 열어 VM을 시작하십시오.

VM을 종료하려면 게스트 OS 종료를 요청하십시오. VBoxHeadless게스트가 완전히 종료되면 콘솔을 해제합니다 Ctrl+C.


vboxheadless가 콘솔을 차단한다는 사실은 헤드리스 모드의 목적을 크게 무너 뜨립니다. Mac OS X (및 아마도 Linux 및 Solaris)에서는 &를 사용하여 vboxheadless를 백그라운드로 보낼 때 헤드리스 모드가 작동합니다.
Andrew J. Brehm

나는 창문에서 그것을 할 수있는 방법이 있다고 생각할 것입니다. 어쨌든 헤드리스 vm은 전체 GUI를 실행하는 것보다 서버 컴퓨터에서 적은 리소스를 사용합니다.
가짜 이름

2

http://vboxtool.sourceforge.net/ 에서 VBoxTool을 사용 하고 있으며 완벽하게 작동합니다. 부팅시 VM을 자동 시작하고 종료시 VM을 중지 / 저장할 수 있으며 간단한 정리 명령 줄 인터페이스를 제공합니다.


2

나는 완벽한 모드가 여기에서 찾고있는 것이라고 생각하지 않습니다. 올바른 것은 VBoxHeadless가 될 것이라고 생각합니다.이 내용은 매뉴얼에서 찾을 수 있습니다. 명령 행 인터페이스를 사용하여 실행되며 예를 들어 가상 머신이 서버에서 실행 중이지만 서버에서 디스플레이를 원하지 않는 경우에 사용됩니다. 명령 줄을 통해 옵션을 설정하는 방법을 알려면 컴퓨터에 원격 데스크톱을 설치할 수 있습니다.

나는 virtualbox 포럼에서 이것을 묻는 것이 좋습니다. 실제로, 나는 이것이 이미 요청 된 것으로 예상대로 먼저 검색을 수행하십시오.


VBoxManage가 옳았습니다. 죄송합니다. 매뉴얼 http://www.virtualbox.org/manual/ch08.html에 정보를 연결 하십시오


2

GUI를 사용하여 헤드리스 모드에서 시작하려면 :

VM을 시작할 때 Shift 키를 누르고 있습니다.

그런 다음 GUI에서 연결 및 연결 해제 ( Show and Machine 사용-> GUI 분리 옵션)도 가능합니다.


1

Linux (CentOS 5.6)에서 백그라운드 작업을 수행 할 때 헤드리스 모드가 제대로 작동하는 것으로 보이지만 프로세스가 백그라운드에있는 동안 RDP 기능에 액세스 할 수 없습니다. 프로세스를 다시 포 그라운드로 가져 오려면 'fg'를 수행하면 RDP 기능이 복원됩니다. 콘솔과의 상호 작용이 필요하지 않은 init 스크립트를 통해 vm 헤드리스를 시작하는 것이 가장 좋습니다.


1

VBoxHeadless 를 사용 하거나 GUI를 사용하지 않고 VM을 실행하는 시작 옵션 중 하나를 선택할 수 있습니다.

Shift 키를 누른 상태에서 기계를 시작하거나 기계를 마우스 오른쪽 단추로 클릭하고 "실행"항목에서 "출력없이 실행"과 같은 항목을 검색하십시오.


0

이 줄을 내 .bashrc에 추가했습니다.

VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'

ssh 액세스의 경우 구성을 변경할 필요가 없으며 NAT 만 유지하면 다음과 같이 포트 전달 테이블을 설정할 수 있습니다.

Name      | Protocol | Host Port | Guest Port
guestssh  | TCP      | 2222      | 22
localhost | TCP      | 8080      | 80

localhost : 8080을 시스템 브라우저에 삽입하면 VM (포트 80)의 페이지가 열립니다.


0

VM이 실행 중이고 화면이 표시되면 다음 단계를 수행하여 숨길 수 있습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.