VMware Player-作为服务运行


Answers:


14

Vmware Server是在后台运行VM的正确工具,而不是Vmware Player。


1
(也是免费的)
— Chris_K,2009年

2
并非完全正确。网络上的人们都在将VMWare Player作为服务运行。
— JamesBarnett 2011年

4
@JamesBarnett人们做了很多不是“理想”的事情-开车兜风,看看如果您不相信我,别人在路上的表现。您可以使VMWare播放器“僵化”为服务运行的事实并不会改变VMWare服务器是该工作的预期工具的事实。
— 罗伯·摩尔

1
也许取决于用例。如果您要运行廉价的VMWare服务器,而要在无人看管的情况下运行VM,那么我也同意。但是,“在后台运行VM的正确工具”这一说法过于笼统。就我而言,我想使用Unity模式与Windows并排运行Linux,而不必担心看到VMWare Player UI。另外,还发现Windows与后台进程紧密绑定了GUI。计算机历史的中心部分是能够破解某些内容以完成您想要的事情。该工具没有错,您只需要知道它的局限性即可。
— JamesBarnett 2011年

6
vmware服务器已弃用,并且具有较低的“ vm hw版本”
— Sirber 2012年

5

很抱歉,此邮件无法及时回复。我今天试图解决这个问题。我碰到了这个答案,以为我让SF知道了。

你实际上可以...

  • 将此添加到您的VMX配置文件以设置VMWare Player不显示UI:

    msg.noOk =“真”

  • 从Windows Server Resource Kit中获取instsrv.exe,以创建自己的服务

  • 在启动时,有一个批处理文件调用您刚刚创建的服务

可在此处找到分步说明:

http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm


最后一个链接断开了
— stimpy77

2

我知道这是一个老问题,但是我在互联网上搜索了一个解决方案,但是找不到比我想分享的更全面的东西。

是的,可以将vmware player用作Linux的服务(对于Windows,有一个单独的答案)。这很容易,没有理由我可以想到不这样做。从无头服务器托管无头服务器特别好。

不推荐使用另一个面向VMware的选择VMware Server,而我知道的唯一$ 0选择是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
    

笔记:

  • 修改根目录拥有的文件时,可能需要对所有命令进行“ sudo”处理。
  • 我放入了一个循环,以便在关闭脚本时,脚本必须完全暂停来宾OS才能返回到OS。我不知道是否需要这样做,但这似乎是个好主意。它肯定会减慢主机操作系统的关闭速度,但是我认为这是值得的。
  • 如果需要与客户机OS的本地GUI进行交互,请通过运行来挂起服务器/etc/init.d/vm_server_name stop,然后使用VMware Player GUI在本地启动它。完成后,将其挂起并运行/etc/init.d/vm_server_name start以再次启动无头实例。

如果在Linux上仅想到了Vmware Player和Virtual box,那么您的搜索就不会很困难。如今,KVM和Xen是首选工具。
— Zoredache

1
对于Linux用户来说,这是一个很好的答案,但问题是专门询问有关将VMWare Player作为Windows服务运行的-也许您应该问并回答一个有关在Linux上执行此操作的单独问题:-)
— voretaq7

感谢您指向其他解决方案的指针。尝试在Google中搜索“虚拟机即服务”,您会看到我所看到的。我认为您真正要说的是,您相信管理程序是新的热点。我认为爱好者有充分的理由选择带有其他虚拟机作为服务的Linux主机,但是对于可伸缩性,我确定您是正确的。
— David Gladfelter,2012年

糟糕,我没有在问题中看到“ Windows”一词。
— David Gladfelter,2012年

嗯,第二个想法是我回答问题时没有提到窗户。可能是错的...
— David Gladfelter

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.