Последовательности для эскапистов

Nov 15, 2005 21:26

Если запустить ssh и установить соединение с удалённым компьютером, возникает иллюзия, что сидишь непосредственно за её монитором и клавиатурой. Но эту иллюзию легко отличить от действительности: как правило, об этом будет свидетельствовать заголовок консольного окна и, самое главное, существует множество способов «оторваться» от удалённой клавиатуры и перейти к управлению собственным, локальным компьютером. Один из них - завершить сеанс работы с удалённым сервером командой logout. Но всегда есть и другие способы - вдруг удалённый компьютер «завис», и нет возможности набрать logout? Для ssh, к примеру, для принудительного отключения достаточно набрать с новой строки последовательность символов ~. (тильда, затем точка). Эта последовательность, вместе с несколькими другими, является escape-последовательностью, интерпретируемой особым образом. Это важно: любые символы передаются на удалённый компьютер «как есть», а escape-последовательность обрабатывается самим средством коммуникации и никогда не доходит до удалённого сервера. Если всё-таки нужно набрать именно эту последовательность на удалённой «клавиатуре», для этого есть другая последовательность: удвоенная тильда передаёт одинарную тильду. Всё это означает, что «в районе тильды» прозрачность ssh нарушается, и иллюзия нахождения за консолью удалённого компьютера уже неполна.

Сеанс ssh, конечно, даёт довольно слабую иллюзию. Куда натуральнее выглядит соединение с удалённым компьютером по протоколам VNC, Remote Desktop и аналогичным. При этом можно работать с графическим интерфейсом удалённого компьютера, а в некоторых подобных системах - и слышать звук, выводимый удалёнными программами. Если перейти в полноэкранный режим, иллюзия становится почти полной… но основные свойства остаются неизменными: непременно есть хотя бы одна escape-последовательность (по меньшей мере, для разрыва соединения), которая не дойдёт до удалённого компьютера, а будет обработана средством коммуникации. Часто это бывает такая последовательность, которая, скорее всего, не встретится при нормальной работе, что-нибудь вроде Ctrl-Alt-Shift-Esc, так что случайно на неё не наткнуться. Поэтому тому, кто не знает об escape-последовательностях, приходится использовать «естественный» способ разрыва соединения, завершая сеанс связи средствами удалённой операционной системы. Но бывают, конечно, случаи, когда это невозможно.

Напрашивается очевидная аналогия с системами виртуальной реальности. Простейший вид виртуальной реальности - трёхмерное изображение на экране компьютера, например, в играх. Отличить его от настоящего проще простого: достаточно посмотреть вокруг. Escape-последовательности, как правило, очевидны. Шлем виртуальной реальности создаёт гораздо лучшую иллюзию, особенно в сочетании с сенсорными перчатками и прочими датчиками, считывающими положение тела. Тем не менее, и такую имитацию легко распознать, а escape-последовательностью является, например, снимание шлема. А если пойти дальше? Если система будет имитировать и объёмное изображение, и звук, и вкус, и запах, и положение тела в пространстве, да настолько натурально, что не отличить от настоящего? Какими тогда должны быть escape-последовательности?

Во-первых, это должны быть редкие последовательности, такие, которые не сделать случайно. Иначе мы наблюдали бы внезапно замирающих или исчезающих людей, которые всего лишь хотели, к примеру, почесать пятку. Во-вторых, эти последовательности должны быть доступны во всех ситуациях, в том числе, когда движения тела сильно ограничены, или когда некоторые части тела отсутствуют - ведь именно в этих случаях скорее может потребоваться выйти из этого мира. А уж куда таким путём можно вернуться, мы все узнаем, даже если никогда не найдём потайных escape-последовательностей: выйти отсюда естественным путём, с помощью logout, рано или поздно доведётся каждому.

In English: Escapist Sequences

existence, programming, psychology

Previous post Next post
Up