How is it possible to run Pycharm from the launcher with root privileges?
I can do that from the terminal window, with sudo ./pycharm.sh
, but I'd like to do the same directly from the launcher.
How is it possible to run Pycharm from the launcher with root privileges?
I can do that from the terminal window, with sudo ./pycharm.sh
, but I'd like to do the same directly from the launcher.
I have encounter 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 here that this solution "attacks" the problem by running only a certain Python script (within the pycham 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/bash
sudo /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.
Cheers,
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.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
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