gksu: Gtk-WARNING **: ekranı açamıyor:: 0


40

Ani gksuların hepsi benim için çalışmayı bıraktı:

~$ gksu gparted

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

Aynı şey ile olur gparted-pkexec:

~$ gparted-pkexec 
No protocol specified

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

Buna ne sebep olabilir?

Bunu SSH veya VNC ile çalıştırmıyorum. Bu normal bir terminal penceresindeki localhost'tur .


Grafiksel bir kullanıcı arabiriminde çalışmaz veya hiçbir grafiksel arabirim sağlamayan bir sistemde (örneğin, ssh aracılığıyla) bir program çalıştırmayı denemezsiniz.
AB

1
@ AB bunun ssh üzerinden olmadığını açıklığa kavuşturmalıyım. Çok normal bir terminal penceresinde yerel ana bilgisayarda. Uygulama menüsünden gpartılan infact açılması aynı sonucu verdi.
d_inevitable

gksuGParted'i çalıştırmak için kullanmak zorunda kalmamalısınız . gpartedyükseltilmiş ayrıcalıklar elde etmek için polkit'i kullanır.
muru

@muru gpartedolmadan gksuRoot privileges are required for running gparted.
koşarken

Tamam, gparted-pkexec(olmadan gksu) veya deneyin gksu gpartedbin.
muru

Yanıtlar:


66

Ubuntu 17.10 veya daha yenisini kullanıyorsanız, bu durum Wayland için tam destekle bir uygulama güncellenmediğinde ortaya çıkabilir. Uygulama güncellenene kadar bir geçici çözüm olarak,

xhost +SI:localuser:root

hangi rootkullanıcının masaüstünde uygulamaları görüntülemek için izin verecektir . Ayrıca diğer olası geçici çözümler için bu soru-cevap bölümüne bakınız: Neden gksu / gksudo veya sudo ile grafiksel bir uygulama başlatmıyor?

kaynak


@MDMower Düzenlemek için Thx, yeni bir şey öğrendim =)!
Cutton Eye

@pomsky Thx link eklemek için;)!
Cutton Eye

18.04'te X-Org varsayılan olarak tekrar kullanılacak. Öyleyse bu problem ortadan kalkmalı. bkz.
Cutton Eye

11

xhost +localhostTerminalinizde koşmayı deneyin ve ardından komutu tekrar çalıştırın. Bu, sisteminizdeki tüm kullanıcıların (yani root) ekranınızda pencereleri açmasını sağlar. Yalnızca yerel ana bilgisayardan bağlantılara izin vermek her yerden daha güvenli olduğundan, yalnızca + yerel ana bilgisayarı kullandığınızdan emin olun.

Bunu kalıcı hale getirmek için ~/.xinitrcdosyayı şu şekilde düzenleyin :

Çalıştırmak gedit ~/.xinitrc

Bu şekilde görünmesi için dosyayı düzenleyin (başlangıçta boş olması gerekir):

#! /bin/bash
xhost +localhost &

Şimdi dosyayı kaydedin, çıkış yapın ve giriş yapın. Şimdi her şey sudo ile iyi çalışmalı.

14.04'te probleminizi çoğaltamıyorum, ancak sudo / gksu bu hatayı atarken geçmişte bu benim için işe yaradı.

Kaynaklar:

  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

1
Bu gerçekten işe yarıyor. Bu onun erişim kontrolü kısıtlaması anlamına mı geliyor? Bunun sebebinin ne olabileceği hakkında bir fikriniz var mı?
d_inevitable

Evet, X'in güvenlik özelliğidir. Aksi söylenene kadar, yalnızca kullanıcılarınızdan xserver'a bağlantı kurulmasına izin veriyor. Neden bazı uygulamalar için gerekli, bazıları için değil de kesinlikle emin değilim ve neden her şeyi paylaştığım için yaptığına dair hiçbir fikrim yok. Belki bir yerlerde güvenliği arttırıyor ve sıkıyorsunuz?
Mark Paskal,

2
Bu bir hata veriyor
IgorGanapolsky

5
On REDIS , kullanımda önerildi xhost +local:. Ondan sonra terminalden gparted'i başlatabildim ama kullanmak xhost +localhostişe yaramadı.
rmin

1
Aslında! xhost +local:benimki düzeltildi! Bu verir non-network local connections being added to access control listtabi budur.
ıstakoz

5

Terminalinizde aşağıdakileri uygulayın:

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

Sonuna aşağıdaki satırı ekleyin.

export XAUTHORITY=$HOME/.Xauthority

2
Bunun sorunu nasıl çözdüğü ve bunun olumsuz yan etkileri olup olmadığına dair bir açıklama eklerseniz yararlı olur mu?
Geoff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.