ルート権限でランチャーからPycharmを実行するにはどうすればよいですか?
ターミナルウィンドウからSudo ./pycharm.sh
、ランチャーから直接同じことをしたいのですが。
私はこの問題を解決する別の方法に遭遇したので、それを共有しようと思いました(この回答は、他の回答の代わりのようなものです)。
このソリューションは、ルートモードで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」をヒット
お役に立てば幸いです。このアプローチに誤りがないかどうかをお知らせください。
乾杯、
男。
試してください: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
はコミュニティエディションを示します。実際のエディションは異なる場合があります。この投稿の時点(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
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を起動するたびに、パスワードの入力を求めるポップアップが表示されます。