Hi, just out of curiosity I tried running Xorg as non-root on my freerunner (armel). I was surprised that it worked since this feature does not seem to be advertised much.
The details are below. Please let me know if there are any existing plans on supporting running Xorg as non-root in debian. 1) My xorg.conf is $ cat /etc/X11/xorg.conf Section "Device" Identifier "Configured Video Device" Driver "fbdev" EndSection Section "ServerLayout" Identifier "Default Layout" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "power" EndSection Section "InputDevice" Identifier "Mouse0" Driver "tslib" Option "Device" "/dev/input/event1" Option "Width" "480" Option "Height" "640" EndSection Section "InputDevice" Identifier "power" Driver "evdev" Option "Device" "/dev/input/event0" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" DisplaySize 200 200 EndSection Section "Device" Identifier "Videocard0" Driver "fbdev" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 16 EndSection Section "ServerFlags" Option "AutoAddDevices" "False" EndSection 2) I created a new user and group for Xorg, should this be standardized in Debian? sudo addgroup --system xorg sudo adduser --system --no-create-home --home /var/run/xorg --disabled-password --ingroup xorg xorg 3) I created a new directory for logs since I do not want to make /var/log writable by xorg user. sudo mkdir /var/log/xorg sudo chown xorg:xorg /var/log/xorg 4) I granted Xorg access the framebuffer and relevant virtual consoles sudo chown xorg /dev/tty0 sudo chown xorg /dev/tty2 sudo chown xorg /dev/tty7 sudo chown xorg /dev/input/event0 sudo chown xorg /dev/input/event1 sudo chown xorg /dev/fb0 5) I removed all the root-owned cruft from /tmp sudo rm -fr /tmp/.X0-lock sudo rm -fr /tmp/.X11-unix 6) I was able to run Xorg manually with sudo -u xorg Xorg -logfile /var/log/xorg/Xorg.0.log Integration with xdm was bit tricky. I ended up with a wrapper /usr/local/bin/non-root-X that does #!/bin/sh chown xorg /var/lib/xdm/authdir chown xorg /var/lib/xdm/authdir/authfiles chown xorg /var/lib/xdm/authdir/authfiles/* exec sudo -u xorg Xorg -logfile /var/log/xorg/Xorg.0.log "$@" so that I can simply have :0 local /usr/local/bin/non-root-X :0 vt7 -nolisten tcp in /etc/X11/xdm/Xservers. Just for completeness, here's the contents of /var/log/xorg/Xorg.0.log: _XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root X.Org X Server 1.7.7 Release Date: 2010-05-04 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.32 armv5tel Debian Current Operating System: Linux ginger 2.6.29-GTA02_lindi2-andy-tracking-mokodev #4 Tue Aug 17 23:10:12 EEST 2010 armv4tl Kernel command line: loglevel=4 console=tty0 console=ttySAC2,115200 init=/sbin/init ro mtdparts=physmap-flash:-(nor);neo1973-nand:0x00040000(qi),0x00040000(depr-ub-env),0x00800000(kernel),0x000a0000(depr),0x00040000(identity-ext2),0x0f6a0000(rootfs) g_ether.host_addr=00:1F:11:01:1F:6B g_ether.dev_addr=00:1F:11:01:1F:6B root=/dev/mmcblk0p1 rootdelay=1 rootdelay=1 panic=20 mem=127M root=/dev/mmcblk0p2 loglevel=8 Build Date: 24 August 2010 03:05:51PM xorg-server 2:1.7.7-4 (Julien Cristau <jcris...@debian.org>) Current version of pixman: 0.16.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (++) Log file: "/var/log/xorg/Xorg.0.log", Time: Mon Sep 6 11:46:24 2010 (==) Using config file: "/etc/X11/xorg.conf" (==) Using system config directory "/usr/share/X11/xorg.conf.d" (==) ServerLayout "Default Layout" (**) |-->Screen "Screen0" (0) (**) | |-->Monitor "Monitor0" (**) | |-->Device "Videocard0" (**) |-->Input Device "Mouse0" (**) |-->Input Device "power" (**) Option "AutoAddDevices" "False" (**) Not automatically adding devices (==) Automatically enabling devices (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist. Entry deleted from font path. (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist. Entry deleted from font path. (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist. Entry deleted from font path. (WW) The directory "/usr/share/fonts/X11/Type1" does not exist. Entry deleted from font path. (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist. Entry deleted from font path. (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist. Entry deleted from font path. (WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist. Entry deleted from font path. (==) FontPath set to: /usr/share/fonts/X11/misc, built-ins (==) ModulePath set to "/usr/lib/xorg/modules" (==) |-->Input Device "<default keyboard>" (==) The core keyboard device wasn't specified explicitly in the layout. Using the default keyboard configuration. (II) Loader magic: 0x1a7ba0 (II) Module ABI versions: X.Org ANSI C Emulation: 0.4 X.Org Video Driver: 6.0 X.Org XInput driver : 7.0 X.Org Server Extension : 2.0 (++) using VT number 7 (WW) xf86OpenConsole: setpgid failed: Operation not permitted (WW) xf86OpenConsole: setsid failed: Operation not permitted (II) LoadModule: "extmod" (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so (II) Module extmod: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.0.0 Module class: X.Org Server Extension ABI class: X.Org Server Extension, version 2.0 (II) Loading extension SELinux (II) Loading extension MIT-SCREEN-SAVER (II) Loading extension XFree86-VidModeExtension (II) Loading extension XFree86-DGA (II) Loading extension DPMS (II) Loading extension XVideo (II) Loading extension XVideo-MotionCompensation (II) Loading extension X-Resource (II) LoadModule: "dbe" (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so (II) Module dbe: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.0.0 Module class: X.Org Server Extension ABI class: X.Org Server Extension, version 2.0 (II) Loading extension DOUBLE-BUFFER (II) LoadModule: "glx" (II) Loading /usr/lib/xorg/modules/extensions/libglx.so (II) Module glx: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.0.0 ABI class: X.Org Server Extension, version 2.0 (==) AIGLX enabled (II) Loading extension GLX (II) LoadModule: "record" (II) Loading /usr/lib/xorg/modules/extensions/librecord.so (II) Module record: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.13.0 Module class: X.Org Server Extension ABI class: X.Org Server Extension, version 2.0 (II) Loading extension RECORD (II) LoadModule: "dri" (II) Loading /usr/lib/xorg/modules/extensions/libdri.so (II) Module dri: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.0.0 ABI class: X.Org Server Extension, version 2.0 (II) Loading extension XFree86-DRI (II) LoadModule: "dri2" (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so (II) Module dri2: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.1.0 ABI class: X.Org Server Extension, version 2.0 (II) Loading extension DRI2 (II) LoadModule: "fbdev" (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so (II) Module fbdev: vendor="X.Org Foundation" compiled for 1.7.6.901, module version = 0.4.2 ABI class: X.Org Video Driver, version 6.0 (II) LoadModule: "tslib" (II) Loading /usr/lib/xorg/modules/input/tslib_drv.so (II) Module tslib: vendor="X.Org Foundation" compiled for 1.7.7, module version = 0.0.1 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 7.0 (II) LoadModule: "evdev" (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so (II) Module evdev: vendor="X.Org Foundation" compiled for 1.7.6.901, module version = 2.3.2 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 7.0 (II) LoadModule: "kbd" (WW) Warning, couldn't open module kbd (II) UnloadModule: "kbd" (EE) Failed to load module "kbd" (module does not exist, 0) (II) FBDEV: driver for framebuffer: fbdev (WW) Falling back to old probe method for fbdev (II) Loading sub module "fbdevhw" (II) LoadModule: "fbdevhw" (II) Loading /usr/lib/xorg/modules/linux/libfbdevhw.so (II) Module fbdevhw: vendor="X.Org Foundation" compiled for 1.7.7, module version = 0.0.2 ABI class: X.Org Video Driver, version 6.0 (II) FBDEV(0): using default device (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support (II) Running in FRAMEBUFFER Mode (II) FBDEV(0): Creating default Display subsection in Screen section "Screen0" for depth/fbbpp 16/16 (**) FBDEV(0): Depth 16, (--) framebuffer bpp 16 (==) FBDEV(0): RGB weight 565 (==) FBDEV(0): Default visual is TrueColor (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0) (II) FBDEV(0): hardware: SMedia Glamo (video memory: 4096kB) (II) FBDEV(0): checking modes against framebuffer device... (II) FBDEV(0): checking modes against monitor... (--) FBDEV(0): Virtual size is 480x640 (pitch 480) (**) FBDEV(0): Built-in mode "current": 24.5 MHz, 47.9 kHz, 72.5 Hz (II) FBDEV(0): Modeline "current"x0.0 24.50 480 496 504 512 640 656 658 660 -hsync -vsync -csync (47.9 kHz) (**) FBDEV(0): Display dimensions: (200, 200) mm (**) FBDEV(0): DPI set to (60, 81) (II) Loading sub module "fb" (II) LoadModule: "fb" (II) Loading /usr/lib/xorg/modules/libfb.so (II) Module fb: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.0.0 ABI class: X.Org ANSI C Emulation, version 0.4 (**) FBDEV(0): using shadow framebuffer (II) Loading sub module "shadow" (II) LoadModule: "shadow" (II) Loading /usr/lib/xorg/modules/libshadow.so (II) Module shadow: vendor="X.Org Foundation" compiled for 1.7.7, module version = 1.1.0 ABI class: X.Org ANSI C Emulation, version 0.4 (==) FBDEV(0): Backing store disabled (==) FBDEV(0): DPMS enabled (==) RandR enabled (II) Initializing built-in extension Generic Event Extension (II) Initializing built-in extension SHAPE (II) Initializing built-in extension MIT-SHM (II) Initializing built-in extension XInputExtension (II) Initializing built-in extension XTEST (II) Initializing built-in extension BIG-REQUESTS (II) Initializing built-in extension SYNC (II) Initializing built-in extension XKEYBOARD (II) Initializing built-in extension XC-MISC (II) Initializing built-in extension XINERAMA (II) Initializing built-in extension XFIXES (II) Initializing built-in extension RENDER (II) Initializing built-in extension RANDR (II) Initializing built-in extension COMPOSITE (II) Initializing built-in extension DAMAGE SELinux: Disabled on system, not enabling in X server (II) AIGLX: Screen 0 is not DRI2 capable (II) AIGLX: Screen 0 is not DRI capable (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory) (EE) GLX: could not load software renderer (II) GLX: no usable GL providers found for screen 0 (**) Option "CorePointer" (**) Mouse0: always reports core events (**) Option "Width" "480" (**) Option "Height" "640" (II) XINPUT: Adding extended input device "Mouse0" (type: TOUCHSCREEN) xf86TslibControlProc xf86TslibControlProc (**) power: always reports core events (**) power: Device: "/dev/input/event0" (II) power: Found keys (II) power: Configuring as keyboard (II) XINPUT: Adding extended input device "power" (type: KEYBOARD) (**) Option "xkb_rules" "evdev" (**) Option "xkb_model" "evdev" (**) Option "xkb_layout" "us" (II) LoadModule: "kbd" (WW) Warning, couldn't open module kbd (II) UnloadModule: "kbd" (EE) Failed to load module "kbd" (module does not exist, 0) (EE) No input driver matching `kbd' config/udev: failed to bind the udev monitor [config] failed to initialise udev -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/84iq2jmf12....@sauna.l.org