Hirdetés

Keresés

Új hozzászólás Aktív témák

  • ToMmY_hun

    senior tag

    válasz _Dumber_ #23303 üzenetére

    Kicsit utánajártam és a VMPlayer hivatalosan nem támogat ilyen funckiót. Az oka az, hogy ez felhasználói interakciókra épít, tehát elvárja hogy kézzel állítsd le mielőtt a host-ot kilövöd alóla. A szerver verzió támogatja a host-guest együttes shutdown mechanizmust.

    A megoldás emiatt nem triviális. Gyanítom, hogy a fenti okból kifolyólag a szoftver készítője szándékosan nem hagyott kiskaput ennek kijátszására, szóval csak nagyon csúnya módszerekkel lehetne ezt megoldani.
    Az egyik opció, hogy készítesz egy scriptet, ami shutdown esetén fut le és várakozik addig, amíg nem állítottad le kézzel a VMPlayer-t. Aztán például írhatnál egy kapcsolat orientált protokollra alapuló szerver-kliens programot, ahol a szerver a guest OS-en fut és figyelni a klienstől (host) érkező adatokat. A host-on lévő programot a shutdown scriptet editálva az első helyre rakod, ezzel elérve hogy a shutdown szekvencia kezdetén kérje a guest leállítását. Ennek elindítását a guest egy nyugtával jelezné és mondjuk a kapcsolat megszakadásából nagy valószínűséggel arra lehetne következtetni, hogy a guest leállt. Hangsúlyozom, hogy ez iszonyat csúnya és rendkívül rizikós megoldás. Semmi sem garantálja, hogy a guest valóban leállt, előfordulhat olyan eset, hogy egy mentés megfogja a leállítást, ugyanakkor az általad írt shutdown szerver már rég leállt és nincs információd a guest valódi állapotáról. Egy fokkal jobb lenne, ha közvetlenül a VMPlayer-rel tudnál kommunikálni, de gyanítom hogy erre nem adnak lehetőséget, mert akkor nem lenne értelme ezt a feature-t a szerverben kiemelni.

    Mi lenne, ha alapból a szerver verziót használnád? :)

  • spammer

    veterán

    válasz _Dumber_ #23303 üzenetére

    Biztosan sokféle módszerrel megoldható, de használhatsz shutdownra egy ilyen pofonegyszerű scriptet:

    #!/bin/bash

    check=$(pgrep vmware)

    if [[ ! -z $check ]]; then
    echo "vmware fut"
    else
    echo "vmware NEM fut"
    fi

    pgrep-nél cseréld ki a megfelelő névre, ha nem vmware néven fut (htop vagy top kiírja, mi az).
    echo csak kiírja, hogy fut vagy nem, a helyére írhatsz shutdown-t vagy bármi mást, ez csak egy tesztelős példa.

Új hozzászólás Aktív témák