GNU/Linux >> Linux の 問題 >  >> Ubuntu

ローカルユーザーのXディスプレイアクセスを有効にしますか?

私はGitLabCIを使用して、Ubuntu14.04セットアップで自動テストを実行しています。 GitLab CIランナーは、新しいユーザーgitlab-runnerを作成しました 、すべてのテストを実行します。現在、これらのテストにはGUIコンポーネントが含まれているため、Xディスプレイが必要です。これは、ConnectedMonitorを介して物理的なディスプレイがなくても強制的にオンにします。 およびCustomEDID xorg.confのオプション 。

問題は、ユーザーがgitlab-runnerによってテストを開始したときです。 DISPLAY=:0.0 ./runTestApp経由 、「ディスプレイに接続できませんでした:0.0」が表示されます エラー。ワークステーションに通常のユーザーとしてログインし、sudo DISPLAY=:0.0 xhost +を実行することで修正できます。 。

ただし:

  1. xhost +を自動的に正常に実行する方法が見つかりません 起動時(/etc/rc.localに入れてみました )
  2. マニュアルページには、xhost +と記載されています 実際には非常に安全ではありませんが、代わりに何をすべきかわかりません。 .Xauthorityに関係しているように感じます ファイル(私の通常のユーザーは持っていますが、gitlab-runner しません)

gitlab-runnerを提供するための最良の方法は何ですか Xディスプレイへの永続的なアクセス?

承認された回答:

まず、Gitlab CIランナーにのみアクセスを許可するには、より制限されたコマンドを使用する必要があります:

xhost +SI:localuser:gitlab-runner

次に、/etc/rc.local このコマンドを有効にするには早すぎます。さらに、$DISPLAYを設定する必要があります それが機能するために。

Xサーバーの起動方法によって異なります。 LightDMを使用している場合は、/etc/lightdm/lightdm.confに次の行を追加することで機能させることができると思います。 :

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

Ubuntu
  1. LShell(制限付きシェル)を使用してユーザーのSSHアクセスを制限する方法

  2. Active Directoryでのログインに対して「他の」ユーザーを有効にする方法は?

  3. Ubuntu でユーザーに ssh アクセスを許可する方法

  1. CentOS で root ユーザーの単純なパスワードを有効にする

  2. PAM アカウント構成によって特定のユーザーのアクセスが拒否されました

  3. 新しいユーザーの SSH アクセスを取得できません

  1. ユーザーのルートレスPodmanへのアクセスの制御

  2. Virtualboxに特定のユーザーのみにアクセスを許可しますか?

  3. SSH シェル アクセスを有効にしますが、SFTP アクセスは無効にします