GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ausführen von Pycharm als root vom Launcher

Ab diesem Beitrag (28. Juni 2018) verwende ich Pycharm-2018.1.4 auf Ubuntu 18.04 Bionic Beaver. Die für mich funktionierende Lösung bestand darin, einfach den sudoers.d zu bearbeiten Datei und fügen Sie der letzten Zeile Folgendes hinzu:

user host = (root) NOPASSWD: full_path_to_python

zum Beispiel:

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


Ich musste ein Skript von PyCharm als root wie das OP ausführen, aber die akzeptierte Antwort funktionierte für mich nicht, weil 1.) ich PyCharm über Flatpak und 2.) den gksu installiert hatte Befehl ist in neueren Versionen von Ubuntu und Mint nicht verfügbar.

Ich konnte keine Möglichkeit finden, die Dinge mit der Flatpak-Installation konsistent zum Laufen zu bringen, also habe ich das PyCharm-Flatpak deinstalliert und dann PyCharm auf die "normale" Weise neu installiert. Die akzeptierte Antwort beruht auf dem gksu Befehl, der auf meinem Betriebssystem (Mint 19.2) nicht verfügbar ist. Zum Glück pkexec ist eine geeignete Alternative und war auf meinem System bereits vorhanden. Ich habe dann meine Launcher-Datei (~/.local/share/applications/PyCharm.desktop) wie folgt aktualisiert. Das wichtige Bit ist die Exec Zeile:

[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

Die pkexec Der Befehl bewirkt, dass jedes Mal, wenn Sie PyCharm über .desktop starten, ein Popup erscheint, in dem Sie zur Eingabe Ihres Passworts aufgefordert werden Datei.


Ich bin auf einen anderen Weg gestoßen, um dieses Problem zu lösen, also dachte ich, es zu teilen (diese Antwort ist eher eine Alternative für die anderen Antworten).

Es ist erwähnenswert, dass diese Lösung das Problem "angreift", indem sie nur ein bestimmtes Python-Skript (innerhalb der PyCharm-IDE) im Root-Modus ausführt und nicht die gesamte PyCharm-Anwendung.

1) Deaktivieren Kennwort zum Ausführen von Python erforderlich:

Dies wird durch Bearbeiten des /etc/sudoers.d/python erreicht Datei. Was wir tun müssen, ist einen Eintrag in dieser Datei wie folgt hinzuzufügen:

user host = (root) NOPASSWD: full_path_to_python , zum Beispiel:

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

HINWEISE:

user kann durch den Befehl erkannt werden:whoami

host kann durch den Befehl erkannt werden:hostname

2) Erstellen ein "sudo-Skript":Der Zweck dieses Skripts besteht darin, Python das Recht zu geben, als Root-Benutzer ausgeführt zu werden.

Erstellen Sie ein Skript namens python-sudo.sh , und fügen Sie Folgendes hinzu:

!#/bin/bash

sudo /usr/bin/python "[email protected]"

Beachten Sie erneut, dass der Pfad der Pfad zu Ihrem Python in der vorherigen Phase ist.

Vergessen Sie nicht, diesem Skript mit dem folgenden Befehl Ausführungsberechtigungen zu erteilen:chmod , d.h.-

chmod +x python-sudo.sh

3) Verwenden die python-sudo.sh script als Ihren PyCharm-Interpreter:

Gehen Sie in PyCharm zu:File --> Settings --> Project interpreter

Klicken Sie oben rechts auf das Symbol "Einstellungen" und dann auf "Lokal hinzufügen".

Wählen Sie in der Browseroption den python-sudo.sh Skript, das wir zuvor erstellt haben. Dadurch erhält PyCharm das Recht, ein Python-Skript als root auszuführen.

4) Fehlerbehebung der Test:Alles, was noch zu tun bleibt, ist das eigentliche Debuggen des spezifischen Python-Skripts in der PyCharm-IDE. Dies kann ganz einfach per Rechtsklick auf das zu debuggende Skript erfolgen --> klicken Sie auf "Debug sample_script_to_debug.py"

Hoffe, es war hilfreich und lass es mich wissen, wenn es irgendwelche Fehler in diesem Ansatz gibt.

Kerl.


Versuchen Sie:gksudo ./path/to/pycharm/executable

Mehr über gksudo

Wenn Sie Ubuntu verwenden und gksudo nicht haben Installieren Sie es mit:

apt-get install gksu

Hier ist eine beispielhafte Launcher-Konfiguration (unter:~/.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 gibt die Community-Edition an, Ihre kann abweichen.

Linux
  1. Schutz vor dem Ausführen von Aufgaben im Auftrag von root in Plesk 12

  2. Verhindern, dass ein Bash-Skript gleichzeitig ausgeführt wird

  3. Laufendes Skript mit „. “ Und mit „Quelle“?

  4. Wie erkenne ich, dass ich in einem Chroot laufe?

  5. Überprüfen, ob ein Skript ausgeführt wird?

Shell-Skript parallel ausführen

Führen Sie das Bash-Skript von der URL aus

Ausführen des PHP-Skripts von der Befehlszeile als Hintergrundprozess

Ausführen eines Python-Skripts von PHP

Ist es möglich, den Inhalt eines laufenden Bash-Skripts aus dem RAM abzurufen?

Fordert den Benutzer auf, sich als Root anzumelden, wenn ein Shell-Skript ausgeführt wird