LoginSignup
1
1

More than 5 years have passed since last update.

screen (gnu screen)をつかったときにtty関連でエラーが出てしまう件の対処

Posted at

情況

sshでトンネルを掘りつつscreenに繋いだ場合やsudoでscreenに繋ごうとした場合、エラーが出てしまうことがあります。

$ sudo -u user screen -x
Cannot open your terminal '/dev/pts/12' - please check.

これはsudoした際にターミナルの環境がptsになっているせいのようです。

解決作はserverfaultにありました。

Sudo as different user and running screen
http://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen/116830#116830

以下の関数を.bashrcに載せることでscreenコマンドを変更できるようです。

~/.bashrc
function screen() {
  /usr/bin/script -q -c "/usr/bin/screen ${*}" /dev/null
}

この状態で

$ screen -x

とするとうまく繋がります。
関数化が面倒な場合には若しくは

$ /usr/bin/script -q -c "/usr/bin/screen -x" /dev/null

といったように、scriptの引数の箇所にsceenの引数を生書きするとうまく動きました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1