2011-01-14 2 views
15

Возможно ли запустить Google NaCl за пределами браузера в качестве изолированной программной среды?Могу ли я запускать собственный клиент Google вне браузера?

+0

Недавно я задал тот же вопрос в дискуссионной группе. Ответ - да, используя sel_ldr, как ответил Марк Сиборн. –

ответ

6

Собственный клиент documentation, вероятно, является хорошей отправной точкой для попытки выяснить, как все работает.

Как отмечают Марк Сиборн и Беннет Йи, вы, вероятно, лучше всего смотрите на использование sel_ldr. Подробнее о том, как sel_ldr включен в «The life of sel_ldr».

Я лично не реализовал ничего, что использует NaCl за пределами браузера, поэтому я не могу, к сожалению, прокомментировать его легкость.

+0

Большинство ссылок, приведенных здесь, истекло. Я заинтересован в запуске собственного изолированного кода вне браузера, и NaCl может быть идеальным решением для этого (или нет?). – deadalnix

+0

@deadalnix Я обновил свой ответ, чтобы указать на текущую документацию. – garethm

9

Да. Отдельная сборка собственного клиента содержит программу под названием «sel_ldr», которая запускает песочницу NaCl вне веб-браузера. Многие тестовые пакеты NaCl тестируют NaCl, запуская программы под управлением sel_ldr, а не в браузере.

4

Чтобы добавить ответ от Марка, взгляните на цель sel_universal. Очевидно, что некоторые интерфейсы не поддерживаются, например, интерфейсы Pepper, поскольку такой автономный запуск не предполагает использования браузера. Кроме того, стабильный ABI, который мы поддерживаем, - это то, что открывается «интегрированной исполняемой средой» или irt, а хэш-код irt предполагает, что браузер присутствует. автономное использование NaCl через sel_ldr, вероятно, должно было бы сначала использовать интерфейс syscall, пока не будет записана альтернативная irt. (NB: мы не гарантируем стабильность интерфейса syscall.)

2

Вы можете попробовать run.py, который включен в источник собственного клиента.

Вот пример, который запускает программу приветствия.

make test_hello_world_nexe 
python native_client/run.py out/Debug/hello_world_newlib_x64.nexe 

Этот сценарий может создавать, искать и вызывать sel_ldr, и передать соответствующие аргументы к нему автоматически.