Jawaban:
The xhost
perintah membutuhkan aktif X server untuk menjalankan, itu bisa dijalankan pada layar login, misalnya ketika lightdm
beban. Anda dapat mengaktifkannya dengan mengedit /etc/lightdm/lightdm.conf
dan menambahkan baris:
display-setup-script=/home/user/bin/xhost.sh
contoh /etc/lightdm/lightdm.conf
file:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh
contoh /home/user/bin/xhost.sh
file:
#!/bin/bash
xhost +
Ini bekerja pada Ubuntu 12.04.1 LTS, dan itu diperlukan untuk mengaktifkan aplikasi Java yang membutuhkan X dan dijalankan oleh Tomcat 6.
Ini bekerja untuk saya:
Edit ~/.xinitrc
:
export DISPLAY=":0.0"
xhost +
openbox
Catatan: dalam pengaturan khusus saya, saya hanya menjalankan openbox . Biasanya file itu kosong atau hilang di Ubuntu. Dugaan saya adalah Anda dapat menghapus baris "openbox" dan itu akan berhasil, tetapi saya tidak memiliki cara untuk mengujinya sekarang. Jika tidak berhasil, ganti baris terakhir untuk perintah window manager Anda.
Saya memiliki masalah yang sama dengan Ubuntu 17.10. Bisa jadi sistem saya tidak dikonfigurasi dengan benar. Bagaimanapun, dalam kasus saya, saya menambahkan
xhost + SI:localuser:root > /dev/null
di bagian bawah ~/.bashrc
file saya dan berhasil. Saya tidak tahu apakah ini risiko keamanan. Saya berbagi bahwa jika ada orang lain dalam situasi yang sama dan percaya bahwa menambahkan root ke daftar pengguna server X yang berlaku harus OK.
Disarankan di sini http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/
Anda dapat mengujinya langsung di terminal terlebih dahulu:
$ xhost + SI:localuser:root
$ xhost -
Baris kedua memastikan bahwa hanya mereka yang ada dalam daftar yang memiliki akses ke server X. Kemudian coba "Edit sebagai administrator", setelah mengklik kanan pada file atau jalankan directlty
$ pkexec gedit
Jika ini tidak berhasil, maka tidak ada gunanya untuk membuat perintah permanen di ~ / .bashrc.
Untuk lebih tepatnya, saya pertama kali dieksekusi
$ xhost
untuk melihat pengguna mana yang memiliki akses ke server X. Saya melihat bahwa formatnya adalah di SI:localuser:dominic
mana dominic
nama login saya. Jadi, saya menggunakan format yang sama SI:localuser:root
untuk menambahkan root
pengguna.
Berikut varian jawaban @ GeorgeLitos, dengan perubahan ini:
/etc/lightdm/lightdm.conf
, karena ini adalah file milik sistem yang dapat ditimpa oleh peningkatan sistem. Sebagai gantinya, gunakan direktori ekstensi /etc/lightdm/lightdm.conf.d/
. Ini juga berarti bahwa pengaturan lain tidak perlu diduplikasi di sana.Cukup buat file (sebagai root pengguna) /etc/lightdm/lightdm.conf.d/xhost.conf
dengan konten ini:
[SeatDefaults]
display-setup-script=xhost +
Ini berfungsi di Ubuntu 16.04.5 LTS.
Edit file /etc/rc.local
(dengan sudo
) dan tambahkan perintah sebelum perintah terakhir ( exit 0
).