如何以 root 身份运行 Visual Studio Code

wda*_*ing 73 permissions visual-studio-code

我最近安装了 Visual Studio Code 编辑器。我下载了 32 位 .deb 包。安装并正常运行,但是当我尝试在我的项目文件夹中保存文件时,它返回权限被拒绝。所以,我重新运行代码

sudo code .
Run Code Online (Sandbox Code Playgroud)

它返回

It is recommended to start vscode as a normal user.
To run as root, you must specify an alternate user data directory with the --user-data-dir argument.
Run Code Online (Sandbox Code Playgroud)

我寻找如何使用--user-data-dir参数指定备用用户数据目录,但我没有找到太多。

那么,如何在 Ubuntu 16.04 中以 root 身份运行 Visual Studio Code?

编辑:我更喜欢避免更改目录权限的解决方案。

edit2:项目目录:(/var/www/project我使用 Apache 和 vhost)

zaw*_*ata 93

以 root 身份运行 VScode 是非常危险的(因为它是任何其他应用程序)但是,如果您绝对需要:

您必须指定运行 vs 代码时要使用的用户数据目录:

sudo code --user-data-dir="~/.vscode-root"
Run Code Online (Sandbox Code Playgroud)

然后从窗口中您可以打开您的项目文件夹

再次:不建议这样做。玩得开心。

2018 年 5 月更新

对于每个问为什么不推荐这样做的人,您显然不明白为什么sudo会存在。从这个 AskUbuntu 问题

它击败了多年来一直存在的安全模型。应用程序旨在以非管理安全性(或作为普通人)运行,因此您必须提升他们的权限才能修改底层系统。例如,您不希望最近的 Rhythmbox 崩溃由于错误而清除您的整个 /usr 目录。或者刚刚发布在 ProFTPD 中的漏洞,允许攻击者获得 ROOT shell。

在任何操作系统上,在用户级别运行您的应用程序并将管理任务留给 root 用户,并且仅在每个需要的基础上,这都是很好的做法。

我并不是说你永远不应该以 root 用户身份使用 VSCode(尽管它很容易避免这样做)我是说当你想要这样做时你应该小心并知道风险。

最好的办法是制作受限制文件的副本,编辑它,并在您绝对确定它已完成时将其复制回来。

同样对于编辑您的用户没有权限的文件,我现在推荐 Talha Junaid 的回答,每次您想要保存文件时都会询问权限。当我写这个答案时,root 访问提示不存在。

  • 为什么不建议以 root 身份运行 VScode?例如,如何更改主机中的某些内容?我会需要root权限是不是? (5认同)
  • @MarcoDufal 绝对不是。这是一个可怕的想法。特别是在处理 OS 文件时,您绝对不应将权限设置为 777。这意味着系统上的所有内容,无论是谁/什么启动它或允许它做什么,都有权修改该组文件和文件夹。您最多应该“拥有”这些文件,以便您可以使用接近 755 的权限来编辑它们。 (4认同)
  • @zawata 你说得对!新手请见谅。感谢您的提醒! (3认同)

Tal*_*aid 30

以防万一您想对单个文件进行更改,我更喜欢以下方法。

  • 以普通用户身份运行 vs-code。
  • 更改文件
  • File -> Save 或按 Ctrl + S
  • vs-code 会在右下角弹出错误说

    无法保存“grub”:权限不足。选择“以管理员身份重试”以管理员身份重试

    在此处输入图片说明

  • 单击Retry as Admin。它将要求管理员凭据

    在此处输入图片说明

  • 输入凭据并享受使用 vs-code 保存文件的乐趣。

  • 有没有办法做到这一点,而不必每次都为每个文件都这样做?我有数百个文件需要更改,而 VS Code 一直在询问我的密码。我正准备把我的笔记本电脑扔到墙上。 (7认同)
  • 我没有得到这个选项 (5认同)
  • 我以前有这个选项,但现在没有了。 (3认同)
  • 这里相同的选项似乎已经消失了:| (3认同)

小智 8

以 root 身份打开 VS-Code,打开终端并:

sudo code /directory-to-open --user-data-dir='.' --no-sandbox

确保你也检查了这一点:https ://stackoverflow.com/a/68637450/10606346

  • 对我来说,这只是打开 VS Code 的白屏。而已。 (5认同)

归档时间:

查看次数:

286136 次

最近记录:

4 年,1 月 前