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.