Linux 从启动器以root身份运行Pycharm
如何以root权限从启动器运行PycharmLinux 从启动器以root身份运行Pycharm,linux,ubuntu,pycharm,root,sudo,Linux,Ubuntu,Pycharm,Root,Sudo,如何以root权限从启动器运行Pycharm 我可以在终端窗口中使用sudo./pycharm.sh,但我想直接从启动器中执行同样的操作。尝试:gksudo./path/to/pycharm/executable 更多关于 如果您在ubuntu上,并且没有gksudo,请使用以下方法安装它: apt-get install gksu 下面是一个示例启动器配置(位于:~/.local/share/applications/jetbrains Pyce.desktop): ce表示社区版,您的可
我可以在终端窗口中使用
sudo./pycharm.sh
,但我想直接从启动器中执行同样的操作。尝试:gksudo./path/to/pycharm/executable
更多关于
如果您在ubuntu上,并且没有gksudo
,请使用以下方法安装它:
apt-get install gksu
下面是一个示例启动器配置(位于:~/.local/share/applications/jetbrains Pyce.desktop
):
表示社区版,您的可能不同ce
/etc/sudoers.d/python
文件来实现。我们需要做的是在该文件中添加一个条目,如下所示:
user host=(root)NOPASSWD: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中,转到:文件-->设置-->项目解释器
在右上方单击“设置”图标,然后单击“添加本地”
在浏览器选项中,选择前面创建的pythonsudo.sh
脚本。这将赋予PyCharm以root身份运行python脚本的权限
4)调试测试:剩下要做的就是在PyCharm IDE中调试特定的Python脚本。这可以通过右键单击要调试的脚本-->点击“调试示例\u脚本\u到\u debug.py”轻松完成
希望这是有帮助的,让我知道,如果有任何错误,在这个方法
Guy.截至本帖(2018年6月28日),我正在Ubuntu 18.04 Bionic Beaver上运行Pycharm-2018.1.4。对我有效的解决方案是编辑sudoers.d
文件,并在最后一行添加以下内容:
user host=(root)NOPASSWD:python的完整路径
例如:
guya surface pro=(root)NOPASSWD/usr/bin/python3.6
我需要从PyCharm运行一个脚本,就像OP一样,但是被接受的答案对我不起作用,因为1.)我通过flatpak安装了PyCharm;2.)更新版本的Ubuntu和Mint上没有gksu
命令
我找不到一种方法使事情与flatpak安装一致,所以我卸载了PyCharm flatpak,然后以“正常”的方式重新安装了PyCharm。接受的答案依赖于gksu
命令,该命令在我的操作系统(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 community 2020。
我编辑了
/var/lib/snapd/desktop/applications/pycharm-community_pycharm-community.desktop
用nano归档
只需修改桌面条目,如下所示:
[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运行
注意:
原始桌面启动器(仍在那里):
下面是一个git回购的示例,它是如何实现这一点的概念证明。应该像遵循README.md
中的说明一样简单。我的团队需要为我们的一个产品这样做,我们将其作为工作流程
希望这有帮助
这个答案建立在Ed Jones首先指出的描述基础上。谢谢,但我想避免进入终端窗口,如果可能的话,直接从启动器图标以root用户身份运行。是的,它以我当前的用户身份启动应用程序,而不是root用户。谢谢,这正是我要找的!安装flatpak Pycharm怎么样?我不熟悉Pycharm,但这篇文章可能正是你想要的:这对我不起作用,它破坏了我的sudoers文件,这是一次冒险。。。随着PyCharm(和IntelliJ)吐出无效的解释器
&所以我还是试了一下,就是不起作用-1从我这里(这是在ubuntu btw上)这意味着每个python脚本都有根权限。虽然这是对这个问题的正确回答,但我不会实施这个解决方案,因为它确实很危险。
/var/lib/snapd/desktop/applications/root_pycharm-community_pycharm-community.desktop
[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