sudoなしで/ usr / bin / Xorgを実行する方法は?

sudoなしで/ usr / bin / Xorgを実行する方法は?

この質問は/usr/bin/XorgUbuntu 14.04で直接実行することです。

私はXdummyが存在することを知っていますが、nvidia GPUでダミードライバが正しく動作することができないため、オプションではありません。

システム全体の合計をコピーしてxorg.conf少し/usr/lib/xorg/modules修正しました。 (ModulePathxorg.confも指定)

rootで次のコマンドを実行しても問題ありません。

Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./16.log -config ./xorg.conf :16

ただし、root以外のユーザーでこれを実行すると(ログファイルの権限は正常です)、次のエラーが発生します。

(EE) 
Fatal server error:
(EE) xf86OpenConsole: Cannot open virtual console 9 (Permission denied)
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "./16.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.

sudoなしでXorgを実行するのに役立ちますか?

答え1

Xを実行できる人を決定するには、Xを構成します。

dpkg-reconfigure x11-common

3つのオプションがあります:rootman、コンソールユーザーのみ、または誰でも。このアイテムはにあります/etc/X11/Xwrapper.config


Debian 9およびUbuntu 16.04以降、このファイルは存在しません。インストール後にxserver-xorg-legacyファイルが再表示され、その内容を次のように変更する必要があります。

allowed_users=console

到着する:

allowed_users=anybody
needs_root_rights=yes

Xの起動時に使用される仮想端末も指定する必要があります。そうしないと、エラーが発生する可能性があります。たとえば、

Xorg :8 vt8

答え2

Xには、出力用のモニターとグラフィックカード、および入力デバイス(マウスとキーボード)へのアクセスが必要です。

root以外のXに対してこれを達成するには、グループを変更してXorgsetgitrootビットinputを設定してから、ユーザーをグループに追加できますvideo

chown root:input /usr/lib/xorg/Xorg
chmod g+s /usr/lib/xorg/Xorg
adduser YOURUSERNAME video

video(代わりにユーザーを追加できますが、inputこれはお勧めできません。グループ内のユーザーはinput他のユーザーの入力を監視できます。たとえば、XのGUIはconsole / ttyに入力されたルートパスワードを監視できます。 )

関連情報