GNU/Linux >> Belajar Linux >  >> Linux

Tidak dapat memulai aplikasi X11 setelah "su" atau "su -" ke pengguna lain

Untuk mendapatkan akses ke aplikasi klien X seperti system-config-date, xclock, vncviewer kita perlu mengekspor pengaturan DISPLAY dari remote host ke server lokal. Ini biasanya dilakukan dengan menggunakan perintah di bawah ini.

# ssh root@remotehost

remotehost# export DISPLAY=x.x.x.x:y.y

Dimana x.x.x.x:y.y – adalah pengaturan tampilan sistem dari mana Anda terhubung ke host jarak jauh.

Anda juga dapat menggunakan opsi -X dengan ssh untuk mengekspor DISPLAY secara langsung pada host jarak jauh.

# ssh -X root@remotehost

Tetapi sekarang jika Anda mencoba untuk beralih ke pengguna lain di sistem jarak jauh dan mengekspor tampilan lagi, Anda akan mendapatkan dan kesalahan – “Kesalahan:Tidak dapat membuka tampilan:”.

# ssh -X root@remotehost
# su - [username]
# export DISPLAY=x.x.x.x:y.y 
# xclock
Error: Can't open display: x.x.x.x:y.y

Penerusan X11 untuk pengguna sudo

Menyetel DISPLAY saja tidak cukup. Otentikasi X didasarkan pada cookie, jadi perlu untuk mengatur cookie yang digunakan oleh pengguna yang memulai koneksi. Prosedur berikut memungkinkan pengguna sudo untuk menggunakan terowongan X11 berbasis ssh:

1. Hubungkan host jarak jauh menggunakan opsi -X dengan ssh.

# ssh -X root@remote-host

2. Sekarang daftarkan set coockie untuk pengguna saat ini.

# xauth list $DISPLAY
node01.thegeekdiary.com/unix:10  MIT-MAGIC-COOKIE-1  dacbc5765ec54a1d7115a172147866aa
# echo $DSIPLAY
localhost:10.0

3. Beralih ke akun pengguna lain menggunakan sudo. Tambahkan cookie dari output perintah di atas ke pengguna sudo.

# sudo su - [user]
# xauth add node01.thegeekdiary.com/unix:10  MIT-MAGIC-COOKIE-1  dacbc5765ec54a1d7115a172147866aa

4. Ekspor tampilan dari langkah 2 lagi untuk pengguna sudo. Coba perintah xclock untuk memverifikasi apakah aplikasi x client berfungsi seperti yang diharapkan.

# export DISPLAY=localhost:10.0
# xclock


Linux
  1. Opsi Su – Menjalankan Perintah Sebagai Pengguna Lain?

  2. Xfce Tidak Dapat Memulai Aplikasi Pilihan di Ubuntu 19.04?

  3. Tidak dapat su ke pengguna jenkins setelah menginstal Jenkins

  1. systemd:SIGTERM segera setelah start

  2. Bagaimana saya bisa membuat pengguna yang tidak masuk?

  3. Bagaimana saya bisa mengubah semua file milik satu pengguna ke pengguna lain?

  1. Bagaimana saya bisa menjalankan perintah setelah boot?

  2. Cara ssh sebagai pengguna lain

  3. Bagaimana cara mencegah pengguna menyalin file ke hard drive lain?