Saya menginstal Ubuntu 17.10. Sekarang saya mengalami masalah dengan gksu
:
$ gksu -dg synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
STARTUP_ID: gksu/synaptic/8760-0-alex-XPS-15-9530_TIME4974977
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -p
cmd[4]: GNOME_SUDO_PASS
cmd[5]: -u
cmd[6]: root
cmd[7]: --
cmd[8]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
Unable to init server: Could not connect: Connection refused
(synaptic:8767): Gtk-WARNING **: cannot open display: :1
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
xauth_env: (null)
dir: /tmp/libgksu-HgUjgQ
Jika saya tidak menggunakan -g
, dialog kata sandi dinonaktifkan. Jadi sepertinya ada masalah dengan membuat tty untuk root.
Ada saran?
gksudo
tidak akan berfungsi dalam sesi Wayland , Anda dapat beralih ke sesi Xorg dan mencoba.gksu -dg synaptic
Anda seharusnya tidak melakukan itu.Jawaban:
Perhatikan bahwa jawaban ini khusus untuk versi Ubuntu yang menggunakan Wayland, 17.10 menjadi rilis pertama yang menggunakan Wayland secara default.
Ini adalah fitur bukan bug! Ini adalah fitur desain dari Wayland sehingga Anda tidak dapat memulai aplikasi grafis sebagai root dari terminal.
Diskusi utama tentu saja di situs Fedora. Lihat bug Fedora # 1274451 dan Aplikasi grafis tidak dapat dijalankan sebagai root di wayland (misalnya gedit, beesu, gparted, nautilus) di Ask Fedora . Tetapi ada beberapa diskusi di situs Ubuntu juga ( Devs Ubuntu Tidak Pasti tentang Menggunakan Wayland secara Default di 17.10 - OMG! Ubuntu ).
Laporan bug Ubuntu: Tidak dapat meluncurkan aplikasi pkexec'ed pada sesi Wayland
Potensi penyelesaian - Jika Anda mengedit file sistem dengan editor grafis (seperti gedit) gunakan alat baris perintah seperti
nano
atauvim
atauemacs
.nano
biasanya lebih mudah bagi pengguna baru,vim
lebih kuat dan memiliki lebih banyak fitur, lihat Tutorial Vim ini atau yang serupa.Bagaimanapun, jika Anda benar-benar ingin atau perlu menjalankan aplikasi grafis sebagai root , atur
xhost
terlebih dahulu yang memaksa mundur ke Xserver.Untuk mengatur izin dijalankan:
Ketika Anda selesai, untuk menghapus izin
Anda dapat menambahkan opsi grafis / desktop untuk melakukan ini sesuai laporan bug sinaptik ini
Anda bisa menambahkan perintah xhost ini ke .bashrc, tetapi saya akan menyarankan sepasang alias
Anda dapat memberi nama alias apa pun yang Anda inginkan.
Untuk detailnya lihat:
Beralih kembali ke Xorg
Jika Anda lebih suka Xorg karena alasan apa pun, Anda dapat memilih untuk berjalan di Xorg saat login
Lihat Bagaimana Anda beralih dari Wayland kembali ke Xorg di Ubuntu 17.10?
sumber
xhost +local:
Solusi
Di Wayland seringkali sulit untuk menjalankan program aplikasi GUI dengan izin tinggi (sudo -H, gksu ...). Adalah ide yang baik untuk melakukan tugas-tugas seperti itu dengan alat-alat baris perintah.
Tetapi ada solusi, jika Anda memiliki alat GUI, yang berfungsi dengan baik untuk Anda dan membutuhkan izin yang lebih tinggi. (Saya menggunakan dua alat standar seperti: Synaptic Package Manager,
synaptic
dan alat partisi Gpartedgparted
,. Saya menggunakan MakeUSB untuk membuat USB boot drivemkusb
, juga, tetapi dapat menjalankan bagian-bagian yang memerlukan izin yang ditinggikan tanpa gambar.)xhost
dansudo -H
Ada solusi untuk memungkinkan program aplikasi grafis yang dimiliki oleh pengguna lain daripada pengguna yang login di Wayland,
gksu
dangksudo
tidak dibundel dengan Ubuntu standar dan tidak berfungsi di sini, tetapi mereka bekerja di Xorg.Sebaliknya Anda bisa menggunakan
Ini adalah ide yang baik untuk mencegah program aplikasi grafis yang dimiliki oleh pengguna lain daripada pengguna yang masuk setelah itu,
admin backend gvfs
Di Ubuntu 17.10 (gvfs> = 1.29.4) Anda dapat menggunakan backend admin gvfs. Perhatikan bahwa Anda memerlukan path lengkap,
Secara teori, metode backend admin gvfs (yang menggunakan polkit) lebih baik dan lebih aman (daripada
xhost
danxudo -H
), terlepas dari UI yang Anda gunakan.Anda tidak menjalankan keseluruhan aplikasi sebagai root. Eskalasi hak istimewa hanya terjadi jika benar-benar diperlukan. Lihat tautan berikut dan tautannya,
balasan sisco311 di utas Forum Ubuntu 'Praktek mana yang terbaik untuk menggunakan gedit sebagai root?'
Ini adalah posting # 4. Lihat juga posting # 6 di utas yang sama.
nautilus-admin
Dimungkinkan juga untuk digunakan
nautilus-admin
untuk operasi file dengan izin tinggi dan untuk digunakangedit
dengan izin tinggi. Ini dijelaskan dalam jawaban AskUbuntu berikut,Akses sementara untuk root ke desktop Wayland melalui fungsi
gks
Tolong hindari
sudo GUI-program
. Ini dapat menyebabkan sistem menimpa file konfigurasi untuk ID pengguna reguler Anda denganroot
konfigurasi dan mengatur kepemilikan dan izin agar sesuairoot
dan mengunci ID pengguna biasa Anda. Anda harus menjalankan aplikasi GUI dengansudo -H
, yang menulis file konfigurasi diroot
direktori home/root
. Contoh:Namun ada risiko yang Anda lupakan
-H
. Sebagai gantinya, Anda dapat membuat fungsi, misalnyagks
dan simpan di
~/.bashrc
dekat Anda alias. Maka Anda bisa laridengan cara yang mirip dengan cara Anda menggunakan
gksudo
sebelumnya.Pengujian
Anda dapat memeriksa caranya
sudo
,sudo -H
dangks
bekerja dengan perintah berikutdan tentu saja
sesuai dengan contoh di bagian sebelumnya.
Metode yang bekerja melalui menu Alt-F2 dan Gnome Shell
Alih-alih menambahkan fungsi satu garis sederhana
~/.bashrc
, Anda dapat membuat sistem, yang berfungsi juga tanpa bash. Mungkin nyaman digunakan, tetapi lebih rumit untuk diatur. Harap perhatikan bahwa Anda harus menginstal hanya salah satu alternatif, karena fungsi satu jalur akan mengganggu penggunaan sistem yang lebih rumit ini.Tiga file
Shellscript
gks
:File desktop
gks.desktop
:File ikon
gks.svg
terlihat seperti ini:Anda dapat mengunduh file ikon atau tarball dengan ketiga file dari tautan ini,
wiki.ubuntu.com/Wayland/gks
Salin file [diekstraksi atau disalin & disisipkan] ke lokasi berikut,
Logout / login atau reboot, dan harus ada ikon desktop yang berfungsi. Ini akan bekerja dari jendela terminal seperti dengan solusi sederhana dengan fungsi.
Alt F2 kotak:
Menu Gnome Shell:
gks console dan gparted:
Script khusus dan file desktop
Jika Anda hanya memiliki beberapa aplikasi GUI, yang memerlukan izin tinggi, Anda dapat membuat skrip khusus dan file desktop untuk mereka dan menghindari memasukkan perintah (nama aplikasi). Anda hanya akan memasukkan kata sandi, yang tidak lebih sulit dibandingkan dengan versi Ubuntu sebelumnya (Anda tetap harus memasukkan kata sandi).
Contoh dengan program GUI sederhana
xlogo
yang datang dengan paket programx11-apps
:Shellscript
gkslogo
(disederhanakan dibandingkan dengangks
),File desktop
gkslogo.desktop
:Saya malas dan menggunakan file ikon yang sama
gks.svg
Salin file [disalin & tempel] ke lokasi berikut,
gks [logo] console dan xlogo:
sumber
/etc/xdg/autostart/xhost.destop
juga disarankan) karena berakhir dengan mengembalikan lingkungan asli? Dan bisakah kita dengan aman menggantinyasudo -H
dengangksu
alias untuk menggunakan masukkan ke file .desktop, dll.?sudo -H
dengangksu
fungsi tersebut, mungkin berfungsi lebih baik untuk aplikasi Anda.gks
singkatan Anda, saya telah menyiapkangsu
untuk menggunakan kit kebijakan (masa depan baru untuk16.04
) untukgedit
dannautilus
. Ketika 18.04 keluar, saya pikir saya hanya akan memberi namaxhost +si...
skrip pembungkusgksu
yang saya tidak akan pernah menginstal dari paket dimulai dengan18.04
.sudo -E gedit
. Saat ini ada bug digdm
mana ia mengkonfigurasi server kompatibilitas Xwayland X11 untuk tidak mendukung XAUTHORITY, yang diperlukan untuk aplikasi X11 berjalan sebagai root untuk bekerja. Aplikasi wayland asli berjalan sebagai root bekerja dengan baik.Lebih baik memeriksa apakah wayland benar-benar berjalan terlebih dahulu sebelum memberikan root
sumber
Jika Anda menggunakan Ubuntu 17.04 atau lebih tinggi, disarankan untuk menggunakan backend admin gvfs . Cukup tambahkan admin: // ke bagian depan file penuh yang ingin Anda buka di aplikasi seperti Editor Teks atau aplikasi File .
Misalnya, untuk mengubah pengaturan boot, buka
Metode ini menggunakan PolicyKit dan masih akan bekerja dengan standar Wayland Ubuntu 17.10, sedangkan sudo dan gksu untuk aplikasi GUI tidak.
sumber
gedit admin:
), sangat aneh dengan nautilus (hampir tidak berguna), dan sama sekali gagal dengan sinaptik . Ada ide?admin:///etc/
Untuk aplikasi yang menggunakan su-to-root dan pkexec Anda mungkin ingin menambahkan kode ini
/etc/xdg/autostart
(lihat komentar saya di launchpad ) dengan risiko Anda sendiri:Aplikasi root lainnya juga rusak di Wayland (lihat bug 1713313 dan bug 1713311 ).
Jika Anda tidak menginginkan solusi permanen, Anda dapat menggunakan metode @ ravery:
sumber
Jika aplikasi mendukung Wayland API, Anda dapat menjalankannya sebagai root menggunakan
sudo -EH application
perintah.Switch -E memberi tahu sudo untuk melestarikan variabel lingkungan (serta WAYLAND_SOCKET dan XDG_RUNTIME_DIR) yang diperlukan untuk aplikasi darat. Itu selalu lebih baik untuk menggunakan opsi ini dari peretasan xhost jahat yang diusulkan dalam jawaban lain. xhost memungkinkan aplikasi untuk dijalankan dari bawah pembungkus X yang kurang aman daripada menggunakan Wayland (clipboard bersama, keylogging dll). Trik sudo -EH tidak akan bekerja dengan aplikasi yang belum ditulis ulang untuk wayland, seperti gparted misalnya, tetapi akan bekerja dengan gedit dll.
sumber
Sebenarnya kode berikut hampir berfungsi:
(permisi untuk gaya naif dari bash coding - saya semacam pemula dengan subjek ini). T tidak berfungsi dengan stabil dari Alt-F2, jika pilihan terakhir bukan terminal; dalam hal ini kita tidak bisa mengatur fokus ke dialog kata sandi. Sepertinya itu berfungsi dari menu Gnome. Pokoknya <1. Ini bukan solusi 100%. 2. Menurut saya para arsitek Ubuntu berpikir bahwa kita tidak seharusnya mencari pekerjaan di sekitar ..
sumber
"$@"
(bukan"$1" "$2" ...
).