From 4606d5a997ec09b5ee4a99a2b3d67e9d28ec774d Mon Sep 17 00:00:00 2001 From: Albert Hopkins Date: Sun, 12 Sep 2010 23:23:59 -0400 Subject: [PATCH] Added old-school X11 desktop appliance --- x/critical | 36 ++++++++++++++++ x/package.keywords | 0 x/package.use | 2 + x/postinstall | 7 ++++ x/preinstall | 3 ++ x/world | 8 ++++ x/xdm/Xaccess | 101 +++++++++++++++++++++++++++++++++++++++++++++ x/xdm/Xservers | 13 ++++++ x/xdm/xdm-config | 41 ++++++++++++++++++ 9 files changed, 211 insertions(+) create mode 100644 x/critical create mode 100644 x/package.keywords create mode 100644 x/package.use create mode 100755 x/postinstall create mode 100755 x/preinstall create mode 100644 x/world create mode 100644 x/xdm/Xaccess create mode 100644 x/xdm/Xservers create mode 100644 x/xdm/xdm-config diff --git a/x/critical b/x/critical new file mode 100644 index 0000000..07ffddb --- /dev/null +++ b/x/critical @@ -0,0 +1,36 @@ +app-editors/nano +net-misc/openssh +net-misc/rsync +net-misc/wget +sys-kernel/gentoo-sources +sys-kernel/linux-headers +sys-devel/gcc +sys-devel/automake +sys-devel/bison +sys-devel/make +sys-devel/flex +sys-devel/automake-wrapper +sys-devel/autoconf-wrapper +sys-devel/autoconf +sys-devel/m4 +sys-devel/gcc-config +sys-devel/libtool +sys-devel/binutils +sys-devel/binutils-config +sys-devel/patch +sys-devel/gnuconfig +app-admin/python-updater +app-admin/perl-cleaner +sys-apps/man-pages +sys-apps/man +sys-apps/file +sys-apps/less +sys-apps/texinfo +sys-apps/busybox +sys-apps/debianutils +sys-apps/man-pages-posix +sys-apps/sandbox +sys-apps/which +dev-lang/perl +sys-devel/libperl +sys-apps/portage diff --git a/x/package.keywords b/x/package.keywords new file mode 100644 index 0000000..e69de29 diff --git a/x/package.use b/x/package.use new file mode 100644 index 0000000..342b408 --- /dev/null +++ b/x/package.use @@ -0,0 +1,2 @@ +x11-base/xorg-server xorg +dev-lang/python xml diff --git a/x/postinstall b/x/postinstall new file mode 100755 index 0000000..32efd89 --- /dev/null +++ b/x/postinstall @@ -0,0 +1,7 @@ +#!/bin/sh -ev + +CHROOT="$1" +APPLIANCE="`dirname $0`" + +cp "${APPLIANCE}"/xdm/* "${CHROOT}"/etc/X11/xdm +chroot "${CHROOT}" rc-update add xdm default diff --git a/x/preinstall b/x/preinstall new file mode 100755 index 0000000..aa6c897 --- /dev/null +++ b/x/preinstall @@ -0,0 +1,3 @@ +#!/bin/sh + +CHROOT="$1" diff --git a/x/world b/x/world new file mode 100644 index 0000000..2f9dc39 --- /dev/null +++ b/x/world @@ -0,0 +1,8 @@ +net-misc/dhcpcd +x11-apps/xcalc +x11-apps/xdm +x11-apps/xedit +x11-apps/xeyes +x11-apps/xload +x11-apps/xlogo +x11-base/xorg-x11 diff --git a/x/xdm/Xaccess b/x/xdm/Xaccess new file mode 100644 index 0000000..addbcdf --- /dev/null +++ b/x/xdm/Xaccess @@ -0,0 +1,101 @@ +# $XdotOrg: Xaccess,v 1.3 2000/08/17 19:54:17 cpqbld Exp $ +# $Xorg: Xaccess,v 1.3 2000/08/17 19:54:17 cpqbld Exp $ +# $XFree86: xc/programs/xdm/config/Xaccess,v 1.4 2003/07/09 15:27:40 tsi Exp $ +# +# Access control file for XDMCP connections +# +# To control Direct and Broadcast access: +# +# pattern +# +# To control Indirect queries: +# +# pattern list of hostnames and/or macros ... +# +# To use the chooser: +# +# pattern CHOOSER BROADCAST +# +# or +# +# pattern CHOOSER list of hostnames and/or macros ... +# +# To define macros: +# +# %name list of hosts ... +# +# To control which addresses xdm listens for requests on: +# +# LISTEN address [list of multicast groups ... ] +# +# The first form tells xdm which displays to respond to itself. +# The second form tells xdm to forward indirect queries from hosts matching +# the specified pattern to the indicated list of hosts. +# The third form tells xdm to handle indirect queries using the chooser; +# the chooser is directed to send its own queries out via the broadcast +# address and display the results on the terminal. +# The fourth form is similar to the third, except instead of using the +# broadcast address, it sends DirectQuerys to each of the hosts in the list +# The fifth form tells xdm which addresses to listen for incoming connections +# on. If present, xdm will only listen for connections on the specified +# interfaces and/or multicast groups. +# +# In all cases, xdm uses the first entry which matches the terminal; +# for IndirectQuery messages only entries with right hand sides can +# match, for Direct and Broadcast Query messages, only entries without +# right hand sides can match. +# + +* #any host can get a login window + +# +# To hardwire a specific terminal to a specific host, you can +# leave the terminal sending indirect queries to this host, and +# use an entry of the form: +# + +#terminal-a host-a + + +# +# The nicest way to run the chooser is to just ask it to broadcast +# requests to the network - that way new hosts show up automatically. +# Sometimes, however, the chooser can't figure out how to broadcast, +# so this may not work in all environments. +# + +#* CHOOSER BROADCAST #any indirect host can get a chooser + +# +# If you'd prefer to configure the set of hosts each terminal sees, +# then just uncomment these lines (and comment the CHOOSER line above) +# and edit the %hostlist line as appropriate +# + +#%hostlist host-a host-b + +#* CHOOSER %hostlist # + +# +# If you have a machine with multiple network interfaces or IP addresses +# you can control which interfaces accept XDMCP packets by listing a LISTEN +# line for each interface you want to listen on. You can additionally list +# one or more multicast groups after each address to listen on those groups +# on that address. +# +# If no LISTEN is specified, the default is the same as "LISTEN *" - listen on +# all unicast interfaces, but not for multicast packets. If any LISTEN lines +# are specified, then only the listed interfaces will be listened on. +# +# IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned +# multicast addresses for XDMCP, where X in the prefix may be replaced +# by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local, +# 5 for Site-Local, and so on. The default is equivalent to the example shown +# here using the Link-Local version to most closely match the old IPv4 subnet +# broadcast behavior. +# +# LISTEN * ff02:0:0:0:0:0:0:12b + +# This example shows listening for multicast on all scopes up to site-local +# +# LISTEN * ff01:0:0:0:0:0:0:12b ff02:0:0:0:0:0:0:12b ff03:0:0:0:0:0:0:12b ff04:0:0:0:0:0:0:12b ff05:0:0:0:0:0:0:12b diff --git a/x/xdm/Xservers b/x/xdm/Xservers new file mode 100644 index 0000000..a363f9a --- /dev/null +++ b/x/xdm/Xservers @@ -0,0 +1,13 @@ +# $Xorg: Xserv.ws.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $ +# +# Xservers file, workstation prototype +# +# This file should contain an entry to start the server on the +# local display; if you have more than one display (not screen), +# you can add entries to the list (one per line). If you also +# have some X terminals connected which do not support XDMCP, +# you can add them here as well. Each X terminal line should +# look like: +# XTerminalName:0 foreign +# +#:0 local /usr/bin/X :0 vt7 diff --git a/x/xdm/xdm-config b/x/xdm/xdm-config new file mode 100644 index 0000000..8baa559 --- /dev/null +++ b/x/xdm/xdm-config @@ -0,0 +1,41 @@ +! $Xorg: xdm-conf.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $ +! $XdotOrg: $ +! +! +! +! +! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.10 2002/11/30 19:11:32 herrb Exp $ +! + + + + + + +DisplayManager.errorLogFile: /var/log/xdm.log +DisplayManager.pidFile: /var/run/xdm.pid +DisplayManager.keyFile: /etc/X11/xdm/xdm-keys +DisplayManager.servers: /etc/X11/xdm/Xservers +DisplayManager.accessFile: /etc/X11/xdm/Xaccess +DisplayManager*resources: /etc/X11/xdm/Xresources +DisplayManager.willing: /usr/lib64/X11/xdm/Xwilling +! All displays should use authorization, but we cannot be sure +! X terminals may not be configured that way, so they will require +! individual resource settings. +DisplayManager*authorize: true +! +DisplayManager*chooser: /usr/lib64/X11/xdm/chooser +DisplayManager*startup: /usr/lib64/X11/xdm/Xstartup +DisplayManager*session: /usr/lib64/X11/xdm/Xsession +DisplayManager*reset: /usr/lib64/X11/xdm/Xreset +DisplayManager*authComplain: true +! The following three resources set up display :0 as the console. +DisplayManager._0.setup: /usr/lib64/X11/xdm/Xsetup_0 +DisplayManager._0.startup: /usr/lib64/X11/xdm/GiveConsole +DisplayManager._0.reset: /usr/lib64/X11/xdm/TakeConsole + +DisplayManager*loginmoveInterval: 10 + +! SECURITY: do not listen for XDMCP or Chooser requests +! Comment out this line if you want to manage X terminals with xdm +! DisplayManager.requestPort: 0