su で切り替わったユーザーで $ screen を実行すると “Cannot open your terminal ‘/dev/pts/0’ – please check.” というようなエラーが発生する。 エラーが発生する原因 screen (やそのリライトである tmux) は擬似ターミナルへの read/write を行うことで実現されており、この擬似ターミナルはログイン時にログインユーザー向けに作成される。 su でユーザーが切り替わっても新規に擬似ターミナル(pty)が作られるわけではないので、新規に起動する screen と既存 pty の実行ユーザーが異なり、権限のない pty に R/W しようとして上記の様なエラーが発生する。 解決策 一人で使っているサーバーなら root 権限で screen を起動してその後、各ユーザになる pty の権限を chmod で変える