Saya mencoba menjalankan nautilus sebagai root tetapi ketika saya menjalankan "sudo nautilus" dari terminal, saya mendapatkan kesalahan berikut:
galat: XDG_RUNTIME_DIR tidak disetel di lingkungan.
(nautilus: 9341): Gtk-WARNING **: tidak dapat membuka tampilan:
Masalah tidak terjadi ketika saya mencoba menjalankan nautilus sebagai non-root. Saya menggunakan ubuntu 14.04. Adakah yang tahu bagaimana saya bisa memperbaikinya?
-X
opsi ketika memulai sesi ssh saya.Jawaban:
Ketika Anda menjalankan perangkat lunak sebagai pengguna lain, Anda sebenarnya memulai lingkungan minimal dan terisolasi baru yang tidak membawa beberapa variabel "berlebihan" (antara lain variabel yang bertanggung jawab untuk menyuntikkan pustaka atau mengatur hak istimewa tertentu). Ganti
sudo nautilus
panggilan Anda dengan yang berikut - ini akan menjalankan pengaturan x server khusus pengguna dari sesi saat ini:Ini adalah solusi tingkat rendah satu kali tetapi akan bekerja pada mesin yang tidak dikonfigurasikan. Jika Anda ingin "memperbaiki Anda
sudo
" secara permanen, Anda perlu menemukan masalah dengan konfigurasi lingkungan Anda dan memperbaikinya seperti yang dijelaskan dalam jawaban lain.sumber
sudo nautilus
harus berfungsi seperti biasa dari terminal saat dijalankan. Biasanya setiap kali saya melakukannya dari terminal pada instalasi baru terbuka seperti biasa dengan sudo.pkexec
dan bacalahsudo
halaman serta google untuk sengketa terkait.Cannot open display
berarti ada sesuatu yang hilang dari file konfigurasi itu karena sesuatu memodifikasinya dan menghapusnya dari lingkungan ketika seharusnya tidak. Jadi bagaimana itu dapat diatur kembali ke lingkungan secara permanen maka saya tidak harus berurusan dengan ini?env
sebelum menjalankannautilus
dan yang pertama mengurus pengaturan variabel untuk saya. Anda bisa mengeceknyaman env
.env COMMAND ARG ...
Saya juga punya masalah yang sama di Ubuntu 14.04. Buka terminal dengan menekan,
Ctrl+ Alt+T
kemudian
sudo visudo
ubah jalurnya
Defaults env_keep = "https_proxy"
untuk
Defaults env_keep + = "https_proxy"
Itu bekerja seperti pesona.
sumber
$XAUTHORITY
menentang tujuan.Untuk membuatnya mudah - lebih menjelaskan booting baru dari sistem saya.
Setelah semua penjelasan di sini saya sampai pada hasil - dan "env" di terminal mengatakan sudah tepat untuk sesi ini:
Dua baris ini untuk menggunakan variabel lingkungan:
untuk perilaku tmp yang saya pilih:
mkdir -pv ~ / .cache / xdgr
Untuk mengatur variabel lingkungan:
export XDG_RUNTIME_DIR = $ PATH: ~ / .cache / xdgr
Setelah menutup terminal dan membuka baru untuk penarikan env mereka mengatakan:
XDG_RUNTIME_DIR = / run / user / 1001
catatan: tidak apa-apa untuk pengguna di bawah ubuntu, root membutuhkan lebih banyak (info terakhir dengan istilah - dengan 0700 izin)
sumber
Jika Anda mendapatkan kesalahan ini di Docker; Inilah yang saya lakukan
sumber