GNU/Linux >> Belajar Linux >  >> Linux

Menjalankan Pycharm sebagai root dari launcher

Pada posting ini (28 Juni 2018) saya menjalankan Pycharm-2018.1.4 di Ubuntu 18.04 Bionic Beaver. Solusi yang berhasil bagi saya adalah dengan mengedit sudoers.d file dan tambahkan berikut ini ke baris terakhir:

user host = (root) NOPASSWD: full_path_to_python

misalnya:

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


Saya perlu menjalankan skrip dari PyCharm sebagai root seperti OP, tetapi jawaban yang diterima tidak bekerja untuk saya karena 1.) Saya telah menginstal PyCharm melalui flatpak dan 2.) gksu perintah tidak tersedia di versi terbaru Ubuntu dan Mint.

Saya tidak dapat menemukan cara untuk membuat semuanya bekerja secara konsisten dengan pemasangan flatpak, jadi saya mencopot pemasangan flatpak PyCharm dan kemudian menginstal ulang PyCharm dengan cara "normal". Jawaban yang diterima bergantung pada gksu perintah yang tidak tersedia di OS saya (Mint 19.2). Untungnya pkexec adalah alternatif yang cocok dan sudah tersedia di sistem saya. Saya kemudian memperbarui file peluncur saya (~/.local/share/applications/PyCharm.desktop) sebagai berikut. Bit yang penting adalah Exec baris:

[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 perintah akan menyebabkan popup muncul meminta kata sandi Anda setiap kali Anda meluncurkan PyCharm melalui .desktop berkas.


Saya telah menemukan cara lain untuk menyelesaikan masalah ini, jadi saya berpikir untuk membagikannya (jawaban ini lebih seperti alternatif untuk jawaban lain).

Perlu disebutkan bahwa solusi ini "menyerang" masalah dengan hanya menjalankan skrip Python tertentu (dalam PyCharm IDE) dalam mode root , dan bukan seluruh aplikasi PyCharm.

1) Nonaktifkan membutuhkan kata sandi untuk menjalankan Python:

Ini akan dicapai dengan mengedit /etc/sudoers.d/python mengajukan. Yang perlu kita lakukan adalah menambahkan entri di file itu sebagai berikut:

user host = (root) NOPASSWD: full_path_to_python , misalnya:

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

CATATAN:

user dapat dideteksi dengan perintah:whoami

host dapat dideteksi dengan perintah:hostname

2) Buat a "skrip sudo":Tujuan dari skrip ini adalah untuk memberikan hak istimewa python untuk dijalankan sebagai pengguna root.

Buat skrip bernama python-sudo.sh , dan tambahkan yang berikut ke dalamnya:

!#/bin/bash

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

Perhatikan, sekali lagi, bahwa jalur tersebut adalah jalur ke Python Anda seperti fase sebelumnya.

Jangan lupa untuk memberikan izin eksekusi pada skrip ini menggunakan perintah:chmod , yaitu-

chmod +x python-sudo.sh

3) Gunakan python-sudo.sh skrip sebagai penerjemah PyCharm Anda:

Di dalam PyCharm, buka:File --> Settings --> Project interpreter

Di sisi kanan atas, klik ikon "pengaturan", dan klik "Tambahkan lokal".

Pada opsi browser pilih python-sudo.sh script yang telah kita buat sebelumnya. Ini akan memberi PyCharm hak istimewa untuk menjalankan skrip python sebagai root.

4) Debug tes:Yang harus dilakukan hanyalah men-debug skrip Python spesifik di PyCharm IDE. Ini dapat dilakukan dengan mudah melalui Klik kanan pada skrip untuk melakukan debug --> tekan "Debug sample_script_to_debug.py"

Semoga bermanfaat dan beri tahu saya jika ada kesalahan dalam pendekatan ini.

Pria.


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

Selengkapnya tentang gksudo

Jika Anda menggunakan ubuntu dan tidak memiliki gksudo instal menggunakan:

apt-get install gksu

Berikut adalah contoh konfigurasi peluncur (di bawah:~/.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 menunjukkan edisi komunitas, milik Anda mungkin berbeda.

Linux
  1. Melindungi Dari Menjalankan Tugas Atas Nama root di Plesk 12

  2. Mencegah skrip bash berjalan secara bersamaan

  3. Jalankan skrip bash dari URL

  1. Menjalankan skrip PHP dari baris perintah sebagai proses latar belakang

  2. Menjalankan skrip Python dari PHP

  3. Menjalankan skrip Python melalui systemd gagal memuat modul

  1. Menjalankan Script Dengan “. ” Dan Dengan “sumber”?

  2. Bagaimana saya bisa menentukan disk yang berbeda untuk menjadi root di grub.cfg saat menjalankan grub-mkconfig (dari skrip/noninteraktif)?

  3. Apakah mungkin untuk mengambil konten skrip bash yang sedang berjalan dari RAM