0
我試圖用元數據鍵「啓動腳本」啓動時啓動TMUX開始TMUX。我試圖啓動時執行tmux new-session -d -s toto
,但是當我做了tmux ls
後來我看不出有任何TMUX會議。谷歌計算引擎 - 使用啓動腳本
我在這裏錯過了什麼?
我試圖用元數據鍵「啓動腳本」啓動時啓動TMUX開始TMUX。我試圖啓動時執行tmux new-session -d -s toto
,但是當我做了tmux ls
後來我看不出有任何TMUX會議。谷歌計算引擎 - 使用啓動腳本
我在這裏錯過了什麼?
有可能會在這裏失去了一些先決條件:
方案應在圖像上進行安裝。標準圖像安裝了一套最簡單的程序。
啓動腳本運行的每個實例啓動時,它作爲root
。因此,如果您直接從啓動腳本運行tmux
,它將以root用戶身份啓動新的tmux
會話。這不是你想要的。
話雖如此,這將工作(我已經放棄使用gcloud
例子,但您可以將類似的邏輯休息API或雲端控制檯以及):
所有這一切都可以採取小心使用此啓動腳本:
(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto
上面的命令將安裝TMUX如果尚未安裝,然後啓動名爲toto
新分離TMUX會議。
gcloud compute instances create VM_NAME --metadata 'startup-script=(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto' --zone ZONE_NAME --project PROJECT_NAME
隨時後來爲現有VM或更新元數據:在VM
gcloud compute instances add-metadata vm-1 --metadata 'startup-script=(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto' --zone ZONE_NAME --project PROJECT_NAME
您可以隨時re-run the startup script(
您可以在創建實例時設置此啓動腳本無需重新啓動虛擬機):
$ sudo google_metadata_script_runner --script-type startup
完整的文檔約Startup scripts可在這裏。
謝謝你,它的工作就像一個魅力。 – Paradoxeuh