30

複数のシェルスクリプトを開始するサービスとして有効になっているシェルスクリプトがあります。

service started script -> script1, script2 ,script3 

script1 は tmux ウィンドウでプログラムを開く必要があり、 を介してスクリプトを手動で開始すると問題なく動作./script1.shしますが、起動時にサービス開始スクリプトを介して開始すると、上記のエラーは発生しません。

open terminal failed: not a terminal

なぜこうなった?

4

2 に答える 2

41

すでにここに回答がありますが、このリンクはそれをよりよく要約していると思います。一言で言えば、次の-tフラグを使用します。

ssh -t host tmux attach

.ssh/configファイルに設定する場合は、ssh_configマンページで次のRequestTTYオプションを探します。

 RequestTTY
         Specifies whether to request a pseudo-tty for the session.  The
         argument may be one of: ``no'' (never request a TTY), ``yes''
         (always request a TTY when standard input is a TTY), ``force''
         (always request a TTY) or ``auto'' (request a TTY when opening a
         login session).  This option mirrors the -t and -T flags for
         ssh(1).
于 2015-06-08T11:17:40.203 に答える