Как я могу использовать GNU Screen прозрачно - PullRequest
1 голос
/ 02 февраля 2009

Я хочу использовать экран GNU таким образом, чтобы пользователь не знал, что он там. Это помогает гарантировать, что текстовое управляющее приложение, которое я пишу, может использоваться только одним пользователем одновременно. Чтобы не допустить, чтобы пользователи блокировали всех остальных, запуская приложение и выходя из него, оставляя его работающим, когда я в отпуске, я хочу иметь возможность отключить их сеанс и позволить другому пользователю присоединиться к нему.

Итак, мои вопросы:

  • Могу ли я установить для клавиши escape в .screenrc значение null, чтобы пользователь сам не мог получить доступ к какой-либо функции экрана?

Ответы [ 4 ]

3 голосов
/ 02 февраля 2009

Похоже, что следующее в .screenrc делает трюк:

escape ''

Это не устанавливает escape-символ на ', но полностью отключает механизм escape.

1 голос
/ 02 февраля 2009

Может быть, просто установить escape-символ в .screenrc на непонятный символ из таблицы ASCII, который нельзя набрать на клавиатуре. Я думаю, что символ 176 будет примером (или попробуйте любой другой за пределами нормального диапазона):

escape ^°°

Просто поместите его в файл .screenrc, и ваши пользователи не смогут получить доступ к любой screen функциональности:

perl -e 'print "escape ^", chr(176), chr(176), "\n"' >> .screenrc
0 голосов
/ 02 февраля 2009

вместо использования экрана, рассмотрите возможность использования detachtty / attachtty

0 голосов
/ 02 февраля 2009

Запрещение пользователю использовать функциональные возможности Screen является плохой формой (если у вас нет общего логина, в котором запущено ваше приложение).

Вместо этого заставьте ваше приложение работать с вариантом использования, который вы показали в autologout, предупреждая новых подключающихся пользователей и давая им возможность загрузить другого пользователя, обрабатывая несколько пользователей и т. Д.

...