Menjalankan apapun yang berhubungan dengan Gnome di terminal root memberikan kesalahan

1

Instal Debian 6.0.3 yang cukup baru, menjalankan Gnome 2.30.2. Di terminal root, setiap kali saya mencoba membuka apa pun yang terkait Gnome, saya akan mendapatkan kesalahan ini:

unable to open display ":0.0"

Terkadang ini diawali oleh:

No protocol specified

Saya telah menambahkan nama host saya ke xhost, dan memasukkan xhost +[myhostname]root bashrc, tetapi itu hanya gagal ketika saya membuka terminal root. Membantu?

EDIT: Satu-satunya cara agar ini bisa berfungsi adalah dengan mematikan kontrol akses sepenuhnya, tetapi saya tahu pasti ada solusi yang lebih baik.

ACK_stoverflow
sumber
Apakah Anda masuk ke X11 sendiri sebagai root atau sebagai pengguna normal?
grawity
Yah saya tidak masuk ke X11 secara manual, tetapi login Gnome saya adalah pengguna normal. Apakah ini menjawab pertanyaan Anda?
ACK_stoverflow
Saya tidak mengatakan "secara manual"; Layar login GNOME juga X11.
grawity

Jawaban:

1

" No protocol specified" biasanya berarti Anda telah ditolak akses ke layar X11. Ada beberapa cara untuk melakukan apa yang Anda inginkan:

  • Arahkan $XAUTHORITYke file Xauthority Anda. Terkadang ada ~/.Xauthoritydi direktori home Anda; dengan GNOME itu adalah file sementara /var. Metode berikut akan berfungsi dalam kedua kasus:

    • Cukup salin variabel lingkungan ke terminal root Anda, menggunakan echo $XAUTHORITYdan export XAUTHORITY=....

    • Buat susalinan Xauthority dengan menambahkan pam_xauthke konfigurasi PAM-nya.

    • Gunakan sudo -s, dan konfigurasikan untuk memiliki " XAUTHORITY" env_keepopsi.

    • Gunakan gksu gnome-terminaluntuk meluncurkan terminal root.

  • Tambahkan rootke pengguna yang diizinkan, dengan menjalankan xhost +si:localuser:rootdari terminal normal. Ini akan membuat Xauthority tidak perlu.

Jangan tidak menambahkan nama host komputer untuk xhost, karena hal ini tidak dapat diandalkan (rDNS masalah), tidak akan bekerja dengan koneksi lokal (hanya TCP), dan tidak aman (memungkinkan setiap pengguna untuk terhubung ke layar Anda).

grawity
sumber
Jawaban bagus! Terima kasih atas bantuan Anda! Agak aneh bahwa Debian akan menambahkan peluncur aplikasi untuk terminal root ke panel secara default, tetapi tidak memberikan hak pengguna root untuk tampilan. Tapi saya rasa ini adalah fitur keamanan, dan saya hanya menyalahgunakan terminal root. Terima kasih lagi!
ACK_stoverflow
Ini sebenarnya bukan fitur, hanya kekurangannya. (root sudah dapat menambahkan dirinya ke Xauthority, misalnya.) Siapa pun yang menambahkan peluncur mungkin berasumsi bahwa administrator hanya akan menggunakan program berbasis terminal (yang kebanyakan sysadmin).
grawity