是否可以将 VMware 播放器作为 Windows 服务运行,以便用户无需登录即可运行播放器?
答案1
VMware 服务器是在后台运行虚拟机的正确工具,而不是 Vmware Player。
答案2
抱歉这么晚才回复。我今天一直在想这个问题。我偶然发现了这个答案,觉得应该让 SF 知道。
你实际上可以...
将其添加到您的 VMX 配置文件中以设置 VMWare Player 不显示 UI:
msg.noOk = "TRUE"
得到安装程序来自Windows Server 资源工具包创建你自己的服务
在启动时使用批处理文件调用刚刚创建的服务
您可以在此处找到分步说明:
http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm
答案3
我知道这是一个老问题,但是我在整个互联网上搜索解决方案,却找不到像我想分享的那样全面的内容。
是的,可以将 vmware player 用作 Linux 的服务(Windows 有单独的解决方案);这很容易,我想不出不这样做的理由。它特别适合从无头服务器托管无头服务器。
另一个面向 VMware 的选择 VMware Server 已被弃用,而我所知道的唯一其他免费选择是 VirtualBox。如果您比 VMWare Player 更喜欢它,那就更棒了,但我了解 VMWare Player,我认为没有理由不使用支持良好的路径来获得我想要的东西。
假设您希望它在非 root 帐户下运行,并在标准服务启动/关闭时间启动和关闭。如果是这样,那么请按照以下方法配置它:
获取守护进程包(通常默认不安装):
apt-get install daemon
从 vmware.com 下载 VMware Player 和 VMware VIX 并安装它们以获取 VM 引擎和 VIX 的 vmrun(vm 执行的命令行控制)二进制文件。
通过创建将服务添加到启动项
/etc/init.d/<vm_server_name>
。它看起来可能像这样:#! /bin/bash ### BEGIN INIT INFO # Provides: vm_server_name # Required-Start: $named $remote_fs $syslog # Required-Stop: $named $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: My Server VM # Description: Virtual Machine instance of My Server ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin VM="/path/to/vmx_file.vmx" USER_TO_RUN_UNDER="username" if [[ "$USER" == "$USER_TO_RUN_UNDER" ]]; then USER_FLAG="" else USER_FLAG="--user=$USER_TO_RUN_UNDER" fi case "$1" in start) daemon $USER_FLAG -- vmrun -T player start "$VM" nogui &>/dev/null & ;; stop) vmrun -T player suspend "$VM" &>/dev/null while [[ "$(vmrun -T player list | grep -o "$VM")" == "$VM" ]]; do sleep 1 done ;; *) echo "Usage: $0 start|stop" >&2 exit 3 ;; esac
使脚本可运行:
chmod a+x /etc/init.d/vm_server_name
将脚本添加到标准 Linux 服务启动/关闭运行级别。数字确保它是最后启动的程序之一,也是最先关闭的程序之一:
update-rc.d vm_server_name defaults 99 01
笔记:
- 当您修改 root 拥有的文件时,您可能需要“sudo”所有命令。
- 我设置了一个循环,这样在关机时,脚本不会返回操作系统,直到它完全挂起客户操作系统。我不知道这是否有必要,但这似乎是个好主意。它肯定会减慢主机操作系统的关机速度,但在我看来这是值得的。
- 如果您需要与客户操作系统的本地 GUI 进行交互,请通过运行暂停服务器
/etc/init.d/vm_server_name stop
,然后使用 VMware 播放器 GUI 在本地启动它。完成后,暂停它并运行/etc/init.d/vm_server_name start
以再次启动无头实例。
答案4
从超级用户
可以使用这个非常古老的免费微软包装器(谷歌搜索有关 srvany 的解释):ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/srvany_x86.exe
或者也有商业工具:http://www.coretechnologies.com/products/AlwaysUp/Apps/RunVMwarePlayerAsAService.html