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.