Kaba kuvvet uygulamak istediğinizi varsayalım ...
Komutlarınızı sunucuda (X'in çalıştığı yerde) zaten çalıştırdığınızı varsayalım, aksi takdirde bunu önce çalışmasını sağlayın ve daha sonra istemciden 'ssh -X user @ server'ı kullanın;).
Xauth komutlarını çalıştırmanın birkaç yolu olabilir, örneğin 'sudo' kullanıyor olabilirsiniz, ancak bu ortam değişkenlerini kaybedebilir veya değiştirebilir. Aşağıdaki ortam değişkenlerinin korunması gerekir: EKRAN ve XAUTHORITY. Durumun böyle olup olmadığını sınamak için 'echo $ XAUTHORITY' komutlarını çalıştırdığınız şekilde çalıştırabilirsiniz, ancak bu komutları çalıştırmadan önce ortam değişkenlerini genişletmediğinizden emin olun. Örneğin, sudo bash'nizi çalıştırdıktan sonra XAUTHORITY'nin gerçekte ne olduğunu görmek için şunu deneyin: sudo bash -c 'echo "$ XAUTHORITY"' (eğer kaybolursa sudoers dosyanıza bir şeyler eklemeniz gerekebilir), başka bir yere bakın).
Sonunda, sunucuda erişmek istediğiniz kullanıcı olarak aşağıdaki komutu çalıştırın:
xauth info
Bu, kullanılacak 'Yetki dosyasını' gösterecektir (varsayılan olarak /root/.Xauthority, kök için veya /home/theuser/.Xauthority gibi). Doğru .Xauthority dosyasını gösterirse, o zaman XAUTHORITY ortam değişkeni hakkında endişelenmenize gerek yoktur (aslında, o dosyanın standart olmayan bir yerini değiştirmek istemiyorsanız hariç, ne zaman olacağını bilmezdim ).
Bu dosyayı kaldırın (varsa):
rm /root/.Xauthority
/root/.Xauthority
Durumunuz için doğru XAUTHORITY dosyasıyla değiştirin .
Yeniden oluşturun, ancak boş (bu, birçok komut için gereklidir):
touch /root/.Xauthority
Bu noktada , daha önce Geçersiz MIT-MAGIC-COOKIE-1 almış olsanız bile, Protokol belirtilmedi hatası alırsınız . X sunucusunun şu anda kullanmakta olduğu yetki dosyasını bulun:
ps aux | grep Xorg
Bu şöyle bir şey göstermelidir:
root 1153 0.0 1.0 149560 44464 tty7 Ss+ dec02 0:00 /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{ef18c483-7891-4e82-80ef-2c8f9bd79711} -background none -noreset -displayfd 17 vt7
Dosya adı -auth
, sonraki komutta gerek duyduğunuz addır . Bunu root olarak çalıştır:
sudo xauth -f '/var/run/sddm/{ef18c483-7891-4e82-80ef-2c8f9bd79711}' list
32 basamaklı bir onaltılık anahtar listelenir. Örneğin çıktı:
hostname/unix:0 MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
Bunu, .Xauthority dosyanızı oluşturmak için kullanın (tekrar oturum açması gereken kullanıcı olarak):
xauth add $DISPLAY MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
'c0eaf749aa252101a0f57d5087089db7' yerine list komutunun sizin için döndürdüğü ifadeyi yazın. Şimdi .Xauthority'niz 51 bayt boyutunda olmalı ve X sunucusuna bağlanabilirsiniz (tekrar).