2009-02-02 2 views
1

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

Так мои вопросы это:

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

ответ

3

Это выглядит следующим образом в .screenrc делает трюк:

escape '' 

Это не устанавливает экранирующего символа в ', но отключает механизм выхода полностью.

+0

Мне удалось попасть в режим командной строки экрана (или что-то еще), набрав Ctrl-Shift- @ (который выводит 0x00 на терминал) с помощью вашего примера. – strager

+0

Хм, я тоже пробовал это нажатие клавиши, но не смог выполнить эту работу. Вот почему я сказал, что не буду рассчитывать на это. :) –

+0

Ваше обновление работает (или, по крайней мере, я не могу найти последовательность, которая позволяет это). Еще один шаг к прозрачности экрана - установить TERM на нечто иное, чем «экран». – strager

1

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

escape ^°° 

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

perl -e 'print "escape ^", chr(176), chr(176), "\n"' >> .screenrc 
+0

Как насчет 0x7F (удалить символ)? – strager

+0

Вы все равно можете набрать любой произвольный символ ASCII, используя Alt + nnn или скопировать и вставить. Включая chr (0x7F). –

+0

@ Hewgill, вы можете использовать Alt + nnn на среднем терминале? – strager

0

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

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

0

вместо того, чтобы использовать экран , рассмотрите использование detachtty/attachtty

Смежные вопросы