Running Pycharm as root from launcher Running Pycharm as root from launcher linux linux

Running Pycharm as root from launcher


I have encountered another way to solve this issue so I thought to share it (this answer is more like an alternative for the other answers).

It is worth to mention that this solution "attacks" the problem by running only a certain Python script (within the PyCharm IDE) in root mode , and not the entire PyCharm application.

1) Disable requiring password for running Python:

This will be achieved by editing the /etc/sudoers.d/python file. What we need to do is add an entry in that file as follows:

user host = (root) NOPASSWD: full_path_to_python , for example:

guya ubuntu = (root) NOPASSWD /usr/bin/python

NOTES:

user can be detected by the command: whoami

host can be detected by the command: hostname

2) Create a "sudo script": The purpose of this script is to give python privilege to run as root user.

Create a script called python-sudo.sh , and add the following into it:

!#/bin/bashsudo /usr/bin/python "$@"

Note, again, that the path is the path to your Python as the previous phase.

Don't forget to give execution permissions to this script using the command: chmod, i.e.-

chmod +x python-sudo.sh

3) Use the python-sudo.sh script as your PyCharm interpreter:

Within PyCharm go to: File --> Settings --> Project interpreter

At the right top hand side click the "setting" icon, and click "Add local".

In the browser option choose the python-sudo.sh script we have created previously. This will give PyCharm the privilege to run a python script as root.

4) Debug the test: All there is left to do is actually debug the specific Python script in the PyCharm IDE. This can be done easily via Right-click on the script to debug --> hit "Debug sample_script_to_debug.py"

Hope it was helpful and let me know if there are any mistakes in this approach.

Guy.


Try: gksudo ./path/to/pycharm/executable

More about gksudo

If you're on ubuntu and don't have gksudo install it using:

apt-get install gksu

Here is an example launcher configuration (under: ~/.local/share/applications/jetbrains-pycharm-ce.desktop):

[Desktop Entry]Version=1.0Type=ApplicationName=PyCharm Community EditionIcon=/home/YOUR_USER/pycharm/bin/pycharm.pngExec=gksudo -k -u root "/home/YOUR_USER/pycharm/bin/pycharm.sh" %fComment=Develop with pleasure!Categories=Development;IDE;Terminal=falseStartupWMClass=jetbrains-pycharm-ce
  • ce indicates community edition, yours may differ.


As of this post (June 28 2018) I am running Pycharm-2018.1.4 on Ubuntu 18.04 Bionic Beaver. The solution that worked for me was to simply edit the sudoers.d file and add the following to the last line:

user host = (root) NOPASSWD: full_path_to_python

for example:

guya surface-pro = (root) NOPASSWD /usr/bin/python3.6