Bagaimana saya bisa menjalankan / usr / bin / Xorg tanpa sudo?

8

Pertanyaan ini adalah tentang mengeksekusi /usr/bin/Xorglangsung di Ubuntu 14.04.

Dan saya tahu ada Xdummy, tapi saya tidak bisa membuat driver dummy bekerja dengan baik dengan GPU nvidia jadi itu bukan pilihan.

Saya menyalin seluruh sistem xorg.confdan /usr/lib/xorg/modules, dan memodifikasinya sedikit. (Ditentukan ModulePathdalam saya xorg.confjuga)

Menjalankan perintah berikut karena root berfungsi dengan baik:

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

Tetapi jika saya melakukannya sebagai pengguna non-root (izin file log tidak masalah), kesalahan ini terjadi:

(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.

Bisakah Anda membantu saya menjalankan Xorg tanpa sudo ??

tanpa nama
sumber
Saya rasa tidak mungkin menjalankan X sebagai non-root; perlu mengakses banyak perangkat keras dan sistem secara langsung.
dirkt
3
atur setuidbit pada Xorg:chmod +s $(which Xorg)
Serge
@ dirkt Mungkin pada sistem terbaru tetapi tidak dengan semua driver. Lihat misalnya Ubuntu , Debian , Fedora , Gentoo , Arch , ...
Gilles 'SO- stop being evil'
Terima kasih kawan! Sepertinya saran Anda bekerja untuk saya!
noname

Jawaban:

5

Untuk menentukan siapa yang diizinkan menjalankan X, konfigurasikan dengan

dpkg-reconfigure x11-common

Ada tiga opsi: hanya root, pengguna konsol saja, atau siapa saja. Entri terletak di /etc/X11/Xwrapper.config.


Sejak Debian 9 dan Ubuntu 16.04 file ini tidak ada. Setelah menginstal xserver-xorg-legacy, file muncul kembali dan isinya harus diubah dari:

allowed_users=console

untuk:

allowed_users=anybody
needs_root_rights=yes

Anda juga perlu menentukan terminal virtual untuk digunakan ketika memulai X, jika tidak, kesalahan dapat terjadi. Sebagai contoh:

Xorg :8 vt8
mviereck
sumber
3

X membutuhkan akses ke perangkat input (mouse dan keyboard) dan ke monitor dan kartu grafis untuk output.

Untuk mencapai ini untuk non-root X, Anda dapat mengubah grup Xorgdari rootmenjadi input, mengatur bit setgit, dan menambahkan pengguna Anda ke grup video:

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

(Alih-alih, Anda dapat menambahkan pengguna ke keduanya videodan input, tetapi itu tidak disarankan. Seorang pengguna dalam grup inputdapat memata-matai input dari pengguna lain. Misalnya GUI dalam X mungkin dapat memata-matai kata sandi root yang diketikkan ke konsol / tty.)

mviereck
sumber