題 如何在Mac OS X啟動時自動啟動程序?特別是VMWare Fusion的vmrun啟動虛擬機


如何將程序配置為在Mac OS X啟動(之後)時自動運行?

具體來說,我試圖讓VMWare VM在OS X重啟後自動啟動,但運行任何(非圖形)程序會很有用。

(請注意,vmrun在後台啟動VMware VM,Fusion GUI可以在以後啟動它們。所以這不是關於我登錄後在桌面上啟動VM!)


5
2018-01-27 23:53


起源




答案:


在Mac上,如果要在啟動時運行腳本或應用程序(而不是在登錄時),請將其添加到/ System / Library / StartupItems。對於vmrun,我會編寫一個shell腳本來正確設置路徑(包括VMWare Fusion目錄)並啟動您希望運行的特定VM。)

如果您希望在登錄時運行它,可以在“系統偏好設置”的“用戶”部分下的“登錄項目”中添加項目。


3
2018-01-28 00:21



StartupItems中的項目是否必須採用特殊格式?我真的可以添加一個shell腳本,看看它在啟動時/之後執行了嗎? - Andrew J. Brehm
對不起,你這樣做 - 但格式非常簡單。說明書 osxfaq.com/Tutorials/LearningCenter/HowTo/Startup/index.ws 已經老了,但我相信仍然是正確的。 - Jon Lasser
顯然/ System / Library / StartupItems已不再使用(並且/系統應該僅由Apple使用)。而是使用/ Library / LaunchDeamons。 - Andrew J. Brehm
@ AndrewJ.Brehm“/系統應僅供Apple使用” - 如果您是超級用戶,請不要使用:v - Luke Madhanga


我嘗試了一些方法,得到了最奇怪的結果。這是最終奏效的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.myvmname</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/Application Support/VMware Fusion/vmrun</string>
        <string>start</string>
        <string>pathtovirtualmachinevmxfile.vmx</string>
        <string>nogui</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>UserName</key>
    <string>myusername</string>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

我創建了一個文件com.example.vmname.plist,其中包含上面的/ Library / LaunchDeamons,並確保其所有者:group是root:wheel。 Apple開發人員工具為plist XML文件提供了出色的編輯器。

這會產生以下行為,這對我的環境來說是理想的(我有一個八核的Mac Pro,內存為8 GB,可以在後台運行多個虛擬機而不是暫停它們或關閉它們):

  1. 當Mac OS X啟動時,VM將在後台啟動。這也適用於多個VM。

  2. 如果VM崩潰,它將立即重新啟動。

  3. 除非從Fusion GUI完成VM(後一種行為允許編輯VM設置),因此在關閉或停止VM時也是如此。

  4. 當Mac OS X關閉時,VM突然停止。在系統重啟之前,我必須找到一種更優雅地關閉它們的方法。


3
2018-01-29 11:01





這些解決方案過於復雜。到目前為止,最簡單的方法是轉到系統偏好設置 - >用戶和組 - >登錄項目選項卡,然後單擊加號並選擇要啟動的應用程序。

同樣在系統偏好設置 - >用戶和組中,您可以選擇登錄選項並選擇您的用戶以自動登錄該用戶。除非您為其他人提供物理訪問權限,否則不存在任何安全風險!

對您的計算機具有物理訪問權限的任何人都可以從外部驅動器(或繞過您的登錄密碼的各種其他方法)啟動,並可以訪問硬盤上的所有文件。計算機安全的正確答案不是讓你的計算機嘮叨你每次走到它時輸入你自己的密碼,而不是鎖定你的房間!還有一個額外的好處,就是不要讓你3歲的孩子扯掉你鍵盤上的按鍵,把橙汁灑在你的Mac專業版上,以及其他類似的東西。

所以請記住,登錄密碼僅適用於您的計算機位於其他所有人都可以使用的共享工作區域/環境 - 在我看來,您不應該使用家用PC。如果您有適當的物理安全性,登錄密碼只是浪費您的時間而應該被禁用,它幾乎不提供任何安全性。


0
2017-07-08 03:24



問題是關於如何在啟動時立即啟動程序, 之前 任何登錄。 - Yitz