怎么可能以root权限从启动程序运行Pycharm?我可以在终端窗口中使用sudo ./pycharm.sh执行此操作,但我希望直接在启动器中执行相同的操作。
sudo ./pycharm.sh
a0zr77ik1#
我遇到了另一种解决这个问题的方法,所以我想分享它(这个答案更像是其他答案的替代方案)。值得一提的是,这个解决方案通过在根模式下只运行某个Python脚本(在PyCharm IDE中)来“解决”这个问题,而不是整个PyCharm应用程序。
1)禁用运行Python需要密码:
这将通过编辑/etc/sudoers.d/python文件来实现。我们需要做的是在该文件中添加一个条目,如下所示:user host = (root) NOPASSWD: full_path_to_python,例如:guya ubuntu = (root) NOPASSWD /usr/bin/python注:user可通过以下命令检测:whoamihost可通过以下命令检测:hostname
/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的脚本,并在其中添加以下内容:
python-sudo.sh
!#/bin/bash sudo /usr/bin/python "$@"
再次注意,路径是上一阶段Python的路径。不要忘记使用以下命令为该脚本给予执行权限:chmod,即-chmod +x python-sudo.sh
chmod
chmod +x python-sudo.sh
3)使用python-sudo.sh脚本作为PyCharm解释器:
在PyCharm中,转到:File --> Settings --> Project interpreter个在右上方点击“设置”图标,然后点击“添加本地”。在浏览器选项中,选择我们之前创建的python-sudo.sh脚本,这将给予PyCharm以root用户身份运行python脚本的权限。
File --> Settings --> Project interpreter
4)调试测试:剩下要做的就是在PyCharm IDE中调试特定的Python脚本了。
希望它是有帮助的,并让我知道,如果有任何错误,在这种方法。
afdcj2ne2#
尝试:gksudo ./path/to/pycharm/executable关于gksudo的更多信息如果你使用的是ubuntu,并且没有gksudo,可以使用以下命令安装它:
gksudo ./path/to/pycharm/executable
gksudo
apt-get install gksu
以下是启动器配置示例(位于:~/.local/share/applications/jetbrains-pycharm-ce.desktop):
~/.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
gk7wooem3#
在这篇文章发表之前(2018年6月28日),我正在Ubuntu 18.04 Bionic Beaver上运行Pycharm-2018.1.4,我的解决方案是编辑sudoers.d文件,并在最后一行添加以下内容:user host = (root) NOPASSWD: full_path_to_python个例如:guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
sudoers.d
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
cpjpxq1n4#
我需要像OP一样以root用户身份从PyCharm运行一个脚本,但是公认的答案对我不起作用,因为1)我已经通过flatpak安装了PyCharm,2)gksu命令在Ubuntu和Mint的新版本上不可用。我找不到一种方法来使事情工作与flatpak安装一致,所以我卸载了PyCharm flatpak,然后重新安装PyCharm的“正常”的方式。(Mint 19.2)。谢天谢地,pkexec是一个合适的替代品,并且已经在我的系统上可用。然后我更新了我的启动器文件(~/.local/share/applications/PyCharm.desktop),如下所示。最重要的一点是Exec行:
gksu
pkexec
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命令都会弹出一个提示您输入密码的窗口。
.desktop
bksxznpy5#
这里有一个示例git repo,它是一个概念验证。应该像README.md中的说明一样简单。我的团队需要为我们的一个产品做这个,我们使用它作为工作流。希望这对你有帮助!https://github.com/samayer12/sudome这个答案建立在Ed Jones首先指出的描述here之上。
README.md
aemubtdh6#
我有Pycharm社区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”放在几个字段前面(见上文),并使用不同的名称保存:
sudo
/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
6条答案
按热度按时间a0zr77ik1#
我遇到了另一种解决这个问题的方法,所以我想分享它(这个答案更像是其他答案的替代方案)。
值得一提的是,这个解决方案通过在根模式下只运行某个Python脚本(在PyCharm IDE中)来“解决”这个问题,而不是整个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
的脚本,并在其中添加以下内容:再次注意,路径是上一阶段Python的路径。
不要忘记使用以下命令为该脚本给予执行权限:
chmod
,即-chmod +x python-sudo.sh
3)使用
python-sudo.sh
脚本作为PyCharm解释器:在PyCharm中,转到:
File --> Settings --> Project interpreter
个在右上方点击“设置”图标,然后点击“添加本地”。
在浏览器选项中,选择我们之前创建的
python-sudo.sh
脚本,这将给予PyCharm以root用户身份运行python脚本的权限。4)调试测试:剩下要做的就是在PyCharm IDE中调试特定的Python脚本了。
希望它是有帮助的,并让我知道,如果有任何错误,在这种方法。
afdcj2ne2#
尝试:
gksudo ./path/to/pycharm/executable
关于
gksudo
的更多信息如果你使用的是ubuntu,并且没有
gksudo
,可以使用以下命令安装它:以下是启动器配置示例(位于:
~/.local/share/applications/jetbrains-pycharm-ce.desktop
):ce
表示社区版,您的版本可能有所不同。gk7wooem3#
在这篇文章发表之前(2018年6月28日),我正在Ubuntu 18.04 Bionic Beaver上运行Pycharm-2018.1.4,我的解决方案是编辑
sudoers.d
文件,并在最后一行添加以下内容:user host = (root) NOPASSWD: full_path_to_python
个例如:
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
cpjpxq1n4#
我需要像OP一样以root用户身份从PyCharm运行一个脚本,但是公认的答案对我不起作用,因为1)我已经通过flatpak安装了PyCharm,2)
gksu
命令在Ubuntu和Mint的新版本上不可用。我找不到一种方法来使事情工作与flatpak安装一致,所以我卸载了PyCharm flatpak,然后重新安装PyCharm的“正常”的方式。(Mint 19.2)。谢天谢地,
pkexec
是一个合适的替代品,并且已经在我的系统上可用。然后我更新了我的启动器文件(~/.local/share/applications/PyCharm.desktop),如下所示。最重要的一点是Exec
行:每次通过
.desktop
文件启动PyCharm时,pkexec
命令都会弹出一个提示您输入密码的窗口。bksxznpy5#
这里有一个示例git repo,它是一个概念验证。应该像
README.md
中的说明一样简单。我的团队需要为我们的一个产品做这个,我们使用它作为工作流。希望这对你有帮助!https://github.com/samayer12/sudome
这个答案建立在Ed Jones首先指出的描述here之上。
aemubtdh6#
我有Pycharm社区2020。我编辑了
带有nano的文件刚刚修改了桌面条目,如下所示:
即:在EXEC项前面添加
sudo
命令,将“root”放在几个字段前面(见上文),并使用不同的名称保存:现在我在启动器中有两个图标,一个是标准的,另一个以“root”作为描述中的前导词,并以root身份运行。
**注意:**原始桌面启动程序(仍在):