2015-02-24 15 views
6

Sto creando nodewebkit e un'applicazione desktop basata su webrtc per lo streaming video. Durante la creazione, sto tentando di utilizzare l'API getusermedia ma ottenendo il seguente errore sulla mia macchina Linux.node-webkit (nw.js) Errore sandbox Ubuntu 12.04 LTS SUID

[15464:0224/125017:ERROR: browser_main_loop.cc(162)] Running without the SUID sandbox! See https://code.google.com/p/chro ... for more information on developing with the sandbox on. ATTENTION: default value of option force_s3tc_enable overridden by environment.

Con un po 'di aiuto da Google, ho scoperto di seguito i dettagli suido.

SUID (Set owner User ID up on execution) is a special type of file permissions given to a file. Normally in Linux/Unix when a program runs, it inherits access permissions from the logged in user. SUID is defined as giving temporary permissions to a user to run a program/file with the permissions of the file owner rather that the user who runs it. In simple words users will get file owner’s permissions as well as owner UID and GID when executing a file/program/command

Secondo la mia comprensione, il nodo-webkit (nw.js) non ha bisogno di un sandbox per l'esecuzione. Perfavore, correggimi se sbaglio. Sto eseguendo la stessa applicazione nw sul mio Mac OS X Mavericks e funziona perfettamente. Sono davvero confuso qui a causa delle seguenti domande.

  1. Devo installare un sandbox di cromo prima di eseguire nw su Linux (anche se non ho trovato tali direttive in nw.js pagina GitHub)?

  2. In caso contrario, quali modifiche devo apportare alla mia Ubuntu 12.04 LTS in modo che la mia applicazione non chieda una sandbox?

risposta

2

Prova ad aggiungere questo alla tua package.json:

"chromium-args": "--disable-setuid-sandbox"

Sarà disabilitare la sandbox nell'istanza di cromo che nw.js sta usando.

1

Il messaggio può essere ignorato poiché sandbox non è utilizzato/necessario in node-webkit.

In realtà c'è un problema su questo messaggio in the bug tracker.