2017-06-13 45 views
0

我试图用元数据键“启动脚本”启动时启动TMUX开始TMUX。我试图启动时执行tmux new-session -d -s toto,但是当我做了tmux ls后来我看不出有任何TMUX会议。谷歌计算引擎 - 使用启动脚本

我在这里错过了什么?

回答

1

有可能会在这里失去了一些先决条件:

  1. 方案应在图像上进行安装。标准图像安装了一套最简单的程序。

  2. 启动脚本运行的每个实例启动时,它作为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可在这里。

+0

谢谢你,它的工作就像一个魅力。 – Paradoxeuh