我在 Ubunutu 14.04 64 位上安装了 VSCode,但是从终端启动时出现此错误:
[6303:0615/111654:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
这是我应该修复的问题吗,或者它来自 VSCode?
还有没有办法从终端启动它但终端不会一直保持打开状态?
答案1
由于忽略启动错误似乎是安全的,因此将其添加到您的 .bashrc 中:
function __code {
if [ "$@x" != 'x' ]; then
(~/path/to/Code "$@" &) &> /dev/null
else
(~/path/to/Code &) &> /dev/null
fi
}
alias code='__code'
这将允许您使用与文档中相同的调用约定。
如果您不想抑制错误,只需删除该&> /dev/null
位。
另请不要忘记将其替换~/path/to
为您解压 zip 文件的实际路径。
答案2
设置 uid 沙盒是为了限制进程间通信。如果您有兴趣提高安全性,但代码正常运行不需要它,则值得研究。
要从终端启动应用程序(在本例中为代码)并能够关闭终端,请使用 disown。
Code &
disown
要将程序的 CLI 输出重定向到文件中,请使用
Code &> /dev/null
将两者结合起来以启动没有终端输出的代码,并能够关闭窗口:
Code &> /dev/null &
disown