运行 Pycharm 作为启动器的 root
Running Pycharm as root from launcher
如何使用 root 权限从启动器 运行 Pycharm?
我可以使用 sudo ./pycharm.sh
从终端 window 执行此操作,但我想直接从启动器执行此操作。
尝试:gksudo ./path/to/pycharm/executable
更多关于gksudo
如果您使用 ubuntu 并且没有 gksudo
安装它,请使用:
apt-get install gksu
这是启动器配置示例(位于:~/.local/share/applications/jetbrains-pycharm-ce.desktop
):
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/home/YOUR_USER/pycharm/bin/pycharm.png
Exec=gksudo -k -u root "/home/YOUR_USER/pycharm/bin/pycharm.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
ce
表示社区版,您的可能不同。
我遇到了另一种解决这个问题的方法,所以我想分享一下(这个答案更像是其他答案的替代品)。
值得一提的是,此解决方案通过 运行仅在 root 中使用某个 Python 脚本(在 PyCharm IDE 中)来“解决”问题mode ,而不是整个 PyCharm 应用程序。
1) 禁用 运行 宁 Python:
需要密码
这将通过编辑 /etc/sudoers.d/python
文件来实现。我们需要做的是在该文件中添加一个条目,如下所示:
user host = (root) NOPASSWD: full_path_to_python
,例如:
guya ubuntu = (root) NOPASSWD /usr/bin/python
备注:
user
可以通过命令检测:whoami
host
可以通过命令检测:hostname
2) 创建 一个“sudo 脚本”:这个脚本的目的是将python 特权授予运行 作为root 用户。
创建一个名为 python-sudo.sh
的脚本,并在其中添加以下内容:
!#/bin/bash
sudo /usr/bin/python "$@"
请再次注意,该路径是前一阶段 Python 的路径。
不要忘记使用命令授予此脚本执行权限:chmod
,即-
chmod +x python-sudo.sh
3) 使用 python-sudo.sh
脚本作为您的 PyCharm 解释器:
在 PyCharm 内转到:File --> Settings --> Project interpreter
点击右上角的“设置”图标,然后点击“添加本地”。
在浏览器选项中选择我们之前创建的 python-sudo.sh
脚本。这将给予 PyCharm 特权 运行 一个 python 脚本作为 root。
4) 调试 测试:剩下要做的就是实际调试 PyCharm IDE 中的特定 Python 脚本.这可以通过右键单击要调试的脚本轻松完成 --> 点击“Debug sample_script_to_debug.py”
希望对您有所帮助,如果此方法有任何错误,请告诉我。
家伙。
截至本 post(2018 年 6 月 28 日)我是 运行 Pycharm-2018.1.4 Ubuntu 18.04 Bionic Beaver。对我有用的解决方案是简单地编辑 sudoers.d
文件并将以下内容添加到最后一行:
user host = (root) NOPASSWD: full_path_to_python
例如:
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
我需要 运行 来自 PyCharm 的脚本作为 root 就像 OP,但接受的答案对我不起作用,因为 1.) 我安装了 PyCharm 通过 flatpak 和 2.) gksu
命令在新版本的 Ubuntu 和 Mint 上不可用。
我找不到让 flatpak 安装一致的方法,所以我卸载了 PyCharm flatpak,然后重新安装 PyCharm "normal" 方式。接受的答案依赖于 gksu
命令,该命令在我的 OS (Mint 19.2) 上不可用。值得庆幸的是 pkexec
是一个合适的替代方案,并且已经在我的系统上可用。然后,我更新了我的启动器文件 (~/.local/share/applications/PyCharm.desktop),如下所示。重要的一点是 Exec
行:
[Desktop Entry]
Name=PyCharm
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/pycharm-community-2019.2.2/bin/pycharm.sh
Comment=PyCharm
Terminal=false
Icon=/opt/pycharm-community-2019.2.2/bin/pycharm.png
Type=Application
每次通过 .desktop
文件启动 PyCharm 时,pkexec
命令将导致弹出窗口提示您输入密码。
我有 Pycharm-社区 2020。
我编辑了
/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop
纳米文件
刚刚修改了桌面条目如下:
[Desktop Entry]
X-SnapInstanceName=pycharm-community
Version=1.0
Type=Application
Name=root PyCharm Community Edition
Icon=/snap/pycharm-community/222/bin/pycharm.png
Exec=sudo env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=root Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
StartupNotify=true
即:在 EXEC 项前面添加 sudo
命令,将“root”放在几个字段前面(见上文)并用不同的名称保存:
/var/lib/snapd/desktop/applications/root_pycharm-community_pycharm-community.desktop
现在我在启动器中有两个图标,一个是标准图标,另一个在描述中以“root”作为前导词并以 root 身份运行。
注:
原始桌面启动器(仍然存在):
[Desktop Entry]
X-SnapInstanceName=pycharm-community
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/snap/pycharm-community/222/bin/pycharm.png
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
StartupNotify=true
这是一个示例 git 存储库,它是关于如何执行此操作的概念验证。应该像遵循 README.md
中的说明一样简单。我的团队需要为我们的一款产品执行此操作,我们将其用作工作流程。
希望对您有所帮助! https://github.com/samayer12/sudome
这个答案建立在描述 here 的基础上,Ed Jones 最先指出了这一点。
如何使用 root 权限从启动器 运行 Pycharm?
我可以使用 sudo ./pycharm.sh
从终端 window 执行此操作,但我想直接从启动器执行此操作。
尝试:gksudo ./path/to/pycharm/executable
更多关于gksudo
如果您使用 ubuntu 并且没有 gksudo
安装它,请使用:
apt-get install gksu
这是启动器配置示例(位于:~/.local/share/applications/jetbrains-pycharm-ce.desktop
):
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/home/YOUR_USER/pycharm/bin/pycharm.png
Exec=gksudo -k -u root "/home/YOUR_USER/pycharm/bin/pycharm.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
ce
表示社区版,您的可能不同。
我遇到了另一种解决这个问题的方法,所以我想分享一下(这个答案更像是其他答案的替代品)。
值得一提的是,此解决方案通过 运行仅在 root 中使用某个 Python 脚本(在 PyCharm IDE 中)来“解决”问题mode ,而不是整个 PyCharm 应用程序。
1) 禁用 运行 宁 Python:
需要密码这将通过编辑 /etc/sudoers.d/python
文件来实现。我们需要做的是在该文件中添加一个条目,如下所示:
user host = (root) NOPASSWD: full_path_to_python
,例如:
guya ubuntu = (root) NOPASSWD /usr/bin/python
备注:
user
可以通过命令检测:whoami
host
可以通过命令检测:hostname
2) 创建 一个“sudo 脚本”:这个脚本的目的是将python 特权授予运行 作为root 用户。
创建一个名为 python-sudo.sh
的脚本,并在其中添加以下内容:
!#/bin/bash
sudo /usr/bin/python "$@"
请再次注意,该路径是前一阶段 Python 的路径。
不要忘记使用命令授予此脚本执行权限:chmod
,即-
chmod +x python-sudo.sh
3) 使用 python-sudo.sh
脚本作为您的 PyCharm 解释器:
在 PyCharm 内转到:File --> Settings --> Project interpreter
点击右上角的“设置”图标,然后点击“添加本地”。
在浏览器选项中选择我们之前创建的 python-sudo.sh
脚本。这将给予 PyCharm 特权 运行 一个 python 脚本作为 root。
4) 调试 测试:剩下要做的就是实际调试 PyCharm IDE 中的特定 Python 脚本.这可以通过右键单击要调试的脚本轻松完成 --> 点击“Debug sample_script_to_debug.py”
希望对您有所帮助,如果此方法有任何错误,请告诉我。
家伙。
截至本 post(2018 年 6 月 28 日)我是 运行 Pycharm-2018.1.4 Ubuntu 18.04 Bionic Beaver。对我有用的解决方案是简单地编辑 sudoers.d
文件并将以下内容添加到最后一行:
user host = (root) NOPASSWD: full_path_to_python
例如:
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
我需要 运行 来自 PyCharm 的脚本作为 root 就像 OP,但接受的答案对我不起作用,因为 1.) 我安装了 PyCharm 通过 flatpak 和 2.) gksu
命令在新版本的 Ubuntu 和 Mint 上不可用。
我找不到让 flatpak 安装一致的方法,所以我卸载了 PyCharm flatpak,然后重新安装 PyCharm "normal" 方式。接受的答案依赖于 gksu
命令,该命令在我的 OS (Mint 19.2) 上不可用。值得庆幸的是 pkexec
是一个合适的替代方案,并且已经在我的系统上可用。然后,我更新了我的启动器文件 (~/.local/share/applications/PyCharm.desktop),如下所示。重要的一点是 Exec
行:
[Desktop Entry]
Name=PyCharm
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/pycharm-community-2019.2.2/bin/pycharm.sh
Comment=PyCharm
Terminal=false
Icon=/opt/pycharm-community-2019.2.2/bin/pycharm.png
Type=Application
每次通过 .desktop
文件启动 PyCharm 时,pkexec
命令将导致弹出窗口提示您输入密码。
我有 Pycharm-社区 2020。 我编辑了
/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop
纳米文件 刚刚修改了桌面条目如下:
[Desktop Entry]
X-SnapInstanceName=pycharm-community
Version=1.0
Type=Application
Name=root PyCharm Community Edition
Icon=/snap/pycharm-community/222/bin/pycharm.png
Exec=sudo env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=root Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
StartupNotify=true
即:在 EXEC 项前面添加 sudo
命令,将“root”放在几个字段前面(见上文)并用不同的名称保存:
/var/lib/snapd/desktop/applications/root_pycharm-community_pycharm-community.desktop
现在我在启动器中有两个图标,一个是标准图标,另一个在描述中以“root”作为前导词并以 root 身份运行。
注: 原始桌面启动器(仍然存在):
[Desktop Entry]
X-SnapInstanceName=pycharm-community
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/snap/pycharm-community/222/bin/pycharm.png
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop /snap/bin/pycharm-community %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
StartupNotify=true
这是一个示例 git 存储库,它是关于如何执行此操作的概念验证。应该像遵循 README.md
中的说明一样简单。我的团队需要为我们的一款产品执行此操作,我们将其用作工作流程。
希望对您有所帮助! https://github.com/samayer12/sudome
这个答案建立在描述 here 的基础上,Ed Jones 最先指出了这一点。