XDM: Difference between revisions

From ArchWiki
(update interlanguage links)
(update Pkg/AUR templates)
 
(4 intermediate revisions by 3 users not shown)
Line 8: Line 8:
{{Related|Display manager}}
{{Related|Display manager}}
{{Related articles end}}
{{Related articles end}}
From [https://www.xfree86.org/current/xdm.1.html XDM manual page]:


:''Xdm manages a collection of X displays, which may be on the local host or remote servers. The design of xdm was guided by the needs of X terminals as well as The Open Group standard XDMCP, the X Display Manager Control Protocol. Xdm provides services similar to those provided by init, getty and login on character terminals: prompting for login name and password, authenticating the user, and running a "session."''
From {{man|8|xdm|DESCRIPTION}}:
 
:''Xdm'' manages a collection of X displays, which may be on the local host or remote servers. The design of ''xdm'' was guided by the needs of X terminals as well as The Open Group standard XDMCP, the ''X Display Manager Control Protocol''. ''Xdm'' provides services similar to those provided by ''init'', ''getty'' and ''login'' on character terminals: prompting for login name and password, authenticating the user, and running a "session."


XDM provides a simple and straightforward graphical login prompt.
XDM provides a simple and straightforward graphical login prompt.
Line 24: Line 25:
=== Defining the session ===
=== Defining the session ===


Unlike many more modern [[display manager]]s such as [[GDM]] or [[LightDM]], XDM does not source available sessions from .desktop files located in the {{ic|/usr/share/xsessions}} directory. As such, XDM does not have a 'session menu.' Instead, XDM will execute the {{ic|.xsession}} file in the home directory.
Unlike many more modern [[display manager]]s such as [[GDM]] or [[LightDM]], XDM does not source available sessions from ''.desktop'' files located in the {{ic|/usr/share/xsessions}} directory. As such, XDM does not have a 'session menu.' Instead, XDM will execute the {{ic|.xsession}} file in the home directory.
 
For example, to start [[Xfce]] upon login, the {{ic|~/.xsession}} file should look like this:


For example, to start xfce upon login, the {{ic|~/.xsession}} should look like this
  startxfce4
  startxfce4


Ensure that the {{ic|.xsession}} file in your home directory is executable. To do this use the following command:
Ensure that the {{ic|.xsession}} file in your home directory is [[executable]].
 
$ chmod 700 ~/.xsession


=== Theming ===
=== Theming ===


For the exact meanings of the options discussed below, see the manual page of xdm. The configuration file is located in {{ic|/etc/X11/xdm/Xresources}}, notice that if you installed {{Pkg|xdm-archlinux}} the configuration file will instead be located in {{ic|/etc/X11/xdm/archlinux/Xresources}}.
For the exact meanings of the options discussed below, see {{man|8|xdm}}. The configuration file is located in {{ic|/etc/X11/xdm/Xresources}}, notice that if you installed {{Pkg|xdm-archlinux}} the configuration file will instead be located in {{ic|/etc/X11/xdm/archlinux/Xresources}}.


==== Background wallpaper ====
==== Background wallpaper ====


You can use a program such as {{Pkg|qiv}} to set the background in XDM:
Install {{AUR|qiv}}.


* Install {{Pkg|qiv}}
[[Create]] a directory to put wallpapers in, e.g {{ic|/usr/local/share/backgrounds}} and then place them inside it.


* Make a directory to store background images, e.g. {{ic|/root/backgrounds}} or {{ic|/usr/local/share/backgrounds}}
Edit {{ic|/etc/X11/xdm/Xsetup_0}}. Change the {{ic|xconsole}} command to {{ic|/usr/bin/qiv -zr /usr/local/share/backgrounds/*}}
 
* Place your images in the directory.
 
* Edit {{ic|/etc/X11/xdm/Xsetup_0}}. Change the {{ic|xconsole}} command to:
  /usr/bin/qiv -zr /root/backgrounds/*


==== Font ====
==== Font ====


* Edit {{ic|/etc/X11/xdm/Xresources}}. Add/replace the following defines:
* Edit {{ic|/etc/X11/xdm/Xresources}}. Add/replace the following defines:
  xlogin'''greetFont:  -adobe-helvetica-bold-o-normal--20-'''-'''-'''-'''-'''-iso8859-1
xlogin*'''greetFont:  -adobe-helvetica-bold-o-normal--20-'''-'''-'''-'''-'''-iso8859-1
  xlogin'''font:      -adobe-helvetica-medium-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
xlogin*'''font:      -adobe-helvetica-medium-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
  xlogin'''promptFont: -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
xlogin*'''promptFont: -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
  xlogin'''failFont:  -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1
xlogin*'''failFont:  -adobe-helvetica-bold-r-normal--14-'''-'''-'''-'''-'''-iso8859-1


==== Login dialog positioning ====
==== Login dialog positioning ====
Line 63: Line 57:
This configuration will move the login dialog to the bottom right of the screen.
This configuration will move the login dialog to the bottom right of the screen.


  xlogin*frameWidth: 1
xlogin*frameWidth: 1
  xlogin*innerFramesWidth: 1
xlogin*innerFramesWidth: 1
  xlogin*logoPadding: 0
xlogin*logoPadding: 0
  xlogin*geometry:    300x175-0-0
xlogin*geometry:    300x175-0-0


==== Removing the logo ====
==== Removing the logo ====
Comment out the logo defines:
Comment out the logo defines:
  #xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg.xpm
#xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg.xpm
  #xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg-bw.xpm
#xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg-bw.xpm


=== Multiple X sessions & Login in the window ===
=== Multiple X sessions & Login in the window ===


With the [[XDMCP]] enable, you can easily run multiple X sessions simultaneously on the same machine.
With the [[XDMCP]] enabled, you can easily connect to local or remote XDM instance and run multiple X sessions simultaneously on the same machine:
  # X -query ip_xdmcp_server :2
 
  # X -query ''xdmcp-server-ip'' :2
 
This command will launch the second session in window using [[Xephyr]]:


This will launch the second session, in window you need {{Pkg|xorg-server-xephyr}}
  $ Xephyr -query ''xdmcp-server-ip'' :2
  # Xephyr -query this_machine_ip :2


=== Passwordless login ===
=== Passwordless login ===


In order to enable passwordless login for XDM, add the line below to {{ic|/etc/X11/xdm/Xresources}}:
In order to enable passwordless login for XDM, add the line below to {{ic|/etc/X11/xdm/Xresources}}:
  xlogin*allowNullPasswd: true
  xlogin*allowNullPasswd: true

Latest revision as of 05:13, 7 April 2023

From xdm(8) § DESCRIPTION:

Xdm manages a collection of X displays, which may be on the local host or remote servers. The design of xdm was guided by the needs of X terminals as well as The Open Group standard XDMCP, the X Display Manager Control Protocol. Xdm provides services similar to those provided by init, getty and login on character terminals: prompting for login name and password, authenticating the user, and running a "session."

XDM provides a simple and straightforward graphical login prompt.

Installation

Install the xorg-xdm package. Then enable xdm.service.

If you would like to use an Arch Linux theme for XDM, you can optionally install the xdm-archlinux package. If installing the latter package, then do not enable xdm.service, but instead enable xdm-archlinux.service.

Configuration

Defining the session

Unlike many more modern display managers such as GDM or LightDM, XDM does not source available sessions from .desktop files located in the /usr/share/xsessions directory. As such, XDM does not have a 'session menu.' Instead, XDM will execute the .xsession file in the home directory.

For example, to start Xfce upon login, the ~/.xsession file should look like this:

startxfce4

Ensure that the .xsession file in your home directory is executable.

Theming

For the exact meanings of the options discussed below, see xdm(8). The configuration file is located in /etc/X11/xdm/Xresources, notice that if you installed xdm-archlinux the configuration file will instead be located in /etc/X11/xdm/archlinux/Xresources.

Background wallpaper

Install qivAUR.

Create a directory to put wallpapers in, e.g /usr/local/share/backgrounds and then place them inside it.

Edit /etc/X11/xdm/Xsetup_0. Change the xconsole command to /usr/bin/qiv -zr /usr/local/share/backgrounds/*

Font

  • Edit /etc/X11/xdm/Xresources. Add/replace the following defines:
xlogin*greetFont:  -adobe-helvetica-bold-o-normal--20------iso8859-1
xlogin*font:       -adobe-helvetica-medium-r-normal--14------iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--14------iso8859-1
xlogin*failFont:   -adobe-helvetica-bold-r-normal--14------iso8859-1

Login dialog positioning

This configuration will move the login dialog to the bottom right of the screen.

xlogin*frameWidth: 1
xlogin*innerFramesWidth: 1
xlogin*logoPadding: 0
xlogin*geometry:    300x175-0-0

Comment out the logo defines:

#xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg.xpm
#xlogin*logoFileName: /usr/share/xdm/pixmaps/xorg-bw.xpm

Multiple X sessions & Login in the window

With the XDMCP enabled, you can easily connect to local or remote XDM instance and run multiple X sessions simultaneously on the same machine:

# X -query xdmcp-server-ip :2

This command will launch the second session in window using Xephyr:

$ Xephyr -query xdmcp-server-ip :2

Passwordless login

In order to enable passwordless login for XDM, add the line below to /etc/X11/xdm/Xresources:

xlogin*allowNullPasswd: true