web-dev-qa-db-ja.com

ランチャーからルートとしてPycharmを実行する

ルート権限でランチャーからPycharmを実行するにはどうすればよいですか?

ターミナルウィンドウからSudo ./pycharm.sh、ランチャーから直接同じことをしたいのですが。

13
Zorgmorduk

私はこの問題を解決する別の方法に遭遇したので、それを共有しようと思いました(この回答は、他の回答の代わりのようなものです)。

このソリューションは、ルートモードでpycharmアプリケーション全体ではなく、特定のPythonスクリプト(pycham IDE内))のみを実行することで問題を「攻撃」することをここで言及する価値があります。

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スクリプト」:このスクリプトの目的は、rootユーザーとして実行するpython特権を与えることです。

_python-Sudo.sh_というスクリプトを作成し、それに以下を追加します。

_!#/bin/bash

Sudo /usr/bin/python "$@"
_

ここでも、パスは前のフェーズと同じようにPythonへのパスです。

次のコマンドを使用して、このスクリプトに実行権限を与えることを忘れないでください:chmod、つまり-

_chmod +x python-Sudo.sh_

)Use _python-Sudo.sh_スクリプトをpycharmインタープリターとして使用します。

Pycharm内に移動:_File --> Settings --> Project interpreter_

右上の「設定」アイコンをクリックし、「ローカルを追加」をクリックします。

ブラウザオプションで、以前に作成した_python-Sudo.sh_スクリプトを選択します。これはpycharmにpythonスクリプトをrootとして実行する特権を与えます。

4)デバッグテスト:あとは、実際にpycharm IDEの特定のPythonスクリプトをデバッグするだけです。これは、右クリックして簡単に実行できます。デバッグするスクリプト->「Debug sample_script_to_debug.py」をヒット

お役に立てば幸いです。このアプローチに誤りがないかどうかをお知らせください。

乾杯、

男。

7
Guy Avraham

試してください:gksudo ./path/to/pycharm/executable

gksudo の詳細

Ubuntuを使用していて、gksudoがない場合は、次を使用してインストールします。

apt-get install gksu

以下はランチャー設定の例です(下:~/.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はコミュニティエディションを示します。実際のエディションは異なる場合があります。
10
Reut Sharabani

この投稿の時点(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

2
Anthony Smith

OPのようにrootとしてPyCharmからスクリプトを実行する必要がありましたが、1。)flatpakを介してPyCharmをインストールしていて、2。)gksuコマンドが使用されていないため、受け入れられた回答が機能しませんでした。 UbuntuとMintの新しいバージョンで利用できます。

Flatpakインストールで一貫して動作する方法を見つけることができなかったので、PyCharm flatpakをアンインストールしてから、「通常の」方法でPyCharmを再インストールしました。受け入れられた答えは、私のOS(Mint 19.2)では利用できないgksuコマンドに依存しています。ありがたいことに、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

pkexecコマンドを使用すると、.desktopファイルを介してPyCharmを起動するたびに、パスワードの入力を求めるポップアップが表示されます。

1
ubiquibacon