# Virtualbox 高级配置 ## 1.一些基本命令 ```bash # 开启/关闭 VRDE,并设置监听端口和监听地址 VBoxManage modifyvm --vrde VBoxManage modifyvm --vrdeproperty "TCP/Ports|Address=" # 切换 VRDE 后端 VBoxManage setproperty vrdeextpack VBoxManage modifyvm --vrdeextpack # 设置 authentication 模式,有 null/external/guest 三种模式 VBoxManage modifyvm --vrdeauthtype # external 模式下有 VBoxAuth 和 VBoxAuthSimple 两种方式 VBoxManage setproperty vrdeauthlibrary VBoxManage modifyvm --vrdeauthlibrary default| # VBoxAuthSimple 下计算 password hash 并设置用户和密码 VBoxManage internalcommands passwordhash VBoxManage setextradata "VBoxAuthSimple/users/" # 以 VBoxHeadless 模式启动以便获得完整调试信息 VBoxHeadless --startvm # 以后台 Headless 模式启动,不显示调试信息 VBoxManage startvm --type headless ``` ## 2.远程虚拟机 Virtualbox 自带的远程桌面称为 VRDE,该协议可以使用 VRDP 作为后端,也可以使用 VNC 作为后端。 ### 2.1.使用 VRDP 安装 Oracle VM VirtualBox Extension Pack,Win 下需要到官网下载扩展包然后使用管理器进行安装。Linux 可使用命令安装: ```bash yaourt -S virtualbox-ext-oracle ``` Setting->Display->Remote Display 下 Enable Server 并设置端口。启动虚拟机: ```bash VBoxManage startvm --type headless ``` 之后使用 mstsc.exe 或 Remmina 连接即可。 ## 2.2.使用 VNC 首先需要安装 VNC 插件,Win 下需要到官网下载扩展包然后使用管理器进行安装。Linux 可使用命令安装: ```bash # Manjaro yaourt -S virtualbox-ext-vnc ``` 虽然 Oracle VM VirtualBox Extension Pack 与 VNC 可以共存,但只可以使能一种 VRDE 模式,以下命令设置 VRDE 使用 VNC/VRDP 作为后端: ```bash # VNC VBoxManage setproperty vrdeextpack VNC # VRDP VBoxManage setproperty vrdeextpack "Oracle VM VirtualBox Extension Pack" ``` 设置 VNC 密码并启动虚拟机: ```bash VBoxManage modifyvm --vrdeproperty VNCPassword= VBoxManage startvm --type headless ``` 之后使用 Remmina VNC 连接即可。 ## 3.内部参考关键字 1. Remmina ## 4.外部参考资料 1. [Commands Overview](https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-cmd-overview.html) 2. [Chapter 7. Remote Virtual Machines](https://www.virtualbox.org/manual/ch07.html#vrde-videochannel) 3. [Other Extension Packs](https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/otherextpacks.html)