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