Насколько я могу судить, Screen требует функций вашего терминала, которые режим оболочки Emacs просто не поддерживает и не может обеспечить, просто потому, что это не традиционный символьный терминал, такой как VT100. Таким образом, проблема не в том, чтобы избавиться от или попытаться интерпретировать цветовые коды - есть больше возможностей терминала, которые необходимы для правильной работы Screen.
По умолчанию Screen даже не запускается в режиме оболочки Emacs, насколько я могу судить (он ошибается, говоря, что ему нужна чистая возможность экрана). Некоторые публикации в Интернете, кажется, предлагают установить TERM = xterm, чтобы обойти это, но это просто обманывает Screen, думая, что терминал обладает возможностями XTerm, которых у него нет.
Термины и режимы ответов в Emacs обеспечат возможности терминала, необходимые для Screen, но, к сожалению, у вас, похоже, были проблемы с этими режимами.
Вместо этого я бы посоветовал взглянуть на команду "emacsclient -t" (часть Emacs), которая позволяет открывать локальный фрейм, связанный с существующим экземпляром Emacs, аналогично тому, как Screen позволяет вам восстановить соединение с ранее созданным экземпляром Screen. Таким образом, вы можете настроить emacsclient на локальном компьютере для повторного подключения через TCP к постоянному удаленному экземпляру Emacs.