gksu: Gtk-WARNING **: tidak dapat membuka tampilan:: 0

40

Tiba-tiba gksu berhenti bekerja untukku:

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0

Hal yang sama terjadi dengan gparted-pkexec:

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0

Apa yang mungkin menyebabkan ini?

Saya tidak menjalankan ini melalui SSH atau VNC. Ini adalah localhost di jendela terminal normal .

d_inevitable
sumber
Anda tidak bekerja dalam antarmuka pengguna grafis atau mencoba menjalankan program pada sistem (mis. Via ssh) yang tidak disediakan oleh antarmuka grafis.
AB
1
@ AB Saya harus mengklarifikasi bahwa ini bukan melalui ssh. Ada di host lokal di jendela terminal yang sangat normal. Pembukaan infact gparted dari menu aplikasi memiliki hasil yang sama.
d_inevitable
Anda tidak harus menggunakan gksuuntuk menjalankan GParted. gpartedmenggunakan polkit untuk mendapatkan hak istimewa yang tinggi.
muru
@muru ketika saya berlari gpartedtanpa gksusaya dapatkanRoot privileges are required for running gparted.
d_inevitable
Oke, coba gparted-pkexec(tanpa gksu) atau gksu gpartedbin.
muru

Jawaban:

67

Jika menjalankan Ubuntu 17.10 atau lebih baru, masalah ini dapat muncul ketika aplikasi belum diperbarui dengan dukungan penuh untuk Wayland. Sebagai solusi hingga aplikasi diperbarui, Anda dapat menjalankannya

xhost +SI:localuser:root

yang akan memungkinkan rootpengguna untuk menampilkan aplikasi di desktop Anda. Lihat juga Tanya Jawab ini untuk solusi yang memungkinkan lainnya: Mengapa tidak gksu / gksudo atau meluncurkan aplikasi grafis dengan sudo bekerja dengan Wayland?

sumber

Mata Cutton
sumber
@MDMower Thx untuk mengedit, mempelajari sesuatu yang baru =)!
Cutton Eye
@ pomsky Thx untuk menambahkan tautan;)!
Cutton Eye
Pada 18,04 X-Org akan digunakan lagi sebagai default. Jadi masalah ini harus vanis kalau begitu. lihat
Cutton Eye
11

Coba jalankan xhost +localhostdi terminal Anda, dan kemudian jalankan perintah lagi. Ini memungkinkan semua pengguna di sistem Anda (yaitu root) membuka jendela di layar Anda. Pastikan untuk menggunakan + localhost dan bukan hanya +, karena lebih aman untuk mengizinkan koneksi dari hanya localhost daripada dari mana saja.

Untuk menjadikan ini permanen, edit ~/.xinitrcfile seperti ini:

Menjalankan gedit ~/.xinitrc

Edit file agar terlihat seperti ini (harus kosong di awal):

#! /bin/bash
xhost +localhost &

Sekarang simpan file, logout dan login. Sekarang semuanya harus berjalan dengan baik dengan sudo.

Saya tidak dapat mereproduksi masalah Anda pada 14,04, tetapi ini telah berhasil bagi saya di masa lalu ketika sudo / gksu melemparkan kesalahan ini.

Sumber:

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession
Mark Paskal
sumber
1
Ini memang berhasil. Jadi, apakah itu berarti pembatasan kontrol akses? Adakah ide penyebabnya?
d_inevitable
Ya, ini adalah fitur keamanan X. Ini memungkinkan hanya koneksi dari pengguna Anda ke xserver sampai dikatakan sebaliknya, saya kira. Saya tidak begitu yakin mengapa itu diperlukan untuk beberapa aplikasi dan bukan yang lain, dan saya tidak tahu mengapa itu akan dilakukan untuk semua hal. Mungkin Anda mengutak-atik dan memperketat keamanan di suatu tempat?
Mark Paskal
2
Ini menghasilkan kesalahan: xhost: tidak dapat membuka tampilan ""
IgorGanapolsky
5
Pada redis , disarankan untuk digunakan xhost +local:. Setelah itu saya bisa meluncurkan gparted dari terminal, tetapi menggunakan xhost +localhosttidak berhasil.
rmin
1
Memang! xhost +local:tetap milikku! Ini menghasilkan non-network local connections being added to access control listapa yang dibutuhkan.
Lobner
5

Jalankan yang berikut di terminal Anda:

nano /home/user/.bashrc # user = name of your user

Tambahkan baris berikut di akhir.

export XAUTHORITY=$HOME/.Xauthority
Wilder Hernández García
sumber
2
Akan bermanfaat jika Anda dapat menambahkan beberapa penjelasan tentang bagaimana ini memecahkan masalah, dan apakah itu memiliki efek samping yang merugikan?
Geoff