pengaturan xhost saat boot

8

Saya dapat mengatur xhost saat boot di Fedora dengan mengedit /etc/gdm/Init/Defaultdan misalnya menambahkan:

/usr/bin/xhost +local:

Bagaimana hal serupa dapat dilakukan di Ubuntu? Saya ingin itu

/usr/bin/xhost +local:

perintah dijalankan ketika sistem duduk pada prompt login.

yurtesen
sumber

Jawaban:

11

The xhostperintah membutuhkan aktif X server untuk menjalankan, itu bisa dijalankan pada layar login, misalnya ketika lightdmbeban. Anda dapat mengaktifkannya dengan mengedit /etc/lightdm/lightdm.confdan menambahkan baris:

display-setup-script=/home/user/bin/xhost.sh

contoh /etc/lightdm/lightdm.conffile:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

contoh /home/user/bin/xhost.shfile:

#!/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.

George Litos
sumber
1
Anda mungkin perlu membuat skrip xhost.sh dapat dieksekusi dengan: chmod + x /home/user/bin/xhost.sh
George Litos
Berfungsi di Xubuntu 18.04, tetapi pastikan skripnya dapat dieksekusi seperti yang disebutkan @George Litos, jika tidak sistem Anda tidak akan bisa boot.
José Tomás Tocino
2

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.

lepe
sumber
1

~/.xinitrctidak bekerja untuk saya di Ubuntu 14,04 tetapi di berikut ~/.profiletidak. Pada setiap login, GUI / terminal / SSH / etc ..., skrip akan berjalan sehingga saya mengarahkan ulang stdoutuntuk membisukan output.

xhost +local: > /dev/null

Lucas
sumber
1

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 ~/.bashrcfile 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:dominicmana dominicnama login saya. Jadi, saya menggunakan format yang sama SI:localuser:root untuk menambahkan rootpengguna.

Dominic108
sumber
0

Berikut varian jawaban @ GeorgeLitos, dengan perubahan ini:

  • Jangan langsung memodifikasi /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.
  • Tidak perlu skrip shell yang terpisah; perintah dapat langsung ditempatkan ke file konfigurasi.

Cukup buat file (sebagai root pengguna) /etc/lightdm/lightdm.conf.d/xhost.confdengan konten ini:

[SeatDefaults]
display-setup-script=xhost +

Ini berfungsi di Ubuntu 16.04.5 LTS.

Ingo Karkat
sumber
-1

Edit file /etc/rc.local(dengan sudo) dan tambahkan perintah sebelum perintah terakhir ( exit 0).

yossile
sumber
1
Ini tidak akan berhasil (dan saya pernah mencoba yang kurang dan tidak berhasil). Karena skrip itu tidak akan memiliki hak akses untuk mengubah pengaturan itu di tempat pertama. Itu harus dilakukan sebagai pengguna lightdm?
yurtesen
-1

Tambahkan baris berikut ke /etc/xdg/lxsession/LXDE/autostart

xhost +local:
8dost
sumber