我最近安装了 Visual Studio Code 编辑器。我下载了 32 位 .deb 包。安装并正常运行,但当我尝试将文件保存在项目文件夹中时,它返回权限被拒绝。因此,我使用
sudo code .
然后它返回
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.
我寻找了如何使用参数指定备用用户数据目录--user-data-dir
,但没有找到太多信息。
那么,如何在 Ubuntu 16.04 中以 root 身份运行 Visual Studio Code?
编辑:我更喜欢避免更改目录权限的解决方案。
编辑2:项目目录:(/var/www/project
我正在使用带有 vhost 的 Apache)
答案1
以 root 身份运行 VScode 非常危险(就像任何其他应用程序一样),但是,如果您确实需要:
您必须指定运行 vs code 时要使用的用户数据目录:
sudo code --user-data-dir="~/.vscode-root"
然后从窗口中打开你的项目文件夹
再次强调:不建议这么做。祝您玩得开心。
2018 年 5 月更新
对于那些问为什么不推荐这样做的人来说,你显然不明白为什么sudo
存在这种做法。来自这个 AskUbuntu 问题:
它破坏了多年来一直存在的安全模型。应用程序旨在以非管理安全性运行(或以普通用户的身份运行),因此您必须提升其权限才能修改底层系统。例如,您不会希望最近 Rhythmbox 崩溃后由于错误而导致整个 /usr 目录被清除。或者刚刚在 ProFTPD 中发布的漏洞允许攻击者获得 ROOT shell。
在任何操作系统上,以用户级别运行应用程序并将管理任务留给根用户并仅根据需要执行都是很好的做法。
我并不是说你永远不应该以 root 身份使用 VSCode(尽管避免这样做很容易)我是说当你想这样做时你应该小心并了解风险。
最好的做法是复制一个受限文件,对其进行编辑,然后在您确定完成后再将其复制回来。
此外,对于编辑用户无权访问的文件,我现在推荐 Talha Junaid 的答案,每次要保存文件时都会询问权限。当我写这个答案时,root 访问权限的提示还不存在。
答案2
答案3
以 root 身份打开 vs-code,打开终端并:
sudo code /directory-to-open --user-data-dir='.' --no-sandbox