XDM(8) System Manager's Manual XDM(8) (NAME) xdm - (X Display Manager) XDMCP (SYNOPSIS) xdm [ -config configuration_file ] [ -nodaemon ] [ -debug debug_level ] [ -error error_log_file ] [ -resources resource_file ] [ -server server_entry ] [ -session session_program ] (DESCRIPTION) Xdm X . xdm X The Open Group XDMCP ( X Display Manager Control Protocol) . Xdm init getty login : <<>> (session). <<>> . xdm . (window manager) << >> . xdm X (reset) ( ) . xdm (Indirect query) XDMCP chooser () BroadcastQuery XDMCP ( XDMCP ) XDMCP . X . Xdm BroadcastQuery . chooser X . xdm . Xdm . . (SESSION PROGRAM) . (OVERVIEW) xdm (resource files) . xdm- config -config . xdm : X Xservers X ( X) XDMCP ( XDM) Xaccess . X xdm xdm Xresources . X xdm chooser . X . X xdm Xsetup xlogin . xlogin xdm . xdm Xstartup (root) . xdm Xsession . .xsession . Xsession . Xreset X . /var/log/xdm.log xdm (stderr) Xsetup Xstartup Xsession Xreset . xdm xdm . (OPTIONS) -config (resource) . -config configuration_file xdm . /etc/X11/xdm/xdm-config . (CONFIGURATION FILE) . -nodaemon <> DisplayManager.daemonMode . xdm . -debug debug_level DisplayManager.debugLevel . xdm DisplayManager.daemonMode xdm (synchronous) . xdm . . -error error_log_file DisplayManager.errorLogFile . xdm stderr . -resources resource_file DisplayManager*resources . xrdb(1) . -server server_entry DisplayManager.servers . (LOCAL SERVER SPECIFICATION) . -udpPort port_number DisplayManager.requestPort . xdm XDMCP . 0 xdm XDMCP Chooser . XDMCP UDP 177 0 . -session session_program DisplayManager*session . . -xrm resource_specification X Toolkit. (RESOURCES) xdm X (X resource) . xdm . <> . Xservers . (resolve) . removeDomain . xdm . . XDMCP Manage . (:) (.) xdm (_) . DisplayManager.expo_x_org_0.startup <> . DisplayManager.servers ( ) . (LOCAL SERVER SPECIFICATION) . DisplayManager.requestPort UDP xdm XDMCP . 177 . DisplayManager.errorLogFile . . syslog . stderr Xsetup Xstartup Xsession Xreset . DisplayManager.debugLevel . ( ) xdm . DisplayManager.daemonMode xdm . (forking) . ( ). <> . DisplayManager.pidFile ASCII (PID) xdm . Xdm . DisplayManager.lockPidFile xdm . System V lockf BSD flock . DisplayManager.authDir xdm . /var/lib/xdm . DisplayManager.DISPLAY.authFile . DisplayManager.autoRescan xdm . <> . SIGHUP xdm . DisplayManager.removeDomainname XDMCP (name resolver) (FQDN) . xdm . <> . DisplayManager.keyFile XDMCP XDM- AUTHENTICATION-1 xdm . . . DisplayManager.accessFile XDMCP IndirectQuery XDMCP . XDMCP (XDMCP ACCESS CONTROL) . DisplayManager.exportList Xsetup Xstartup Xsession Xreset . DisplayManager.randomDevice . /dev/urandom . xdm DisplayManager.randomFile . DisplayManager.greeterLib . /usr/lib/X11/xdm/libXdmGreet.so . DisplayManager.choiceTimeout chooser . XDMCP IndirectQuery . chooser . 15 . DisplayManager.sourceAddress (multihomed) IP . . DisplayManager.willing XDMCP BroadcastQuery XDMCP . (chooser) . Willing to manage . DisplayManager.DISPLAY.resources xrdb 0 . Xsetup (Login) chooser . . (AUTHENTICATION WIDGET) . /etc/X11/xdm/Xresources . DisplayManager.DISPLAY.chooser CHOOSER . /usr/lib/X11/xdm/chooser . XDMCP (XDMCP ACCESS CONTROL) (CHOOSER) . DisplayManager.DISPLAY.xrdb . xdm /usr/bin/xrdb . DisplayManager.DISPLAY.setup ( root) . ( xconsole ). . Xsetup . (SETUP PROGRAM) . DisplayManager.DISPLAY.startup ( root) . . Xstartup . (STARTUP PROGRAM) . DisplayManager.DISPLAY.session ( root ). /usr/bin/xterm . Xsession . (SESSION PROGRAM) . DisplayManager.DISPLAY.reset ( root) . . Xreset . (RESET PROGRAM) . DisplayManager.DISPLAY.openDelay DisplayManager.DISPLAY.openRepeat DisplayManager.DISPLAY.openTimeout DisplayManager.DISPLAY.startAttempts DisplayManager.DISPLAY.reservAttempts xdm . openDelay openRepeat openTimeout ( connect(2)) startAttempts . openRepeat openTimeout xdm . startAttempts . . reservAttempts . . : openDelay: 15 openRepeat: 5 openTimeout: 120 startAttempts: 4 reservAttempts: 2. DisplayManager.DISPLAY.pingInterval DisplayManager.DISPLAY.pingTimeout xdm X XSync . pingInterval ( ) pingTimeout ( ) . . 5 . X . . xdm . NFS . DisplayManager.DISPLAY.terminateServer X ( ). . <> . DisplayManager.DISPLAY.userPath Xdm PATH . sh(1) . <> . DisplayManager.DISPLAY.systemPath Xdm PATH . <> . <<.>> . (root) . DisplayManager.DISPLAY.systemShell Xdm SHELL . /bin/sh . DisplayManager.DISPLAY.failsafeClient xdm . ( (SESSION PROGRAM) ). /usr/bin/xterm . DisplayManager.DISPLAY.grabServer DisplayManager.DISPLAY.grabTimeout xdm (grab ). grabServer . <> . <> . grabTimeout xdm . . . xdm ( ) . DisplayManager.DISPLAY.authorize DisplayManager.DISPLAY.authName authorize xdm . authName . XDMCP authName . authorize . authorize <> authName <> XDM-AUTHORIZATION-1 <>. DisplayManager.DISPLAY.authFile xdm -auth . . DisplayManager.authDir . DisplayManager.DISPLAY.authComplain <> unsecureGreeting . (AUTHENTICATION WIDGET) . <> . DisplayManager.DISPLAY.resetSignal xdm . (CONTROLLING THE SERVER) . 1 (SIGHUP) . DisplayManager.DISPLAY.termSignal xdm . (CONTROLLING THE SERVER) . 15 (SIGTERM) . DisplayManager.DISPLAY.resetForAuth . xdm . xdm SIGHUP . <> MIT . DisplayManager.DISPLAY.userAuthDir xdm ($HOME/.Xauthority) XAUTHORITY . /tmp . (CONFIGURATION FILE) xdm . ( /etc/X11/xdm) . xdm-config : DisplayManager.servers: /etc/X11/xdm/Xservers DisplayManager.errorLogFile: /var/log/xdm.log DisplayManager*resources: /etc/X11/xdm/Xresources DisplayManager*startup: /etc/X11/xdm/Xstartup DisplayManager*session: /etc/X11/xdm/Xsession DisplayManager.pidFile: /var/run/xdm-pid DisplayManager._0.authorize: true DisplayManager*authorize: false . <<*>> . <<*>> . (RESOURCES) . XDMCP (XDMCP ACCESS CONTROL) DisplayManager.accessFile xdm XDMCP . : (Direct) (Broadcast) (Indirect) . (<<*>> <> ) . . (canonical) . <> . <> . xdm Broadcast . . . <<%>> . . xdm chooser . (CHOOSER) . . (Direct Broadcast) . <<#>> <<\newline>> . Xaccess : # # Xaccess - XDMCP access control file # # # Direct/Broadcast query entries # !xtra.lcs.mit.edu # disallow direct/broadcast service for xtra bambi.ogi.edu # allow access from this particular display *.lcs.mit.edu # allow access from any display in LCS *.deshaw.com NOBROADCAST # allow only direct access *.gw.com # allow direct and broadcast # # Indirect query entries # %HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu \ excess.lcs.mit.edu kanga.lcs.mit.edu extract.lcs.mit.edu xenon.lcs.mit.edu #force extract to contact xenon !xtra.lcs.mit.edu dummy #disallow indirect access *.lcs.mit.edu %HOSTS #all others get to choose IPv6 (multicast) . / (hop count) . 1 . IPv4 TTL . : rincewind.sample.net ff02::1 #IPv6 Multicast to ff02::1 #with a hop count of 1 ponder.sample.net CHOOSER 239.192.1.1/16 #Offer a menu of hosts #who respond to IPv4 Multicast #to 239.192.1.1 with a #TTL of 16 (CHOOSER) X Broadcast Indirect chooser . Xaccess <> . Chooser Query . <> chooser Broadcast . UDP . Xaccess chooser: extract.lcs.mit.edu CHOOSER %HOSTS #offer a menu of these hosts xtra.lcs.mit.edu CHOOSER BROADCAST #offer a menu of all hosts chooser DisplayManager.DISPLAY.chooser . chooser . Chooser xdm . DisplayManager.DISPLAY.resources . chooser xdm . xdm X XDMCP Indirect . xdm ( DisplayManager.choiceTimeout ) . (LISTEN) Xaccess : LISTEN interface [list of multicast group addresses] interface IP * . LISTEN xdm XDMCP . listen xdm . LISTEN . LISTEN IPv6 xdm IPv6 XDMCP . XDMCP LISTEN DisplayManager.requestPort 0 . : LISTEN * ff02::1 # Listen on all interfaces and to the # ff02::1 IPv6 multicast group. LISTEN 10.11.12.13 # Listen only on this interface, as long # as no other listen directives appear in # file. IPv6 (IPv6 MULTICAST ADDRESS SPECIFICATION) (IANA) ff0X:0:0:0:0:0:0:12b XDMCP . X 1 Interface-Local 2 Link- Local 5 Site-Local . ( IETF RFC 4291 .) xdm (Link-Local) ff02:0:0:0:0:0:0:12b IPv4 . (LOCAL SERVER SPECIFICATION) DisplayManager.servers (/) ( ) . XDMCP . . xdm XDMCP . : ( ) . 0 : :0 Digital-QV local /usr/bin/X :0 : local : xdm foreign : xdm X -display X . ( <<:0 Sun-CG3 local /usr/bin/X :0>> <> <> ). . ( X) . XDMCP X . xdm . xdm . xdm <<-auth filename>> . XDMCP xdm XDMCP Accept . (RESOURCES FILE) Xresources xrdb . : xlogin*login.translations: #override\ CtrlR: abort-display()\n\ F1: set-session-argument(failsafe) finish-field()\n\ Return: set-session-argument() finish-field() xlogin*borderWidth: 3 xlogin*greeting: CLIENTHOST #ifdef COLOR xlogin*greetColor: CadetBlue xlogin*failColor: red #endif translations ( ). #override ( <<: insert-char ()>> ). chooser . (SETUP PROGRAM) Xsetup (Login) . . (root) . . DisplayManager.exportList : DISPLAY PATH DisplayManager.DISPLAY.systemPath SHELL DisplayManager.DISPLAY.systemShell XAUTHORITY xdm . . DisplayManager.DISPLAY.grabServer Xsetup . DisplayManager.DISPLAY.resources . Xsetup : #!/bin/sh # Xsetup_0 - setup script for one workstation xcmsdb < /etc/X11/xdm/monitors/alex.0 xconsole -geometry 480x130-0-0 -notify -verbose -exitOnFail & (AUTHENTICATION WIDGET) / . . DisplayManager.DISPLAY.resources . . xrdb(1) CLIENTHOST C #ifdef . Xdm Xft(3) . (font faces) <> fontconfig Font Names fonts.conf(5) . <> X Logical Font Description Font Names X(7) . xlogin.Login.width, xlogin.Login.height, xlogin.Login.x, xlogin.Login.y (geometry) Login . . xlogin.Login.foreground . xlogin.Login.face Xft. <> . xlogin.Login.font Xft. xlogin.Login.greeting . <> . xlogin.Login.unsecureGreeting X . <> . xlogin.Login.greetFace Xft. <> . xlogin.Login.greetFont Xft. xlogin.Login.greetColor . xlogin.Login.namePrompt . Xrdb ( ) (backslash) . <> . xlogin.Login.passwdPrompt PAM . <> . xlogin.Login.promptFace Xft. <> . xlogin.Login.promptFont Xft. xlogin.Login.promptColor . xlogin.Login.changePasswdMessage . <> . xlogin.Login.fail PAM . <> . xlogin.Login.failFace Xft. <> . xlogin.Login.failFont Xft. xlogin.Login.failColor . xlogin.Login.failTimeout . 10 . xlogin.Login.logoFileName XPM XPM. . xlogin.Login.logoPadding . 5 . xlogin.Login.useShape <> XPM X . <> . xlogin.Login.hiColor, xlogin.Login.shdColor . hiColor . shdColor . (foreground) . xlogin.Login.frameWidth frameWidth hiColor shdColor . xlogin.Login.innerFramesWidth innerFramesWidth hiColor shdColor . xlogin.Login.sepWidth sepWidth hiColor shdColor . xlogin.Login.allowRootLogin <> ( uid = 0) . <> . . xlogin.Login.allowNullPasswd <> . <> . xlogin.Login.echoPasswd <> (echoPasswdChar) . <> . xlogin.Login.echoPasswdChar echoPasswd . <<*>> . . xlogin.Login.translations . X Toolkit . : CtrlH: delete-previous-character() CtrlD: delete-character() CtrlB: move-backward-character() CtrlF: move-forward-character() CtrlA: move-to-begining() CtrlE: move-to-end() CtrlK: erase-to-end-of-line() CtrlU: erase-line() CtrlX: erase-line() CtrlC: restart-session() Ctrl\\: abort-session() BackSpace: delete-previous-character() Delete: delete-previous-character() Return: finish-field() : insert-char() (actions) : delete-previous-character . delete-character . move-backward-character . move-forward-character . move-to-begining ( ). . move-to-end . erase-to-end-of-line . erase-line . finish-field / . / xdm . . abort-session . abort-display . . xdm xdmshell . SIGHUP xdm . XDM (CONTROLLING XDM) . restart-session X . . insert-char . set-session-argument . (SESSION PROGRAM) . allow-all-access . .Xauthority xdm . . ( OpenBSD) /etc/shells xdm . . (STARTUP PROGRAM) Xstartup (root) . . root Xstartup . utmp wtmp ( sessreg ) (mount) . DisplayManager.exportList : DISPLAY HOME LOGNAME USER PATH DisplayManager.DISPLAY.systemPath SHELL DisplayManager.DISPLAY.systemShell XAUTHORITY WINDOWPATH << >> X . Xdm . xdm . Xstartup /etc/nologin . . Xstartup : #!/bin/sh # # Xstartup # # This program is run as root after the user is verified # if [ -f /etc/nologin ]; then xmessage -file /etc/nologin -timeout 30 -center exit 1 fi sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $LOGNAME /etc/X11/xdm/GiveConsole exit 0 (SESSION PROGRAM) Xsession . . DisplayManager.exportList : DISPLAY HOME LOGNAME USER PATH DisplayManager.DISPLAY.userPath SHELL ( getpwnam) XAUTHORITY KRB5CCNAME WINDOWPATH << >> X Xsession $HOME .xsession . Xsession . <> . . . .xsession . . <> Xresources . .xsession (executable) . #!/bin/sh # # Xsession # # This is the program that is run as the client # for the display manager. case $# in 1) case $1 in failsafe) exec xterm -geometry 80x24-0-0 ;; esac esac startup=$HOME/.xsession resources=$HOME/.Xresources if [ -f "$startup" ]; then exec "$startup" else if [ -f "$resources" ]; then xrdb -load "$resources" fi twm & xman -geometry +10-10 & exec xterm -geometry 80x24+10+10 -ls fi .xsession . . #! /bin/csh # no -f in the previous line so .cshrc gets run to set $PATH twm & xrdb -merge "$HOME/.Xresources" emacs -geometry +0+50 & xbiff -geometry -430+5 & xterm -geometry -0+50 -ls (RESET PROGRAM) Xstartup Xreset . root Xstartup utmp wtmp . Xstartup Xreset . Xreset: #!/bin/sh # # Xreset # # This program is run as root after the session ends # sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $LOGNAME /etc/X11/xdm/TakeConsole exit 0 (CONTROLLING THE SERVER) Xdm POSIX . SIGHUP . SIGTERM . DisplayManager.DISPLAY.resetSignal DisplayManager.DISPLAY.termSignal . XDMCP xdm KillClient . . XDMCP xdm . XDM (CONTROLLING XDM) Xdm : SIGHUP SIGTERM. SIGHUP xdm . . xdm . . SIGTERM xdm . . Xdm ps(1) . xdm xdm ( ). -display . (ADDITIONAL LOCAL DISPLAYS) Xservers . ( (LOCAL SERVER SPECIFICATION) .) xdm-config ( DisplayManager._0.authorize) . xdm-config :0 :1 . (OTHER POSSIBILITIES) xdm 4.3 init : xdm -server ":0 SUN-3/60CG4 local /usr/bin/X :0" X . Xservers : extol:0 VISUAL-19 foreign exalt:0 NCD-19 foreign explode:0 NCR-TOWERVIEW3000 foreign xdm . XDM (CONTROLLING XDM) init(8) . (LIMITATIONS) xdm . xinit . (FILES) /etc/X11/xdm/xdm-config $HOME/.Xauthority xdm /usr/lib/X11/xdm/chooser /usr/bin/xrdb /usr/bin/X /usr/bin/xterm (failsafe) /var/lib/xdm/A- /tmp/K5C (Kerberos) (SEE ALSO) X(7), xinit(1), xauth(1), xrdb(1), Xsecurity(7), sessreg(1), Xserver(1), xdmshell(8), fonts.conf(5). X Display Manager Control Protocol IETF RFC 4291: IP Version 6 Addressing Architecture. (AUTHORS) Keith Packard, MIT X Consortium X Version 11 xdm 1.1.17 XDM(8)