GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Abilitare l'accesso al display X per l'utente locale?

Sto usando GitLab CI per eseguire test automatici su una configurazione di Ubuntu 14.04. Il runner GitLab CI ha creato un nuovo utente, gitlab-runner , che esegue tutti i test. Ora questi test includono componenti della GUI, quindi ho bisogno di un display X, che impongo anche senza un display fisico tramite ConnectedMonitor e CustomEDID opzioni in xorg.conf .

Il problema è che quando un test viene avviato dall'utente gitlab-runner tramite DISPLAY=:0.0 ./runTestApp , ricevo un messaggio "Impossibile connettersi per visualizzare :0.0" errore. Posso risolverlo accedendo come utente normale sulla workstation ed eseguendo sudo DISPLAY=:0.0 xhost + .

Tuttavia:

  1. Non ho trovato un modo per eseguire correttamente xhost + all'avvio (ho provato a inserirlo in /etc/rc.local )
  2. La pagina man dice che xhost + è in realtà molto insicuro, ma non ho scoperto cosa fare invece. Sembra che possa avere a che fare con un .Xauthority file (che il mio utente normale ha, ma gitlab-runner no)

Qual è il modo migliore per fornire gitlab-runner accesso permanente al display X?

Risposta accettata:

Innanzitutto, per consentire l'accesso solo al runner Gitlab CI, è necessario utilizzare un comando più limitato:

xhost +SI:localuser:gitlab-runner

Secondo, /etc/rc.local viene eseguito troppo presto perché questo comando abbia effetto e, inoltre, è necessario impostare $DISPLAY affinché funzioni.

Dipende da come viene avviato il tuo server X. Se stai usando LightDM, penso che tu possa farlo funzionare aggiungendo la seguente riga a /etc/lightdm/lightdm.conf :

greeter-setup-script=xhost +SI:localuser:gitlab-runner

Ubuntu
  1. Abilita l'accesso del rivenditore a CSF

  2. Come dare accesso ssh a un utente in Ubuntu

  3. Abilita l'archiviazione dei log di accesso raw per tutti gli account cPanel

  4. Esiste un equivalente Homebrew per gli account utente ad accesso limitato in Linux?

  5. Limitazione dell'intervallo UID per i nuovi account utente locali

Come risolvere l'errore MySQL:accesso negato all'utente [e-mail protetta]

Come abilitare l'accesso alla console Virsh per i guest KVM

Le 10 migliori estensioni di Google Chrome per tutti

Come abilitare il sudo senza password per l'utente in Linux

Utenti Webmin

Come abilitare il tasto Alt Gr come Alt R per Emacs su Ubuntu 16.04?