← На главную

Саймон Тэтэм нашел ляпы в Unix-сессии из Трон: Наследие

28.05.2026 19:15 · hackernews

Саймон Тэтэм разобрал сцену из «Трон: Наследие», где Сэм Флинн садится за компьютер отца и вводит команды. Тэтэм надеялся увидеть типичную киношную белиберду, но нашёл почти правдоподобную Unix-сессию — с парой ляпов, которые тянули на отдельное расследование. В итоге упражнение заняло целый день и выявило много неочевидных деталей.

Первое, что бросается в глаза: Сэм запускает bin/history, а не просто history. Это ошибка создателей фильма — shell history хранится внутри процесса, поэтому команда должна быть встроенной, а не внешней. Вероятно, bin/history — скрипт, выдающий подставной вывод. При этом в выводе не хватает самой команды bin/history, что было бы в реальном shell.

Сэм входит как backdoor, потому что root заблокирован. backdoor имеет uid 0 (реакция — приглашение #), и его домашняя директория — /. Это plausible: на старых Unix корневой аккаунт часто имел $HOME=/. Но использование /bin/login для смены пользователя внутри сессии подозрительно — обычно нужен su. Тэтэм предполагает, что бэкдор сделал сам Сэм на случай, если отец закроет ему доступ.

uname -a выводит SolarOS 4.0.1 ... sun4m i386 Unknown.Unknown. SolarOS — вымышленная смесь SunOS и Solaris. Но sun4m — SPARC-архитектура, а i386 — x86; на одной машине их быть не может. Кроме того, окна top и iostat слева оформлены в стиле Linux, а сам /proc/meminfo вообще не существует в Solaris. Выходит, по сюжету это Solaris, но «актёр» — Linux, и «костюмеры» что-то напутали.

Тэтэм поначалу решил, что в истории нарушен порядок make / ./configure, но ошибся. ./configure -o test.cfg — не скрипт Autoconf (у того нет -o), а просто часть пакета лазерного контроллера, генерирующая конфиг. Потом Флинн правит его через vi, но не передаёт программе — запускает LLLSDLaserControl -ok 1 без указания файла. Возможно, это недосмотр персонажа, а не съёмочной группы.

Команды 496–500 показывают, как Флинн чистит память: смотрит /proc/meminfo, убивает процессы по ps, снова запускает ps, но не проверяет свободную память повторно — логичнее было бы ещё раз глянуть meminfo.

Двойная защита лазера: файл /opt/LLL/run/ok (создан через touch) и опция -ok 1 при запуске. Реальные приложения (например, git-daemon и git-clean) используют такие же механизмы. Но после стрельбы лазером файл не удаляется — Сэм позже запускает ту же команду и активирует лазер без повторного создания ok.

Файл ~/last_will_and_testament.txt — завещание перед рискованным опытом. Тэтэм замечает, что в реальности такое не имеет юридической силы без подписей и свидетелей, и находится оно в корне (корневой home), а не в обычной директории. Но это можно списать на панику Флинна.

Самая странная деталь — пропорциональный шрифт в главном окне. Текст ломается по словам (перенос «Unknown.Unknown» на новую строку там, где ещё есть место), а в окне top шрифт моноширинный. Никакого разумного объяснения этому нет.

Итого: часть ошибок — явные ляпы (bin/history, sun4m+i386, Solaris vs Linux, login вместо su), часть — plausible оплошности персонажа (пропуск проверки памяти, незадействованный конфиг, странное завещание), а пропорциональный шрифт остаётся загадкой. При этом общий уровень реализма для кино оказался неожиданно высоким.

Читать оригинал →