2017-06-13 27 views

答えて

1

あなたがここに欠落している可能性があり、いくつかの前提条件があります。

  1. プログラムがイメージにインストールする必要があります。標準イメージには、最小のプログラムセットがインストールされています。

  2. 起動スクリプトは、インスタンスが起動されるたびに実行され、rootとして実行されます。したがって、起動スクリプトから直接tmuxを実行すると、新しいtmuxセッションがルートユーザーとして起動します。これは主にあなたが望むものではありません。

    このすべてを取ることができます(私はgcloudを用いた例を与えてくれたが、あなたにもREST 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を( VMを再起動せずに):

$ sudo google_metadata_script_runner --script-type startup 

完全なドキュメント約Startup scriptsがここにあります。

+0

ありがとうございます、それは魅力のように機能しました。 – Paradoxeuh

関連する問題