Pertanyaan Gagal terhubung ke Mir: Gagal terhubung ke soket server: Tidak ada file atau direktori semacam itu


Setelah masuk sebagai pengguna lain bagaimana cara menjalankan program GUI?

thufir@doge:~$ 
thufir@doge:~$ sudo -u hawat -i
hawat@doge:~$ 
hawat@doge:~$ whoami
hawat
hawat@doge:~$ 
hawat@doge:~$ pwd
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ echo $HOME
/home/hawat
hawat@doge:~$ 
hawat@doge:~$ firefox
No protocol specified
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0
hawat@doge:~$ 

13
2018-01-12 14:38


asal




Jawaban:


export DISPLAY=:0 bekerja untukku. Pastikan Anda menjalankan perintah pada sistem penghubung, bukan pada sistem yang Anda hubungkan!


11
2018-02-07 09:24



Pada mesin yang saya gunakan untuk terhubung, bukan mesin yang Anda hubungkan. - user2938093
ahhh, ini ada di kotak yang sama. akun diff. - Thufir
Tidak memiliki efek apa pun pada komputer saya - ComputerScientist


Jawaban ini bekerja pada Ubuntu 16.04 dan Mir saya (dengan sedikit adaptasi):

Jalankan perintah x sebagai pengguna lain menggunakan xauth

Skrip wrapper bash:

Untuk kenyamanan, Saya membuat skrip wrapper bash, yang mungkin ingin Anda unduh /usr/local/bin/xsudo dan tandai yang dapat dieksekusi (chmod +x /usr/local/bin/xsudo).

Kemudian jalankan:

xsudo hawat firefox

Alternatif Potensial:

  • Sebagai alternatif yang jauh lebih sederhana, Anda mungkin melihat ke dalamnya pam_xauth (s. jawaban ini) Namun ini tidak bekerja untuk saya karena beberapa alasan. (Saya masih mendapatkan kesalahan tentang firefox tidak dapat terhubung ke layar di: 0)
  • Di banyak forum Anda mungkin melihat perintah xhost +local: atau serupa, yang mana akan membuat gksudo -u hawat firefox bekerja tanpa skrip pembungkus apa pun. Namun Sadarilah bahwa ini membuka a celah keamanan: Setiap pengguna aktif di host lokal Anda akan dapat mengakses keyboard, mouse, layar, dll.
  • Dulu ada sux, yang telah dihentikan karena alasan tertentu - Anda mungkin masih dapat mengunduh dan menggunakannya. Sejauh yang saya tahu, itu melakukan sesuatu yang mirip dengan naskah saya hanya lebih banyak. Sayangnya saya tidak bisa mencari tahu, mengapa ini tidak lagi dipertahankan. (Mungkin karena sekarang kita harus menggunakan pam_xauth sebagai gantinya - s. Alternatif pertama)

6
2018-03-02 12:59





ekspor DISPLAY =: 0 berfungsi dengan baik tetapi ini adalah solusi sementara karena Anda perlu mengetik ini setiap kali ketika Anda membuka terminal.

Solusi permanen : Masalahnya mungkin karena variabel env_keep di / etc / sudoers. Tambahkan baris berikut di akhir / etc / sudoers menggunakan gedit atau gunakan sudo visudo

Default env_keep + = "DISPLAY"

Catatan : Perlu diingat untuk selalu digunakan "+ =" sambil menambahkan ke env_keep. Dalam kasus jika ada env_keep lain dengan "=" ubah mereka menjadi "+ =" karena menggunakan "=" akan mengesampingkan nilai lainnya.


1
2017-10-09 13:29





Setelah menghabiskan terlalu banyak waktu untuk hal ini, saya menemukan bahwa dengan Gnome pada Ubuntu 16.04, nilai yang benar adalah DISPLAY=:1tidak DISPLAY=:0 karena sudah dari zaman dahulu.


1
2017-11-08 16:54