問題を解決するには、script /dev/null を実行してみてください ユーザーとして su screen を起動する前に .
script -q -c "su $USER -l -c \"screen -m -d -S $NAME $DAEMON start\"" /dev/null
詳細:
- https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830
これは、sudo su user_name を実行した可能性があるために発生します。 その後、screen コマンドを実行しました。
これを修正するには 2 つの方法があります。
<オール>script /dev/null と入力して、シェルの所有権を取得します ユーザー user_name として 次にscreenと入力します このコマンドを実行してシェルを所有します
#script /dev/null
そして画面を試してください
#screen -r < name of the screen >
ここで承認された両方の回答に触発されて、次の関数を .bashrc に追加しました :
sscreen(){
script -q -c "screen $*" /dev/null;
}
今は sscreen を使っています screen の代わりに この問題について二度と考える必要はありません。