Misalkan Anda ingin secara brutal mendapatkan koneksi ke X ...
Mari kita asumsikan Anda sudah menjalankan perintah Anda di server (di mana X berjalan), jika tidak, jalankan terlebih dahulu dan kemudian gunakan 'ssh -X user @ server) dari klien sesudahnya;).
Mungkin ada beberapa cara untuk menjalankan perintah xauth, misalnya, Anda mungkin menggunakan 'sudo', tetapi itu mungkin kehilangan atau mengubah variabel lingkungan. Variabel lingkungan berikut perlu dipertahankan: DISPLAY dan XAUTHORITY. Untuk menguji apakah itu yang terjadi, Anda dapat menjalankan 'echo $ XAUTHORITY' dengan cara yang sama dengan Anda menjalankan perintah, tetapi pastikan Anda tidak memperluas variabel lingkungan sebelum menjalankan perintah itu. Sebagai contoh, coba: sudo bash -c 'echo "$ XAUTHORITY"' untuk melihat apa sebenarnya XAUTHORITY setelah Anda menjalankan sudo Anda (jika hilang Anda mungkin perlu menambahkan sesuatu ke file sudoers Anda, lihat di tempat lain).
Akhirnya, jalankan perintah berikut sebagai pengguna yang ingin Anda akses, di server:
xauth info
Ini akan menampilkan 'File otoritas' yang akan digunakan (/root/.Xauthority secara default, untuk root, atau sesuatu seperti /home/theuser/.Xauthority). Jika itu menunjukkan file .Xauthority yang benar maka Anda tidak perlu khawatir tentang variabel lingkungan XAUTHORITY sebenarnya (sebenarnya, saya tidak akan tahu kapan tidak, kecuali jika Anda ingin memanipulasi tempat non-standar file itu. ).
Hapus file itu (jika memang ada):
rm /root/.Xauthority
Ganti /root/.Xauthority
dengan file XAUTHORITY yang benar untuk kasus Anda.
Buat kembali, tetapi kosong (ini diperlukan untuk banyak perintah):
touch /root/.Xauthority
Pada titik ini Anda akan mendapatkan kesalahan protokol khusus , bahkan jika sebelumnya Anda mendapatkan MIT-MAGIC-COOKIE-1 yang tidak valid . Temukan file otoritas yang digunakan server X saat ini:
ps aux | grep Xorg
Ini harus menunjukkan sesuatu seperti:
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
Nama file setelah -auth
adalah apa yang Anda butuhkan dalam perintah selanjutnya. Jalankan ini sebagai root:
sudo xauth -f '/var/run/sddm/{ef18c483-7891-4e82-80ef-2c8f9bd79711}' list
Itu mencantumkan kunci heksadesimal 32 digit. Misalnya outputnya bisa:
hostname/unix:0 MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
Gunakan itu untuk menghasilkan file .Xauthority Anda (sebagai pengguna yang perlu masuk lagi):
xauth add $DISPLAY MIT-MAGIC-COOKIE-1 c0eaf749aa252101a0f57d5087089db7
ganti 'c0eaf749aa252101a0f57d5087089db7' dengan apa yang dikembalikan oleh perintah daftar untuk Anda. Sekarang .Xauthority Anda seharusnya berukuran 51 byte dan Anda dapat terhubung ke server X (lagi).