Screen est un multiplexeur de terminaux tandis que su permet de changer d’utilisateur dans un terminal.
Si vous changez d’utilisateur avec su puis que vous lancez screen
utilisateur1 $ su utilisateur2 Mot de passe : xxx utilisateur2 $ screen
vous aurez le message d’erreur suivant :
Cannot open your terminal '/dev/pts/0' - please check.
Et effectivement si vous regardez les droits du fichier /dev/pts/0, il appartient bien à l’utilisateur connecté (et non pas celui modifié via su) :
crw--w---- 1 utilisateur1 tty 136, 0 2010-01-27 13:36 /dev/pts/0
La solution : on ne peut plus simple inverser l’ordre des commandes : lancer screen puis faire le su dans screen
utilisateur2 $ screen utilisateur1 $ su utilisateur2 Mot de passe : xxx