GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

X Display-Zugriff für lokalen Benutzer aktivieren?

Ich verwende GitLab CI, um automatisierte Tests auf einem Ubuntu 14.04-Setup auszuführen. Der GitLab CI-Runner hat einen neuen Benutzer erstellt, gitlab-runner , die alle Tests ausführt. Jetzt beinhalten diese Tests GUI-Komponenten, also brauche ich eine X-Anzeige – die ich auch ohne eine physische Anzeige über den ConnectedMonitor erzwinge und CustomEDID Optionen in der xorg.conf .

Das Problem besteht darin, dass beim Start eines Tests durch den Benutzer gitlab-runner über DISPLAY=:0.0 ./runTestApp , erhalte ich die Meldung „Verbindung zum Display:0.0 konnte nicht hergestellt werden“ Error. Ich kann es beheben, indem ich mich als normaler Benutzer auf der Workstation anmelde und sudo DISPLAY=:0.0 xhost + ausführe .

Allerdings:

  1. Ich habe keine Möglichkeit gefunden, xhost + erfolgreich automatisch auszuführen beim Start (versucht, es in /etc/rc.local einzufügen )
  2. Die Manpage sagt, dass xhost + ist eigentlich sehr unsicher, aber ich habe nicht herausgefunden, was ich stattdessen tun soll. Es fühlt sich an, als hätte es mit einer .Xauthority zu tun Datei (die mein normaler Benutzer hat, aber gitlab-runner nicht)

Wie gebe ich gitlab-runner am besten an ständigen Zugriff auf die X-Anzeige?

Akzeptierte Antwort:

Um zunächst nur dem Gitlab CI-Runner Zugriff zu gewähren, müssen Sie einen eingeschränkteren Befehl verwenden:

xhost +SI:localuser:gitlab-runner

Zweitens /etc/rc.local läuft viel zu früh, als dass dieser Befehl wirksam werden könnte, und außerdem müssen Sie $DISPLAY setzen damit es funktioniert.

Es hängt davon ab, wie Ihr X-Server gestartet wird. Wenn Sie LightDM verwenden, können Sie es meiner Meinung nach zum Laufen bringen, indem Sie die folgende Zeile zu /etc/lightdm/lightdm.conf hinzufügen :

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

Ubuntu
  1. Virtualbox nur bestimmten Benutzern Zugriff gewähren?

  2. Wie aktiviere ich den „anderen“ Benutzer für die Anmeldung mit Active Directory?

  3. So gewähren Sie einem Benutzer in Ubuntu ssh-Zugriff

  4. Aktivieren Sie die Archivierung von Rohzugriffsprotokollen für alle cPanel-Konten

  5. Einfaches Passwort für Root-Benutzer auf CentOS aktivieren

So lösen Sie den MySQL-Fehler:Zugriff für Benutzer verweigert [email protected]

So aktivieren Sie den Zugriff auf die Virsh-Konsole für KVM-Gäste

Top 10 Google Chrome-Erweiterungen für alle

So aktivieren Sie passwortloses Sudo für Benutzer in Linux

Webmin-Benutzer

Wie aktiviere ich die Alt-Gr-Taste als Alt-R für Emacs unter Ubuntu 16.04?