Linux’ta ‘Cannot Open Display’ Hatasını Düzeltme

Bir Linux sisteminde, bir GUI uygulamasını açmaya çalışırken, özellikle de onu komut satırından açarken Ekran Açılamıyor hatası oluşabilir.  Uzak bir sisteme SSH aracılığıyla X11 iletmeyi kullanmaya çalıştığınızda da bu durum ortaya çıkabilir.  İyi haber şu ki, ister yerel bir uygulamaya ister uzak bir sunucuya erişirken alıyor olun, bu hatanın düzeltilmesi nispeten kolaydır.  Bu eğitimde, Linux’ta Ekran Açılamıyor hatasını düzeltmek için gerekli adımları ele alacağız.

 

Linux’ta ‘Cannot Open Display’ Hatasını Düzeltme

  1. Cannot Open Display hatası aldığınızda ilk kontrol etmeniz gereken şey DISPLAY değişkeninizin değeridir ve hatta ayarlandığını doğrulayın.
    $ echo DISPLAY
    

    Bu komut hiçbir çıktı göstermiyorsa veya size hata veriyorsa, değişkeniniz ayarlanmamış veya yanlış ayarlanmış demektir.

  2. DISPLAY değişkenini ayarlamak için aşağıdaki komutu kullanacağız:
    $ export DISPLAY=:0
    

    DISPLAY değerinizin :0,0 gibi farklı olması gerekebileceğini unutmayın.  Sisteminize ve konfigürasyonunuza bağlıdır.  Ayarladıktan sonra değişkeninizin artık doğru şekilde ayarlandığından emin olmak için tekrar kontrol edin ve ardından düzeltmeyi doğrulamak için xeyes’i açmayı deneyin:

    $ echo DISPLAY
    $ xeyes
    
    Checking DISPLAY variable and using xeyes for further verification
    DISPLAY değişkenini kontrol etme ve daha fazla doğrulama için xeyes kullanma
  3. Uzak bir sunucudan GUI tabanlı bir uygulama çalıştırmaya çalışıyorsanız, SSH bağlantınızda X11 iletmenin etkinleştirildiğinden emin olmanız gerekir.  Oturum bağlantısını kesmeyi deneyin ve yeniden bağlanırken SSH oturum açma komutunuzdaki -X seçeneğini kullanın:
    $ ssh -X username@remote-server
    

    Alternatif olarak masaüstü ekranını paylaşmak için X11vnc gibi farklı bir uygulama kullanmayı deneyin.

  4. Hala SSH aracılığıyla X11 iletmeyi kullanamıyorsanız, sunucunun sshd yapılandırma dosyasında X11 iletmenin etkinleştirildiğinden emin olun:
    $ grep X11Forwarding /etc/ssh/sshd_config
    

    Etkinleştirilirse satır şöyle görünecektir:

    X11Forwarding yes
    
  5. Kontrol edilecek bir sonraki şey, ana bilgisayarın X11 iletmeyi kullanmak için uygun izinlere sahip olup olmadığını görmektir.  Bunu sunucuda xhost komutunu çalıştırarak yapabiliriz.  Erişim kontrolünü devre dışı bırakmak ve tüm ana bilgisayarların X11 iletmeyi kullanmasına izin vermek için aşağıdaki komutu kullanın.  Ardından bir kez daha bağlanmayı deneyin ve GUI uygulamasını açın; bu size bunun bir izin sorunu olup olmadığını söyleyecektir.
     

    $ xhost +
    access control disabled, clients can connect from any host
    

 

 

 

Yazının orijinalini buradan okuyabilirsiniz.