mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-23 17:34:00 +03:00
Merge pull request #23272 from keszybz/logind-man-and-rules
Logind man and rules
This commit is contained in:
commit
af2ff171e0
5
TODO
5
TODO
@ -1399,8 +1399,9 @@ Features:
|
||||
- follow PropertiesChanged state more closely, to deal with quick logouts and
|
||||
relogins
|
||||
- (optionally?) spawn seat-manager@$SEAT.service whenever a seat shows up that as CanGraphical set
|
||||
|
||||
* move logind udev rules to top-level rule.d/ directory
|
||||
- expose details of boot entries on the bus. In particular, it should be possible
|
||||
to query the list of boot entry titles that bootctl / sd-boot would show.
|
||||
Currently we only expose their identifiers.
|
||||
|
||||
* move multiseat vid/pid matches from logind udev rule to hwdb
|
||||
|
||||
|
@ -514,12 +514,7 @@ node /org/freedesktop/home1/home {
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
@ -379,12 +379,7 @@ node /org/freedesktop/hostname1 {
|
||||
name.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
|
||||
<refsect1>
|
||||
<title>Examples</title>
|
||||
|
@ -339,10 +339,5 @@ node /org/freedesktop/import1/transfer/_1 {
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -179,7 +179,7 @@ $ gdbus introspect --system \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<refsect1 id="versioning">
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
|
@ -1415,27 +1415,46 @@ node /org/freedesktop/login1/session/1 {
|
||||
<title>Examples</title>
|
||||
|
||||
<example>
|
||||
<title>Introspect <interfacename>org.freedesktop.login1.Manager</interfacename> on the bus</title>
|
||||
<title>Introspect the logind manager on the bus</title>
|
||||
|
||||
<programlisting>$ gdbus introspect --system --dest org.freedesktop.login1 \
|
||||
--object-path /org/freedesktop/login1
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Introspect <interfacename>org.freedesktop.login1.Seat</interfacename> on the bus</title>
|
||||
<para>or</para>
|
||||
|
||||
<programlisting>$ gdbus introspect --system --dest org.freedesktop.login1 \
|
||||
--object-path /org/freedesktop/login1/seat/seat0
|
||||
<programlisting>$ busctl introspect org.freedesktop.login1 /org/freedesktop/login1
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Introspect <interfacename>org.freedesktop.login1.User</interfacename> on the bus</title>
|
||||
<title>Introspect the default seat on the bus</title>
|
||||
|
||||
<programlisting>$ gdbus introspect --system --dest org.freedesktop.login1 \
|
||||
--object-path /org/freedesktop/login1/seat/seat0
|
||||
</programlisting>
|
||||
|
||||
<para>or</para>
|
||||
|
||||
<programlisting>$ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/seat/seat0
|
||||
</programlisting>
|
||||
|
||||
<para>Seat <literal>seat0</literal> is the default seat, so it'll be present unless local configuation
|
||||
is made to reassign all devices to a different seat. The list of seats and users can be acquired with
|
||||
<command>loginctl list-sessions</command>.</para>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Introspect a single user on the bus</title>
|
||||
|
||||
<programlisting>$ gdbus introspect --system --dest org.freedesktop.login1 \
|
||||
--object-path /org/freedesktop/login1/user/_1000
|
||||
</programlisting>
|
||||
|
||||
<para>or</para>
|
||||
|
||||
<programlisting>$ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/user/_1000
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
@ -1444,13 +1463,13 @@ node /org/freedesktop/login1/session/1 {
|
||||
<programlisting>$ gdbus introspect --system --dest org.freedesktop.login1 \
|
||||
--object-path /org/freedesktop/login1/session/45
|
||||
</programlisting>
|
||||
|
||||
<para>or</para>
|
||||
|
||||
<programlisting>$ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/session/45
|
||||
</programlisting>
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -639,10 +639,5 @@ $ gdbus introspect --system \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -498,10 +498,5 @@ $ gdbus introspect --system \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -65,10 +65,5 @@ node /org/freedesktop/oom1 {
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -559,10 +559,5 @@ node /org/freedesktop/portable1 {
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -891,10 +891,5 @@ $ gdbus introspect --system \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -10656,10 +10656,5 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
</refentry>
|
||||
|
@ -190,12 +190,7 @@ $ gdbus introspect --system \
|
||||
</example>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Versioning</title>
|
||||
|
||||
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
||||
the usual interface versioning guidelines</ulink>.</para>
|
||||
</refsect1>
|
||||
<xi:include href="org.freedesktop.locale1.xml" xpointer="versioning"/>
|
||||
|
||||
<refsect1>
|
||||
<title>See also</title>
|
||||
|
@ -2068,7 +2068,6 @@ subdir('src/timedate')
|
||||
subdir('src/timesync')
|
||||
subdir('src/tmpfiles')
|
||||
subdir('src/userdb')
|
||||
subdir('src/vconsole')
|
||||
subdir('src/xdg-autostart-generator')
|
||||
|
||||
subdir('src/systemd')
|
||||
|
@ -4,54 +4,73 @@ install_data(
|
||||
'README',
|
||||
install_dir : udevrulesdir)
|
||||
|
||||
rules = files(
|
||||
'60-autosuspend.rules',
|
||||
'60-block.rules',
|
||||
'60-cdrom_id.rules',
|
||||
'60-drm.rules',
|
||||
'60-evdev.rules',
|
||||
'60-fido-id.rules',
|
||||
'60-input-id.rules',
|
||||
'60-persistent-alsa.rules',
|
||||
'60-persistent-input.rules',
|
||||
'60-persistent-storage.rules',
|
||||
'60-persistent-storage-tape.rules',
|
||||
'60-persistent-v4l.rules',
|
||||
'60-sensor.rules',
|
||||
'60-serial.rules',
|
||||
'70-camera.rules',
|
||||
'70-joystick.rules',
|
||||
'70-mouse.rules',
|
||||
'70-touchpad.rules',
|
||||
'75-net-description.rules',
|
||||
'75-probe_mtd.rules',
|
||||
'78-sound-card.rules',
|
||||
'80-net-setup-link.rules',
|
||||
'81-net-dhcp.rules')
|
||||
rules = [
|
||||
[files('60-autosuspend.rules',
|
||||
'60-block.rules',
|
||||
'60-cdrom_id.rules',
|
||||
'60-drm.rules',
|
||||
'60-evdev.rules',
|
||||
'60-fido-id.rules',
|
||||
'60-input-id.rules',
|
||||
'60-persistent-alsa.rules',
|
||||
'60-persistent-input.rules',
|
||||
'60-persistent-storage.rules',
|
||||
'60-persistent-storage-tape.rules',
|
||||
'60-persistent-v4l.rules',
|
||||
'60-sensor.rules',
|
||||
'60-serial.rules',
|
||||
'70-camera.rules',
|
||||
'70-joystick.rules',
|
||||
'70-mouse.rules',
|
||||
'70-touchpad.rules',
|
||||
'75-net-description.rules',
|
||||
'75-probe_mtd.rules',
|
||||
'78-sound-card.rules',
|
||||
'80-net-setup-link.rules',
|
||||
'81-net-dhcp.rules',
|
||||
)],
|
||||
|
||||
if conf.get('HAVE_KMOD') == 1
|
||||
rules += files('80-drivers.rules')
|
||||
endif
|
||||
[files('80-drivers.rules'),
|
||||
conf.get('HAVE_KMOD') == 1],
|
||||
|
||||
if dmi_arches.contains(host_machine.cpu_family())
|
||||
rules += files('70-memory.rules')
|
||||
endif
|
||||
[files('70-memory.rules'),
|
||||
dmi_arches.contains(host_machine.cpu_family())],
|
||||
]
|
||||
|
||||
install_data(rules,
|
||||
install_dir : udevrulesdir)
|
||||
all_rules = []
|
||||
|
||||
all_rules = rules
|
||||
|
||||
rules_in = ['50-udev-default.rules',
|
||||
'64-btrfs.rules',
|
||||
'99-systemd.rules']
|
||||
|
||||
foreach file : rules_in
|
||||
all_rules += custom_target(
|
||||
file,
|
||||
input : file + '.in',
|
||||
output: file,
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : true,
|
||||
install_dir : udevrulesdir)
|
||||
foreach tuple : rules
|
||||
if tuple.length() == 1 or tuple[1]
|
||||
install_data(tuple[0],
|
||||
install_dir : udevrulesdir)
|
||||
all_rules += tuple[0]
|
||||
endif
|
||||
endforeach
|
||||
|
||||
rules_in = [
|
||||
['50-udev-default.rules'],
|
||||
['64-btrfs.rules'],
|
||||
['99-systemd.rules'],
|
||||
|
||||
['70-uaccess.rules', enable_logind and conf.get('HAVE_ACL') == 1],
|
||||
['71-seat.rules', enable_logind],
|
||||
['73-seat-late.rules', enable_logind],
|
||||
|
||||
['90-vconsole.rules', conf.get('ENABLE_VCONSOLE') == 1],
|
||||
]
|
||||
|
||||
foreach tuple : rules_in
|
||||
want = tuple.length() == 1 or tuple[1]
|
||||
|
||||
rule = custom_target(
|
||||
tuple[0],
|
||||
input : tuple[0] + '.in',
|
||||
output: tuple[0],
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : want,
|
||||
install_dir : udevrulesdir)
|
||||
|
||||
if want
|
||||
all_rules += rule
|
||||
endif
|
||||
endforeach
|
||||
|
@ -65,25 +65,22 @@ pam_systemd_sym = 'src/login/pam_systemd.sym'
|
||||
pam_systemd_c = files('pam_systemd.c')
|
||||
|
||||
enable_logind = conf.get('ENABLE_LOGIND') == 1
|
||||
in_files = [
|
||||
['logind.conf', pkgsysconfdir, enable_logind and install_sysconfdir_samples],
|
||||
['70-uaccess.rules', udevrulesdir, enable_logind and conf.get('HAVE_ACL') == 1],
|
||||
['71-seat.rules', udevrulesdir, enable_logind],
|
||||
['73-seat-late.rules', udevrulesdir, enable_logind],
|
||||
['systemd-user', pamconfdir, enable_logind]]
|
||||
|
||||
foreach tuple : in_files
|
||||
file = tuple[0]
|
||||
dir = tuple[1]
|
||||
install = (dir == pkgsysconfdir) ? install_sysconfdir_samples : (dir != 'no')
|
||||
custom_target(
|
||||
file,
|
||||
input : file + '.in',
|
||||
output: file,
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : tuple[2] and install,
|
||||
install_dir : dir)
|
||||
endforeach
|
||||
custom_target(
|
||||
'logind.conf',
|
||||
input : 'logind.conf.in',
|
||||
output : 'logind.conf',
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : enable_logind and install_sysconfdir_samples and pkgsysconfdir != 'no',
|
||||
install_dir : pkgsysconfdir)
|
||||
|
||||
custom_target(
|
||||
'systemd-user',
|
||||
input : 'systemd-user.in',
|
||||
output : 'systemd-user',
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : enable_logind and pamconfdir != 'no',
|
||||
install_dir : pamconfdir)
|
||||
|
||||
if enable_logind
|
||||
install_data('org.freedesktop.login1.conf',
|
||||
@ -92,8 +89,6 @@ if enable_logind
|
||||
install_dir : dbussystemservicedir)
|
||||
install_data('org.freedesktop.login1.policy',
|
||||
install_dir : polkitpolicydir)
|
||||
install_data('70-power-switch.rules',
|
||||
install_dir : udevrulesdir)
|
||||
endif
|
||||
|
||||
############################################################
|
||||
|
@ -1,9 +0,0 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
custom_target(
|
||||
'90-vconsole.rules',
|
||||
input : '90-vconsole.rules.in',
|
||||
output : '90-vconsole.rules',
|
||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||
install : conf.get('ENABLE_VCONSOLE') == 1,
|
||||
install_dir : udevrulesdir)
|
Loading…
Reference in New Issue
Block a user