Xserver の権限が拒否されました tty7

Xserver の権限が拒否されました tty7

私は、Kodi と、起動時に Kodi を起動するための次の systemd スクリプトを搭載した Linux ボックスを持っています。

[Unit]
Description = kodi-standalone using xinit
After = systemd-user-sessions.service network.target sound.target network-online.target

[Service]
User = kodi
Group = kodi
Type = simple
PAMName=login
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/openbox-session -- :0 -nolisten tcp vt7
Restart = on-abort

[Install]
WantedBy = multi-user.target

これはUbuntu 15.10では問題なく動作しましたが、アップグレード後は動作しなくなりました。サービスが起動しません

Apr 24 17:30:19 rasnas sudo[3644]: kodi : TTY=pts/0 ; PWD=/home/kodi ; USER=root ; COMMAND=/usr/sbin/service kodi start Apr 24 17:30:19 rasnas sudo[3644]: pam_unix(sudo:session): session opened for user root by kodi(uid=0) Apr 24 17:30:19 rasnas systemd[1]: Starting Detect the available GPUs and deal with any system changes... Apr 24 17:30:19 rasnas gpu-manager[3671]: /etc/modprobe.d is not a file Apr 24 17:30:19 rasnas gpu-manager[3671]: /etc/modprobe.d is not a file Apr 24 17:30:19 rasnas gpu-manager[3671]: /etc/modprobe.d is not a file Apr 24 17:30:19 rasnas gpu-manager[3671]: /etc/modprobe.d is not a file Apr 24 17:30:19 rasnas gpu-manager[3671]: /etc/modprobe.d is not a file Apr 24 17:30:19 rasnas gpu-manager[3671]: update-alternatives: error: no alternatives for x86_64-linux-gnu_gfxcore_conf Apr 24 17:30:19 rasnas systemd[1]: Started Detect the available GPUs and deal with any system changes. Apr 24 17:30:19 rasnas systemd[1]: Started kodi-standalone using xinit. Apr 24 17:30:19 rasnas sudo[3644]: pam_unix(sudo:session): session closed for user root Apr 24 17:30:19 rasnas systemd[3692]: pam_unix(login:session): session opened for user kodi by (uid=0) Apr 24 17:30:19 rasnas systemd[1]: Started Session 11 of user kodi. Apr 24 17:30:19 rasnas systemd[3692]: pam_ck_connector(login:session): cannot determine display-device Apr 24 17:30:19 rasnas xinit[3692]: X.Org X Server 1.18.3 Apr 24 17:30:19 rasnas xinit[3692]: Release Date: 2016-04-04 Apr 24 17:30:19 rasnas xinit[3692]: X Protocol Version 11, Revision 0 Apr 24 17:30:19 rasnas xinit[3692]: Build Operating System: Linux 3.13.0-85-generic x86_64 Ubuntu Apr 24 17:30:19 rasnas xinit[3692]: Current Operating System: Linux rasnas 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 Apr 24 17:30:19 rasnas xinit[3692]: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=1bca803d-6ad4-4e76-bc0d-10d37e041d51 ro quiet splash vt.handoff=7 Apr 24 17:30:19 rasnas xinit[3692]: Build Date: 07 April 2016 09:18:50AM Apr 24 17:30:19 rasnas xinit[3692]: xorg-server 2:1.18.3-1ubuntu2 (For technical support please see http://www.ubuntu.com/support) Apr 24 17:30:19 rasnas xinit[3692]: Current version of pixman: 0.33.6 Apr 24 17:30:19 rasnas xinit[3692]: Before reporting problems, check http://wiki.x.org Apr 24 17:30:19 rasnas xinit[3692]: to make sure that you have the latest version. Apr 24 17:30:19 rasnas xinit[3692]: Markers: (--) probed, (**) from config file, (==) default setting, Apr 24 17:30:19 rasnas xinit[3692]: (++) from command line, (!!) notice, (II) informational, Apr 24 17:30:19 rasnas xinit[3692]: (WW) warning, (EE) error, (NI) not implemented, (??) unknown. Apr 24 17:30:19 rasnas xinit[3692]: (==) Log file: "/home/kodi/.local/share/xorg/Xorg.0.log", Time: Sun Apr 24 17:30:19 2016 Apr 24 17:30:19 rasnas xinit[3692]: (==) Using system config directory "/usr/share/X11/xorg.conf.d" Apr 24 17:30:19 rasnas xinit[3692]: (EE) Apr 24 17:30:19 rasnas xinit[3692]: Fatal server error: Apr 24 17:30:19 rasnas xinit[3692]: (EE) xf86OpenConsole: Cannot open virtual console 7 (Permission denied) Apr 24 17:30:19 rasnas xinit[3692]: (EE) Apr 24 17:30:19 rasnas xinit[3692]: (EE) Apr 24 17:30:19 rasnas xinit[3692]: Please consult the The X.Org Foundation support Apr 24 17:30:19 rasnas xinit[3692]: at http://wiki.x.org Apr 24 17:30:19 rasnas xinit[3692]: for help. Apr 24 17:30:19 rasnas xinit[3692]: (EE) Please also check the log file at "/home/kodi/.local/share/xorg/Xorg.0.log" for additional information. Apr 24 17:30:19 rasnas xinit[3692]: (EE) Apr 24 17:30:19 rasnas xinit[3692]: (EE) Server terminated with error (1). Closing log file. Apr 24 17:30:23 rasnas hyperiond[853]: V4L2 Grabber: Signal lost Apr 24 17:30:34 rasnas xinit[3692]: /usr/bin/xinit: giving up Apr 24 17:30:34 rasnas xinit[3692]: /usr/bin/xinit: unable to connect to X server: Connection refused Apr 24 17:30:34 rasnas xinit[3692]: /usr/bin/xinit: server error Apr 24 17:30:34 rasnas systemd[3697]: pam_unix(login:session): session closed for user kodi

では、どうすればこれを修正できるでしょうか? 15.10 を使用するとすべて正常に動作したことに注意してください。

ありがとう!

答え1

今日このエラーに遭遇しました。調査した結果、解決策が見つかりました。Kodiの使い方第5章にはこうあります。

Ubuntu 16.04 (Xenial Xerus) 以降では、代わりにパッケージをインストールして再構成する必要がありますxserver-xorg-legacy

私のリグでは問題なく動作します。

答え2

まあ、これが最善の解決策というわけではありませんが、/dev/tty7kodi を起動する前に systemd の起動ジョブを chmod に変更すると、この問題は「修正」されるようです。もっと良い、より Ubuntu らしい方法を知っている方がいたら、教えてください :D

[ユニット]
説明 = xinit を使用した kodi-standalone
後 = systemd-user-sessions.service network.target sound.target network-online.target

[サービス]
ユーザー = kodi
グループ = kodi
タイプ = シンプル
PAMName=ログイン
ExecStartPre=/bin/chmod 777 /dev/tty7
権限開始のみ=true
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/openbox-session -- :0 -nolisten tcp vt7
再起動 = 中止時

[インストール]
WantedBy = マルチユーザー.ターゲット

答え3

とにかく systemd を使用している場合、systemd を X と root 権限の間のプロキシとして動作させることも、systemd を動作させる可能性がある別のアイデアです。

コンソール上で適切に動作を開始するlibpam-systemdには、をインストールする必要があります(cf.systemd-logindDebian 9 リリースノートでは、Xorg サーバーが root を必要としなくなったことが説明されています。)、プレーンの使用からラッパーxinitの使用に切り替えることができますstartx(cf.Debian バグ #801401)。

この Kodi の使用例の詳細はわかりませんが、一般的な問題を調べているときにこの質問に偶然出会ったので、他の誰かが理解できるようにこれを書くのが最善だと思いました。

関連情報