Saya menggunakan GitLab CI untuk menjalankan tes otomatis pada pengaturan Ubuntu 14.04. Pelari GitLab CI membuat pengguna baru, gitlab-runner
, yang menjalankan semua tes. Sekarang pengujian ini menyertakan komponen GUI, jadi saya memerlukan tampilan X – yang saya paksakan bahkan tanpa tampilan fisik melalui ConnectedMonitor
dan CustomEDID
opsi di xorg.conf
.
Masalahnya adalah ketika tes dimulai oleh pengguna gitlab-runner
melalui DISPLAY=:0.0 ./runTestApp
, saya mendapatkan “Tidak dapat terhubung ke tampilan :0.0” kesalahan. Saya dapat memperbaikinya dengan masuk sebagai pengguna biasa di workstation dan menjalankan sudo DISPLAY=:0.0 xhost +
.
Namun:
- Saya belum menemukan cara untuk berhasil menjalankan
xhost +
saat startup (mencoba memasukkannya ke/etc/rc.local
) - Halaman manual mengatakan bahwa
xhost +
sebenarnya sangat tidak aman, tetapi saya belum menemukan apa yang harus dilakukan. Sepertinya ini ada hubungannya dengan.Xauthority
file (yang dimiliki pengguna biasa saya, tetapigitlab-runner
tidak)
Apa cara terbaik untuk memberikan gitlab-runner
akses permanen ke layar X?
Jawaban yang Diterima:
Pertama, untuk memberikan akses hanya ke Gitlab CI runner, Anda perlu menggunakan perintah yang lebih terbatas:
xhost +SI:localuser:gitlab-runner
Kedua, /etc/rc.local
berjalan terlalu dini agar perintah ini dapat diterapkan, dan selanjutnya, Anda perlu menyetel $DISPLAY
agar berhasil.
Itu tergantung pada bagaimana server X Anda dimulai. Jika Anda menggunakan LightDM, saya pikir Anda dapat membuatnya bekerja dengan menambahkan baris berikut ke /etc/lightdm/lightdm.conf
:
greeter-setup-script=xhost +SI:localuser:gitlab-runner