ELOGIND.DIRECTIVES(7)
β¨ ELOGIND.DIRECTIVES β¨
okay bestie, welcome to elogind.directives β this is the manual page for the manual pages, fr fr. It's the index of configuration directives, aka the master list of every knob, switch, variable and constant that lives somewhere in the elogind universe. Think of it as the group chat directory for the whole squad π
Every entry below points you at the real page that explains it. So if you're like "wait what even is $XDG_VTNR", this is where you find out which friend to DM. π
πΈ UNIT DIRECTIVES πΈ
Directives for configuring units, used in unit files.
(yes, that's the whole vibe β the actual directives live in their own pages, this one just tells you they exist π«Ά)
π« OPTIONS ON THE KERNEL COMMAND LINE π«
Kernel boot options for configuring the behaviour of the elogind process.
π SMBIOS TYPE 11 VARIABLES π
Data passed from VMM to system via SMBIOS Type 11.
π¦ ENVIRONMENT VARIABLES π¦
Environment variables understood by the elogind manager and other programs and environment variable-compatible settings. The whole roster, no gatekeeping:
$EMAILβpam_elogind(8)$LANGβpam_elogind(8)$LISTEN_FDNAMESβsd_listen_fds(3)$LISTEN_FDSβsd_listen_fds(3)$LISTEN_PIDβsd_listen_fds(3)$NOTIFY_SOCKETβsd_notify(3)$SYSTEMD_COLORSβelogind-inhibit(1),loginctl(1)$SYSTEMD_LESSβelogind-inhibit(1),loginctl(1)$SYSTEMD_LESSCHARSETβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_COLORβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_LEVELβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_LOCATIONβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_RATELIMIT_KMSGβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_TARGETβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_TIDβelogind-inhibit(1),loginctl(1)$SYSTEMD_LOG_TIMEβelogind-inhibit(1),loginctl(1)$SYSTEMD_PAGERβelogind-inhibit(1),loginctl(1)$SYSTEMD_PAGERSECUREβelogind-inhibit(1),loginctl(1)$SYSTEMD_URLIFYβelogind-inhibit(1),loginctl(1)$TZβpam_elogind(8)$WATCHDOG_PIDβsd_watchdog_enabled(3)$WATCHDOG_USECβsd_watchdog_enabled(3)$XDG_RUNTIME_DIRβpam_elogind(8)$XDG_SEATβpam_elogind(8)$XDG_SESSION_CLASSβpam_elogind(8)$XDG_SESSION_DESKTOPβpam_elogind(8)$XDG_SESSION_IDβpam_elogind(8)$XDG_SESSION_TYPEβpam_elogind(8)$XDG_VTNRβpam_elogind(8)
likeβ¦ that's a LOT of variables and every single one is iconic in its own way π
π₯ SYSTEM CREDENTIALS π₯
System credentials understood by the system and service manager and various other components:
(short and mysterious. main character energy tbh π)
π EFI VARIABLES π
EFI variables understood by elogind-boot(7) and other programs.
π HOME AREA/USER ACCOUNT DIRECTIVES π
Directives for configuring home areas and user accounts via systemd-homed.service(8).
π§ UDEV DIRECTIVES π§
Directives for configuring elogind units through the udev database. The lil trio:
ID_AUTOSEATβsd-login(3)ID_FOR_SEATβsd-login(3)ID_SEATβsd-login(3)
π NETWORK DIRECTIVES π
Directives for configuring network links through the net-setup-link udev builtin and networks through systemd-networkd.
β JOURNAL FIELDS β
Fields in the journal events with a well known meaning:
CODE_FILE=βelogind.journal-fields(7)CODE_FUNC=βelogind.journal-fields(7)CODE_LINE=βelogind.journal-fields(7)MESSAGE=βelogind.journal-fields(7)PRIORITY=βelogind.journal-fields(7)
π PAM CONFIGURATION DIRECTIVES π
Directives for configuring PAM behaviour:
class=βpam_elogind(8)debugβpam_elogind(8)default-capability-ambient-set=βpam_elogind(8)default-capability-bounding-set=βpam_elogind(8)desktop=βpam_elogind(8)systemd.memory_max=βpam_elogind(8)systemd.runtime_max_sec=βpam_elogind(8)systemd.tasks_max=βpam_elogind(8)type=βpam_elogind(8)
π /ETC/CRYPTTAB, /ETC/VERITYTAB AND /ETC/FSTAB OPTIONS π
Options which influence mounted filesystems and encrypted volumes.
π₯ ELOGIND.NSPAWN(5) DIRECTIVES π₯
Directives for configuring systemd-nspawn containers.
π PROGRAM CONFIGURATION OPTIONS π
Directives for configuring the behaviour of the elogind process and other tools through configuration files. Big list, deep breath, let's go:
AllowHibernation=βsleep.conf(5)AllowHybridSleep=βsleep.conf(5)AllowSuspend=βsleep.conf(5)AllowSuspendThenHibernate=βsleep.conf(5)HandleHibernateKey=βlogind.conf(5)HandleHibernateKeyLongPress=βlogind.conf(5)HandleLidSwitch=βlogind.conf(5)HandleLidSwitchDocked=βlogind.conf(5)HandleLidSwitchExternalPower=βlogind.conf(5)HandlePowerKey=βlogind.conf(5)HandlePowerKeyLongPress=βlogind.conf(5)HandleRebootKey=βlogind.conf(5)HandleRebootKeyLongPress=βlogind.conf(5)HandleSuspendKey=βlogind.conf(5)HandleSuspendKeyLongPress=βlogind.conf(5)HibernateByUsing=βsleep.conf(5)HibernateDelaySec=βsleep.conf(5)HibernateKeyIgnoreInhibited=βlogind.conf(5)HibernateMode=βsleep.conf(5)HoldoffTimeoutSec=βlogind.conf(5)IdleAction=βlogind.conf(5)IdleActionSec=βlogind.conf(5)InhibitDelayMaxSec=βlogind.conf(5)InhibitorsMax=βlogind.conf(5)KillExcludeUsers=βlogind.conf(5)KillOnlyUsers=βlogind.conf(5)KillUserProcesses=βlogind.conf(5)LidSwitchIgnoreInhibited=βlogind.conf(5)PowerKeyIgnoreInhibited=βlogind.conf(5)RebootKeyIgnoreInhibited=βlogind.conf(5)RemoveIPC=βlogind.conf(5)RuntimeDirectoryInodesMax=βlogind.conf(5)RuntimeDirectorySize=βlogind.conf(5)SessionsMax=βlogind.conf(5)StopIdleSessionSec=βlogind.conf(5)SuspendByUsing=βsleep.conf(5)SuspendEstimationSec=βsleep.conf(5)SuspendKeyIgnoreInhibited=βlogind.conf(5)SuspendMode=βsleep.conf(5)SuspendState=βsleep.conf(5)UserStopDelaySec=βlogind.conf(5)
ate, no crumbs left. π
π COMMAND LINE OPTIONS π
Command-line options accepted by programs in the elogind suite:
--acquiredβbusctl(1)--activatableβbusctl(1)--addressβbusctl(1)--allβloginctl(1)--allow-interactive-authorizationβbusctl(1)--augment-credsβbusctl(1)--auto-startβbusctl(1)--daemonβelogind(8)--destinationβbusctl(1)--dry-runβloginctl(1)--expect-replyβbusctl(1)--fullβbusctl(1),loginctl(1)--helpβbusctl(1),elogind(8),elogind-inhibit(1),loginctl(1)--hostβbusctl(1)--ignore-inhibitorsβloginctl(1)--jsonβbusctl(1)--kill-whomβloginctl(1)--listβbusctl(1),elogind-inhibit(1)--machineβbusctl(1)--matchβbusctl(1)--modeβelogind-inhibit(1)--no-ask-passwordβloginctl(1)--no-legendβbusctl(1),elogind-inhibit(1),loginctl(1)--no-pagerβbusctl(1),elogind-inhibit(1),loginctl(1)--no-wallβloginctl(1)--outputβloginctl(1)--propertyβloginctl(1)--quietβbusctl(1)--show-machineβbusctl(1)--signalβloginctl(1)--sizeβbusctl(1)--systemβbusctl(1)--timeoutβbusctl(1)--uniqueβbusctl(1)--userβbusctl(1)--valueβloginctl(1)--verboseβbusctl(1)--versionβbusctl(1),elogind-inhibit(1),loginctl(1)--watch-bindβbusctl(1)--whatβelogind-inhibit(1)--whoβelogind-inhibit(1)--whyβelogind-inhibit(1)--xml-interfaceβbusctl(1)-Dβelogind(8)-Hβbusctl(1)-Mβbusctl(1)-aβloginctl(1)-cβloginctl(1)-hβbusctl(1),elogind(8),elogind-inhibit(1),loginctl(1)-iβloginctl(1)-jβbusctl(1)-lβbusctl(1),loginctl(1)-oβloginctl(1)-pβloginctl(1)-qβbusctl(1)-sβloginctl(1)
and then some sneaky non-flag entries that still live in this list, no judgement:
/etc/elogind/system-shutdown/βloginctl(1)/etc/elogind/system-sleep/βloginctl(1)AllowPowerOffInterruptsβloginctl(1)AllowSuspendInterruptsβloginctl(1)BroadcastPowerOffInterruptsβloginctl(1)BroadcastSuspendInterruptsβloginctl(1)Kβelogind-inhibit(1),loginctl(1)Xβelogind-inhibit(1),loginctl(1)[/usr]/lib[64]/elogind/system-shutdown/βloginctl(1)[/usr]/lib[64]/elogind/system-sleep/βloginctl(1)
π CONSTANTS π
Various constants used and/or defined by elogind:
-1βsd_login_monitor_new(3)'h'βsd_bus_message_read_basic(3)'s'βsd_bus_message_read_basic(3)'y'βsd_bus_message_read_basic(3)-1βsd_event_run(3),sd_event_wait(3)-EADDRINUSEβsd_bus_request_name(3)-EALREADYβsd_bus_request_name(3)-EBADFβsd_bus_set_fd(3),sd_event_add_inotify(3),sd_pid_get_owner_uid(3)-EBADMSGβsd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_message_read_array(3),sd_bus_message_read_basic(3),sd_bus_message_seal(3),sd_bus_message_skip(3)-EBUSYβsd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_process(3),sd_bus_track_new(3),sd_event_add_child(3),sd_event_add_signal(3),sd_event_run(3),sd_event_wait(3)
ngl that second-1is not a typo, it's a whole different-1for a whole different set of pages. two icons, same name, iykyk π
-ECHILDπ β bestie this one is literally everywhere, it's giving:sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_attach_event(3),sd_bus_call(3),sd_bus_can_send(3),sd_bus_close(3),sd_bus_emit_signal(3),sd_bus_get_fd(3),sd_bus_get_n_queued_read(3),sd_bus_get_name_creds(3),sd_bus_get_name_machine_id(3),sd_bus_is_open(3),sd_bus_list_names(3),sd_bus_negotiate_fds(3),sd_bus_process(3),sd_bus_query_sender_creds(3),sd_bus_request_name(3),sd_bus_send(3),sd_bus_set_address(3),sd_bus_set_close_on_exit(3),sd_bus_set_connected_signal(3),sd_bus_set_description(3),sd_bus_set_exit_on_disconnect(3),sd_bus_set_fd(3),sd_bus_set_sender(3),sd_bus_set_server(3),sd_bus_set_watch_bind(3),sd_bus_slot_set_floating(3),sd_bus_start(3),sd_bus_wait(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_exit(3),sd_event_get_fd(3),sd_event_now(3),sd_event_run(3),sd_event_set_signal_exit(3),sd_event_set_watchdog(3),sd_event_source_get_pending(3),sd_event_source_set_description(3),sd_event_source_set_enabled(3),sd_event_source_set_floating(3),sd_event_source_set_prepare(3),sd_event_source_set_priority(3),sd_event_source_set_ratelimit(3),sd_event_wait(3)-ECONNRESETπ β this one is lowkey chill, only three:sd_bus_call(3),sd_bus_process(3),sd_bus_send(3)-EDOMβ¨ β okay so math is mathing wrong here:sd_event_add_child(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_source_get_pending(3),sd_event_source_set_prepare(3),sd_event_source_set_ratelimit(3)-EEXISTπ― β it already exists bestie, stop trying:sd_bus_add_object(3),sd_bus_message_set_destination(3),sd_bus_request_name(3)-EINVALπ© β this one is a whole red flag, it's everywhere:sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_call(3),sd_bus_creds_get_pid(3),sd_bus_creds_new_from_pid(3),sd_bus_default(3),sd_bus_emit_signal(3),sd_bus_error(3),sd_bus_error_add_map(3),sd_bus_get_fd(3),sd_bus_get_name_creds(3),sd_bus_get_name_machine_id(3),sd_bus_interface_name_is_valid(3),sd_bus_list_names(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_get_cookie(3),sd_bus_message_get_monotonic_usec(3),sd_bus_message_get_signature(3),sd_bus_message_get_type(3),sd_bus_message_new(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_new_signal(3),sd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_message_read_array(3),sd_bus_message_read_basic(3),sd_bus_message_rewind(3),sd_bus_message_seal(3),sd_bus_message_set_destination(3),sd_bus_message_set_expect_reply(3),sd_bus_message_skip(3),sd_bus_message_verify_type(3),sd_bus_negotiate_fds(3),sd_bus_process(3),sd_bus_query_sender_creds(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_request_name(3),sd_bus_send(3),sd_bus_set_address(3),sd_bus_set_description(3),sd_bus_set_exit_on_disconnect(3),sd_bus_set_fd(3),sd_bus_set_method_call_timeout(3),sd_bus_set_server(3),sd_bus_slot_set_description(3),sd_bus_slot_set_destroy_callback(3),sd_bus_slot_set_floating(3),sd_bus_start(3),sd_bus_track_add_name(3),sd_bus_track_new(3),sd_bus_wait(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_exit(3),sd_event_get_fd(3),sd_event_now(3),sd_event_run(3),sd_event_set_signal_exit(3),sd_event_set_watchdog(3),sd_event_source_get_pending(3),sd_event_source_set_description(3),sd_event_source_set_destroy_callback(3),sd_event_source_set_enabled(3),sd_event_source_set_floating(3),sd_event_source_set_prepare(3),sd_event_source_set_priority(3),sd_event_source_set_ratelimit(3),sd_event_wait(3),sd_login_monitor_new(3),sd_machine_get_class(3),sd_pid_get_owner_uid(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3)-EIOπ β input/output said no:sd_bus_error(3)-ELOOPπ β too many loops bestie:sd_bus_call(3)-EMFILEπ β too many files open, it's giving overwhelmed:sd_event_new(3)-ENOBUFSπ¦ β no buffer space, tragic:sd_bus_send(3)-ENODATAπ« β no data, it's giving empty:sd_bus_creds_get_pid(3),sd_bus_message_get_cookie(3),sd_bus_message_get_monotonic_usec(3),sd_bus_negotiate_fds(3),sd_bus_set_address(3),sd_bus_set_description(3),sd_event_exit(3),sd_pid_get_owner_uid(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3)-ENOENTπ» β no such file or directory, it's not there:sd_id128_get_machine(3)-ENOEXECπ€ β exec format error, can't run this:sd_event_source_set_ratelimit(3)-ENOMEDIUMπΏ β no medium found, where's the disk:sd_bus_default(3),sd_id128_get_machine(3)-ENOMEMπ§ β out of memory, it's giving struggling:sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_call(3),sd_bus_creds_get_pid(3),sd_bus_creds_new_from_pid(3),sd_bus_default(3),sd_bus_emit_signal(3),sd_bus_error(3),sd_bus_error_add_map(3),sd_bus_get_name_creds(3),sd_bus_get_name_machine_id(3),sd_bus_list_names(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_new(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_new_signal(3),sd_bus_message_open_container(3),sd_bus_message_skip(3),sd_bus_new(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_send(3),sd_bus_set_description(3),sd_bus_slot_set_description(3),sd_bus_track_add_name(3),sd_bus_track_new(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_new(3),sd_event_source_get_pending(3),sd_event_source_set_description(3),sd_event_source_set_enabled(3),sd_event_source_set_prepare(3),sd_event_source_set_priority(3),sd_get_seats(3),sd_login_monitor_new(3),sd_machine_get_class(3),sd_pid_get_owner_uid(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3)-ENOMSGπ β no message of desired type:sd_bus_message_seal(3)-ENOPKGπ¦ β package not installed, it's giving missing:sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_can_send(3),sd_bus_emit_signal(3),sd_bus_get_fd(3),sd_bus_get_name_creds(3),sd_bus_get_name_machine_id(3),sd_bus_list_names(3),sd_bus_negotiate_fds(3),sd_bus_set_address(3),sd_bus_set_description(3),sd_bus_set_exit_on_disconnect(3),sd_bus_set_fd(3),sd_bus_set_method_call_timeout(3),sd_bus_set_server(3),sd_bus_start(3),sd_id128_get_machine(3)-ENOSYSπ« β function not implemented, not today:sd_event_add_inotify(3),sd_id128_get_machine(3)-ENOTCONNπ β not connected, it's giving offline:sd_bus_call(3),sd_bus_can_send(3),sd_bus_get_fd(3),sd_bus_list_names(3),sd_bus_message_new(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_new_signal(3),sd_bus_process(3),sd_bus_query_sender_creds(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_request_name(3),sd_bus_send(3),sd_bus_set_server(3),sd_bus_wait(3)-ENXIOπͺ β no such device or address:sd_bus_creds_get_pid(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_message_read_basic(3),sd_bus_message_skip(3),sd_bus_set_description(3),sd_bus_slot_set_description(3),sd_event_new(3),sd_event_source_set_description(3),sd_id128_get_machine(3),sd_machine_get_class(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3)-EOPNOTSUPPπ β operation not supported, sorry bestie:sd_bus_creds_new_from_pid(3),sd_bus_message_new_method_call(3),sd_bus_message_read_array(3),sd_bus_send(3),sd_event_add_child(3),sd_event_add_time(3),sd_event_now(3)-EOVERFLOWπ β value too large, it's giving overflow:sd_event_add_time(3)-EPERMπ β operation not permitted, no cap:sd_bus_get_fd(3),sd_bus_get_name_creds(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_open_container(3),sd_bus_message_read_array(3),sd_bus_message_rewind(3),sd_bus_message_set_destination(3),sd_bus_message_set_expect_reply(3),sd_bus_message_skip(3),sd_bus_message_verify_type(3),sd_bus_negotiate_fds(3),sd_bus_query_sender_creds(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_set_address(3),sd_bus_set_description(3),sd_bus_set_fd(3),sd_bus_set_sender(3),sd_bus_set_server(3),sd_bus_start(3),sd_event_add_io(3),sd_id128_get_machine(3)-EPROTOTYPEπ§© β protocol wrong type:sd_bus_add_object(3)-ESOCKTNOSUPPORT𧦠β socket type not supported:sd_bus_default(3)-ESRCHπ β no such process:sd_bus_creds_new_from_pid(3),sd_bus_emit_signal(3),sd_bus_request_name(3),sd_pid_get_owner_uid(3)-ESTALEπ°οΈ β stale file handle:sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_open_container(3),sd_bus_slot_set_floating(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_exit(3),sd_event_run(3),sd_event_source_get_pending(3),sd_event_source_set_prepare(3),sd_event_source_set_priority(3),sd_event_wait(3)-ETIMEDOUTβ° β connection timed out, it's giving late:sd_bus_call(3)-EUCLEANπ§Ό β structure needs cleaning:sd_id128_get_machine(3)-EUNATCHπ β protocol driver not attached:sd_bus_track_add_name(3)0π β success bestie, it worked:sd_bus_add_object(3),sd_bus_error(3),sd_event_add_time(3)0xFFFFπ’ β this number is a whole mood:sd_uid_get_state(3)0xFFFFFFFFπ― β maxed out:sd_uid_get_state(3)11οΈβ£ β just one:sd_bus_add_object(3)AF_INETπ β IPv4 vibes:sd_is_fifo(3)AF_INET6π β IPv6 vibes:sd_is_fifo(3)AF_UNIXπ§ β Unix domain sockets, iconic:busctl(1),pam_elogind(8),sd_is_fifo(3),sd_notify(3),sd_pid_get_owner_uid(3)AF_UNSPECβ β unspecified address family:sd_is_fifo(3)AF_VSOCKπ₯οΈ β virtual socket, fancy:sd_notify(3)ALLOW_INTERACTIVE_AUTHORIZATIONπ β permission to be interactive:sd_bus_message_set_expect_reply(3),sd_bus_set_description(3)BUS_MESSAGE_NO_REPLY_EXPECTEDπ¨ β don't expect a reply bestie:sd_bus_call(3)
continuing the constant list:
CAP_BLOCK_SUSPENDβpam_elogind(8)β¨CAP_SYS_ADMINβsd_bus_add_object(3)πCAP_WAKE_ALARMβpam_elogind(8)πCLOCK_BOOTTIMEβsd-event(3),sd_event_add_time(3),sd_event_now(3)π¦CLOCK_BOOTTIME_ALARMβsd-event(3),sd_event_add_time(3),sd_event_now(3)πΈCLOCK_MONOTONICβorg.freedesktop.login1(5),sd-event(3),sd_bus_get_fd(3),sd_bus_message_get_monotonic_usec(3),sd_event_add_time(3),sd_event_now(3),sd_login_monitor_new(3),sd_notify(3)π₯CLOCK_REALTIMEβorg.freedesktop.login1(5),sd-event(3),sd_bus_message_get_monotonic_usec(3),sd_event_add_time(3),sd_event_now(3),sd_session_is_active(3),sd_uid_get_state(3)βCLOCK_REALTIME_ALARMβsd-event(3),sd_event_add_time(3),sd_event_now(3)πEOPNOTSUPPβsd_event_add_child(3)πEPOLLERRβsd_event_add_io(3),sd_notify(3)πEPOLLETβsd-event(3),sd_event_add_io(3)πEPOLLHUPβsd_event_add_io(3),sd_notify(3)π§EPOLLINβsd_event_add_io(3),sd_event_get_fd(3)πEPOLLOUTβsd_event_add_io(3)πEPOLLPRIβsd_event_add_io(3)πEPOLLRDHUPβsd_event_add_io(3)β¨EXIT_FAILUREβsd_bus_set_exit_on_disconnect(3)πFD_CLOEXECβsd_listen_fds(3)πIN_ACCESSβsd_event_add_inotify(3)π¦IN_ATTRIBβsd_event_add_inotify(3)πΈIN_CLOSE_WRITEβsd_event_add_inotify(3)π₯IN_MASK_ADDβsd_event_add_inotify(3)βIN_ONESHOTβsd_event_add_inotify(3)πNO_AUTO_STARTβsd_bus_message_set_expect_reply(3)πNO_REPLY_EXPECTEDβsd_bus_message_set_expect_reply(3)πNULβpam_elogind(8),sd_bus_creds_get_pid(3),sd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_read(3),sd_bus_message_read_array(3),sd_bus_path_encode(3),sd_event_source_set_description(3),sd_id128_to_string(3)πNULLβsd-login(3),sd_bus_add_match(3),sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_attach_event(3),sd_bus_call(3),sd_bus_can_send(3),sd_bus_close(3),sd_bus_creds_get_pid(3),sd_bus_creds_new_from_pid(3),sd_bus_default(3),sd_bus_emit_signal(3),sd_bus_error(3),sd_bus_get_current_handler(3),sd_bus_interface_name_is_valid(3),sd_bus_is_open(3),sd_bus_list_names(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_dump(3),sd_bus_message_get_signature(3),sd_bus_message_get_type(3),sd_bus_message_new(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_new_signal(3),sd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_message_read_array(3),sd_bus_message_read_basic(3),sd_bus_message_rewind(3),sd_bus_message_seal(3),sd_bus_message_set_destination(3),sd_bus_message_set_expect_reply(3),sd_bus_message_skip(3),sd_bus_message_verify_type(3),sd_bus_new(3),sd_bus_path_encode(3),sd_bus_process(3),sd_bus_query_sender_creds(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_request_name(3),sd_bus_send(3),sd_bus_set_address(3),sd_bus_set_description(3),sd_bus_set_exit_on_disconnect(3),sd_bus_set_method_call_timeout(3),sd_bus_set_property(3),sd_bus_set_sender(3),sd_bus_set_server(3),sd_bus_slot_get_bus(3),sd_bus_slot_ref(3),sd_bus_slot_set_description(3),sd_bus_slot_set_destroy_callback(3),sd_bus_slot_set_floating(3),sd_bus_slot_set_userdata(3),sd_bus_start(3),sd_bus_track_add_name(3),sd_bus_track_new(3),sd_device_ref(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_exit(3),sd_event_new(3),sd_event_run(3),sd_event_source_get_event(3),sd_event_source_set_description(3),sd_event_source_set_destroy_callback(3),sd_event_source_set_enabled(3),sd_event_source_set_floating(3),sd_event_source_set_prepare(3),sd_event_source_set_userdata(3),sd_event_source_unref(3),sd_event_wait(3),sd_get_seats(3),sd_id128_to_string(3),sd_is_fifo(3),sd_listen_fds(3),sd_login_monitor_new(3),sd_machine_get_class(3),sd_pid_get_owner_uid(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3),sd_watchdog_enabled(3)π§O_NONBLOCKβsd_event_add_io(3)πO_PATHβsd_event_add_inotify(3)πPAM_SUCCESSβpam_elogind(8)πPIDβsd_pid_get_owner_uid(3)β¨PIDFDβsd_pid_get_owner_uid(3)πPOLLINβsd_bus_get_fd(3),sd_event_get_fd(3),sd_login_monitor_new(3)πPOLLOUTβsd_bus_get_fd(3),sd_login_monitor_new(3)π¦SD_BUS_ARGS(...)βsd_bus_add_object(3)πΈSD_BUS_ARGS()βsd_bus_add_object(3)π₯SD_BUS_CREDS_AUDIT_LOGIN_UIDβsd_bus_creds_new_from_pid(3)βSD_BUS_CREDS_AUDIT_SESSION_IDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_AUGMENTβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_BOUNDING_CAPSβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_CGROUPβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_CMDLINEβsd_bus_creds_new_from_pid(3)π§SD_BUS_CREDS_COMMβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_DESCRIPTIONβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_EFFECTIVE_CAPSβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_EGIDβsd_bus_creds_new_from_pid(3)β¨SD_BUS_CREDS_EUIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_EXEβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_FSGIDβsd_bus_creds_new_from_pid(3)π¦SD_BUS_CREDS_FSUIDβsd_bus_creds_new_from_pid(3)πΈSD_BUS_CREDS_GIDβsd_bus_creds_new_from_pid(3)π₯SD_BUS_CREDS_INHERITABLE_CAPSβsd_bus_creds_new_from_pid(3)βSD_BUS_CREDS_OWNER_UIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_PERMITTED_CAPSβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_PIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_PPIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_SELINUX_CONTEXTβsd_bus_creds_new_from_pid(3)π§SD_BUS_CREDS_SESSIONβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_SGIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_SLICEβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_SUIDβsd_bus_creds_new_from_pid(3)β¨SD_BUS_CREDS_SUPPLEMENTARY_GIDSβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_TIDβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_TID_COMMβsd_bus_creds_new_from_pid(3)π¦SD_BUS_CREDS_TTYβsd_bus_creds_new_from_pid(3)πΈSD_BUS_CREDS_UIDβsd_bus_creds_new_from_pid(3)π₯SD_BUS_CREDS_UNIQUE_NAMEβsd_bus_creds_new_from_pid(3),sd_bus_negotiate_fds(3)βSD_BUS_CREDS_UNITβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_USER_SLICEβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_USER_UNITβsd_bus_creds_new_from_pid(3)πSD_BUS_CREDS_WELL_KNOWN_NAMESβsd_bus_creds_new_from_pid(3),sd_bus_negotiate_fds(3)πSD_BUS_ERROR_MAKE_CONST(name, message)βsd_bus_error(3)π§SD_BUS_ERROR_MAKE_CONST()βsd_bus_error(3)πSD_BUS_ERROR_MAP(name, code)βsd_bus_error_add_map(3)πSD_BUS_ERROR_MAP()βsd_bus_error_add_map(3)πSD_BUS_ERROR_MAP_ENDβsd_bus_error_add_map(3)β¨SD_BUS_ERROR_NOT_SUPPORTEDβsd_bus_message_new_method_error(3)πSD_BUS_ERROR_NO_MEMORYβsd_bus_error(3)πSD_BUS_ERROR_NULLβsd_bus_call(3),sd_bus_error(3)π¦SD_BUS_MESSAGE_DUMP_SUBTREE_ONLYβsd_bus_message_dump(3)πΈSD_BUS_MESSAGE_DUMP_WITH_HEADERβsd_bus_message_dump(3)π₯SD_BUS_MESSAGE_METHOD_CALLβsd_bus_message_get_type(3),sd_bus_message_new(3)βSD_BUS_MESSAGE_METHOD_ERRORβsd_bus_message_get_type(3),sd_bus_message_new(3)πSD_BUS_MESSAGE_METHOD_RETURNβsd_bus_message_get_type(3),sd_bus_message_new(3)πSD_BUS_MESSAGE_SIGNALβsd_bus_message_get_type(3),sd_bus_message_new(3)πSD_BUS_METHOD(member, signature, result, handler, flags)βsd_bus_add_object(3)πSD_BUS_METHOD()βsd_bus_add_object(3)π§SD_BUS_METHOD_WITH_ARGS(member, args, result, handler, flags)βsd_bus_add_object(3)πSD_BUS_METHOD_WITH_ARGS()βsd_bus_add_object(3)πSD_BUS_METHOD_WITH_ARGS_OFFSET(member, args, result, handler, offset, flags)βsd_bus_add_object(3)πSD_BUS_METHOD_WITH_ARGS_OFFSET()βsd_bus_add_object(3)β¨SD_BUS_METHOD_WITH_NAMES(member, signature, in_names, result, out_names, handler, flags)βsd_bus_add_object(3)πSD_BUS_METHOD_WITH_NAMES()βsd_bus_add_object(3)πSD_BUS_METHOD_WITH_NAMES_OFFSET(member, signature, in_names, result, out_names, handler, offset, flags)βsd_bus_add_object(3)π¦SD_BUS_METHOD_WITH_NAMES_OFFSET()βsd_bus_add_object(3)πΈSD_BUS_METHOD_WITH_OFFSET(member, signature, result, handler, offset, flags)βsd_bus_add_object(3)π₯SD_BUS_METHOD_WITH_OFFSET()βsd_bus_add_object(3)βSD_BUS_NAME_ALLOW_REPLACEMENTβsd_bus_request_name(3)πSD_BUS_NAME_QUEUEβsd_bus_request_name(3)πSD_BUS_NAME_REPLACE_EXISTINGβsd_bus_request_name(3)πSD_BUS_NO_ARGSβsd_bus_add_object(3)πSD_BUS_NO_RESULTβsd_bus_add_object(3)π§SD_BUS_PARAM(name)βsd_bus_add_object(3)πSD_BUS_PARAM()βsd_bus_add_object(3)πSD_BUS_PROPERTY(member, signature, get, offset, flags)βsd_bus_add_object(3)πSD_BUS_PROPERTY()βsd_bus_add_object(3)β¨SD_BUS_RESULT(...)βsd_bus_add_object(3)πSD_BUS_RESULT()βsd_bus_add_object(3)πSD_BUS_SIGNAL(member, signature, flags)βsd_bus_add_object(3)π¦SD_BUS_SIGNAL()βsd_bus_add_object(3)πΈSD_BUS_SIGNAL_WITH_ARGS(member, args, flags)βsd_bus_add_object(3)π₯SD_BUS_SIGNAL_WITH_ARGS()βsd_bus_add_object(3)βSD_BUS_SIGNAL_WITH_NAMES(member, signature, names, flags)βsd_bus_add_object(3)πSD_BUS_SIGNAL_WITH_NAMES()βsd_bus_add_object(3)πSD_BUS_TYPEβsd_bus_can_send(3)πSD_BUS_TYPE_ARRAYβsd_bus_message_append(3),sd_bus_message_open_container(3),sd_bus_message_read(3)πSD_BUS_TYPE_BOOLEANβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)π§SD_BUS_TYPE_BYTEβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)π
still deep in the constants list, bestie β we are NOT done, buckle up π
Okay so this next batch? It's the D-Bus type tag crew. Every single one of these is a constant, and each one points you at the man page where it actually gets used. Like little besties holding hands across the docs:
SD_BUS_TYPE_DICT_ENTRYβ lives over insd_bus_message_open_container(3)SD_BUS_TYPE_DICT_ENTRY_BEGINβsd_bus_message_append(3),sd_bus_message_read(3)SD_BUS_TYPE_DICT_ENTRY_ENDβsd_bus_message_append(3),sd_bus_message_read(3)SD_BUS_TYPE_DOUBLEβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_INT16βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_INT32βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_INT64βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_OBJECT_PATHβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_SIGNATUREβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_STRINGβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_STRUCTβsd_bus_message_open_container(3)SD_BUS_TYPE_STRUCT_BEGINβsd_bus_message_append(3),sd_bus_message_read(3)SD_BUS_TYPE_STRUCT_ENDβsd_bus_message_append(3),sd_bus_message_read(3)SD_BUS_TYPE_UINT16βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_UINT32βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_UINT64βsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3)SD_BUS_TYPE_UNIX_FDβsd_bus_message_append(3),sd_bus_message_append_basic(3),sd_bus_message_read(3),sd_bus_message_read_basic(3),sd_bus_negotiate_fds(3)SD_BUS_TYPE_VARIANTβsd_bus_message_append(3),sd_bus_message_open_container(3),sd_bus_message_read(3)
and now the vtable flags!! these are all the same vibe, they all just say "go look at sd_bus_add_object(3)" β every last one π«Ά
SD_BUS_VTABLE_ABSOLUTE_OFFSETβsd_bus_add_object(3)SD_BUS_VTABLE_CAPABILITY(capability)βsd_bus_add_object(3)SD_BUS_VTABLE_DEPRECATEDβsd_bus_add_object(3)SD_BUS_VTABLE_ENDβsd_bus_add_object(3)SD_BUS_VTABLE_HIDDENβsd_bus_add_object(3)SD_BUS_VTABLE_METHOD_NO_REPLYβsd_bus_add_object(3)SD_BUS_VTABLE_PROPERTY_CONSTβsd_bus_add_object(3)SD_BUS_VTABLE_PROPERTY_EMITS_CHANGEβsd_bus_add_object(3)SD_BUS_VTABLE_PROPERTY_EMITS_INVALIDATIONβsd_bus_add_object(3)SD_BUS_VTABLE_PROPERTY_EXPLICITβsd_bus_add_object(3)SD_BUS_VTABLE_SENSITIVEβsd_bus_add_object(3)SD_BUS_VTABLE_START(flags)βsd_bus_add_object(3)SD_BUS_VTABLE_START()βsd_bus_add_object(3)SD_BUS_VTABLE_UNPRIVILEGEDβsd_bus_add_object(3)SD_BUS_WRITABLE_PROPERTY(member, signature, get, set, offset, flags)βsd_bus_add_object(3)SD_BUS_WRITABLE_PROPERTY()βsd_bus_add_object(3)
event loop constants time β¨ heads up: the list of pages under each one is genuinely different for each, so read them individually, don't assume they're all the same bestie, I checked π
SD_EVENT_ARMEDβsd_event_wait(3)SD_EVENT_EXITINGβsd_event_wait(3)SD_EVENT_FINISHEDβsd_event_wait(3)SD_EVENT_INITIALβsd_event_wait(3)SD_EVENT_OFFβsd_event_add_child(3),sd_event_add_defer(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_source_set_enabled(3),sd_event_source_set_ratelimit(3),sd_event_source_unref(3)SD_EVENT_ONβsd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_source_set_enabled(3)SD_EVENT_ONESHOTβsd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_time(3),sd_event_source_set_enabled(3)SD_EVENT_PENDINGβsd_event_wait(3)SD_EVENT_PREPARINGβsd_event_wait(3)SD_EVENT_PRIORITY_IDLEβsd_event_source_set_priority(3)SD_EVENT_PRIORITY_IMPORTANTβsd_event_source_set_priority(3)SD_EVENT_PRIORITY_NORMALβsd_event_source_set_priority(3)SD_EVENT_RUNNINGβsd_event_wait(3)SD_EVENT_SIGNAL_PROCMASKβsd_event_add_signal(3)
the ID128 girlies π
SD_ID128_ALLFβsd_id128_get_machine(3),sd_id128_randomize(3)SD_ID128_FORMAT_STRβsd_id128_to_string(3)SD_ID128_NULLβsd_bus_set_server(3),sd_id128_get_machine(3),sd_id128_randomize(3)SD_ID128_STRING_MAXβsd_id128_to_string(3)
a couple of loose ones floating around π
SD_LISTEN_FDS_STARTβsd_listen_fds(3)SD_LOGIND_KEXEC_REBOOTβorg.freedesktop.login1(5)SD_LOGIND_ROOT_CHECK_INHIBITORSβorg.freedesktop.login1(5)SD_LOGIND_SOFT_REBOOTβorg.freedesktop.login1(5)SD_LOGIND_SOFT_REBOOT_IF_NEXTROOT_SET_UPβorg.freedesktop.login1(5)
signals!! the classics π note that each one points somewhere different, so don't mix them up:
SIGCHLDβsd_event_add_child(3)SIGHUPβelogind(8)SIGINTβelogind(8),loginctl(1),sd_event_set_signal_exit(3)SIGKILLβsd_event_add_child(3)SIGQUITβelogind(8)SIGSTOPβloginctl(1)SIGTERMβelogind(8),loginctl(1),sd_event_exit(3),sd_event_set_signal_exit(3)
socket types + a couple of limits, slay π
SOCK_DGRAMβsd_is_fifo(3),sd_notify(3)SOCK_SEQPACKETβsd_notify(3)SOCK_STREAMβsd_is_fifo(3)UINT64_MAXβsd_bus_get_fd(3),sd_bus_wait(3),sd_event_add_time(3)
wait-status constants, all three of them hang out in the same place π¦
WCONTINUEDβsd_event_add_child(3)WEXITEDβsd_event_add_child(3)WSTOPPEDβsd_event_add_child(3)
and one lone creds constant π
_SD_BUS_CREDS_ALLβsd_bus_creds_new_from_pid(3)
okay now the lowercase squad π these look like random little words but they're real constants, promise
alertβelogind-inhibit(1),loginctl(1)autoβelogind-inhibit(1),loginctl(1)consoleβelogind-inhibit(1),loginctl(1)console-prefixedβelogind-inhibit(1),loginctl(1)constβsd_bus_add_object(3)critβelogind-inhibit(1),loginctl(1)debugβelogind-inhibit(1),loginctl(1)emergβelogind-inhibit(1),loginctl(1)errβelogind-inhibit(1),loginctl(1)errorβsd_bus_message_new_method_error(3)falseβsd_bus_error(3)infoβelogind-inhibit(1),loginctl(1)invalidatesβsd_bus_add_object(3)journalβelogind-inhibit(1),loginctl(1)journal-or-kmsgβelogind-inhibit(1),loginctl(1)kmsgβelogind-inhibit(1),loginctl(1)
and THE big one β libelogind π
Bestie this one is not a small list. This single constant maps onto basically the entire library. Here is every single page it references, exactly as given:
libelogindβlibelogind(3),sd-bus(3),sd-event(3),sd-login(3),sd_bus_add_match(3),sd_bus_add_node_enumerator(3),sd_bus_add_object(3),sd_bus_add_object_manager(3),sd_bus_attach_event(3),sd_bus_call(3),sd_bus_call_method(3),sd_bus_can_send(3),sd_bus_close(3),sd_bus_creds_get_pid(3),sd_bus_creds_new_from_pid(3),sd_bus_default(3),sd_bus_emit_signal(3),sd_bus_error(3),sd_bus_error_add_map(3),sd_bus_get_current_handler(3),sd_bus_get_fd(3),sd_bus_get_name_creds(3),sd_bus_get_name_machine_id(3),sd_bus_interface_name_is_valid(3),sd_bus_is_open(3),sd_bus_list_names(3),sd_bus_message_append(3),sd_bus_message_append_array(3),sd_bus_message_append_basic(3),sd_bus_message_append_string_memfd(3),sd_bus_message_append_strv(3),sd_bus_message_copy(3),sd_bus_message_dump(3),sd_bus_message_get_cookie(3),sd_bus_message_get_monotonic_usec(3),sd_bus_message_get_signature(3),sd_bus_message_get_type(3),sd_bus_message_new(3),sd_bus_message_new_method_call(3),sd_bus_message_new_method_error(3),sd_bus_message_new_signal(3),sd_bus_message_open_container(3),sd_bus_message_read(3),sd_bus_message_rewind(3),sd_bus_message_seal(3),sd_bus_message_set_destination(3),sd_bus_message_set_expect_reply(3),sd_bus_message_skip(3),sd_bus_message_verify_type(3),sd_bus_negotiate_fds(3),sd_bus_new(3),sd_bus_path_encode(3),sd_bus_process(3),sd_bus_query_sender_creds(3),sd_bus_reply_method_error(3),sd_bus_reply_method_return(3),sd_bus_request_name(3),sd_bus_send(3),sd_bus_set_address(3),sd_bus_set_close_on_exit(3),sd_bus_set_connected_signal(3),sd_bus_set_description(3),sd_bus_set_exit_on_disconnect(3),sd_bus_set_fd(3),sd_bus_set_method_call_timeout(3),sd_bus_set_property(3),sd_bus_set_sender(3),sd_bus_set_server(3),sd_bus_set_watch_bind(3),sd_bus_slot_get_bus(3),sd_bus_slot_ref(3),sd_bus_slot_set_description(3),sd_bus_slot_set_destroy_callback(3),sd_bus_slot_set_floating(3),sd_bus_slot_set_userdata(3),sd_bus_start(3),sd_bus_track_add_name(3),sd_bus_track_new(3),sd_bus_wait(3),sd_event_add_child(3),sd_event_add_defer(3),sd_event_add_inotify(3),sd_event_add_io(3),sd_event_add_signal(3),sd_event_add_time(3),sd_event_exit(3),sd_event_get_fd(3),sd_event_new(3),sd_event_now(3),sd_event_run(3),sd_event_set_signal_exit(3),sd_event_set_watchdog(3),sd_event_source_get_event(3),sd_event_source_get_pending(3),sd_event_source_set_description(3),sd_event_source_set_destroy_callback(3),sd_event_source_set_enabled(3),sd_event_source_set_floating(3),sd_event_source_set_prepare(3),sd_event_source_set_priority(3),sd_event_source_set_ratelimit(3),sd_event_source_set_userdata(3),sd_event_source_unref(3),sd_event_wait(3),sd_get_seats(3),sd_id128_get_machine(3),sd_id128_randomize(3),sd_id128_to_string(3),sd_is_fifo(3),sd_listen_fds(3),sd_login_monitor_new(3),sd_machine_get_class(3),sd_notify(3),sd_pid_get_owner_uid(3),sd_seat_get_active(3),sd_session_is_active(3),sd_uid_get_state(3),sd_watchdog_enabled(3)
no cap, that's the whole list, character for character. do not lose any of these when you copy it π
back to the lowercase cuties, the log levels continue π
noticeβelogind-inhibit(1),loginctl(1)nullβelogind-inhibit(1),loginctl(1)
and finally, the D-Bus interface name squad β the dotted ones π
org.freedesktop.DBus.Deprecatedβsd_bus_add_object(3)org.freedesktop.DBus.Introspectable.Introspectβbusctl(1),sd_bus_add_node_enumerator(3),sd_bus_add_object(3)org.freedesktop.DBus.Method.NoReplyβsd_bus_add_object(3)org.freedesktop.DBus.ObjectManagerβsd_bus_add_object_manager(3),sd_bus_emit_signal(3)org.freedesktop.DBus.ObjectManager.GetManagedObjectsβsd_bus_add_node_enumerator(3)org.freedesktop.DBus.Peerβsd_bus_get_name_machine_id(3)org.freedesktop.DBus.Propertiesβsd_bus_emit_signal(3),sd_bus_set_property(3)org.freedesktop.DBus.Properties.PropertiesChangedβsd_bus_add_object(3)org.freedesktop.DBus.Property.EmitsChangedSignalβsd_bus_add_object(3)org.freedesktop.systemd1.Explicitβsd_bus_add_object(3)
and that's the constants list bestie!! but we are so not done, there's more page coming β keep scrolling πβ¨
org.freedesktop.systemd1.Privilegedβ sd_bus_add_object(3)returnβ sd_bus_error(3)stdioβ sd_bus_message_dump(3)trueβ sd_bus_add_object(3)warningβ elogind-inhibit(1), loginctl(1)
π DNS RESOURCE RECORD TYPES π¦
okay so bestieβ¦ this one is literally empty. no entries, no nothing. it's giving "the section header showed up but the content didn't" π. we move.
β¨ MISCELLANEOUS OPTIONS AND DIRECTIVES π
this is the catch-all drawer of the whole page β the stuff that doesn't vibe with any of the groups above it.
Other configuration elements which don't fit in any of the above groups. yes that's the entire description, it's a whole "everything else" bin and honestly? relatable. π«Ά
π SPECIFIERS π
tiny little strings that get swapped in wherever you use them in configuration directives. short kings. π
Short strings which are substituted in configuration directives.
πΈ FILES AND DIRECTORIES πΈ
all the paths and file names that get name-dropped across the docs. the full guest list, no plus-ones left out:
/dev/nullβ sleep.conf(5)/etc/β sleep.conf(5)/etc/elogind/β sleep.conf(5)/etc/elogind/logind.confβ logind.conf(5)/etc/elogind/logind.conf.d/*.confβ logind.conf(5)/etc/elogind/sleep.confβ loginctl(1), logind.conf(5), sleep.conf(5)/etc/elogind/sleep.conf.d/*.confβ logind.conf(5), sleep.conf(5)/etc/machine-idβ sd_bus_get_name_machine_id(3), sd_id128_get_machine(3)/etc/systemd/*.conf.d/β sleep.conf(5)/lib/elogind/system-shutdownβ loginctl(1)/lib/elogind/system-sleepβ loginctl(1)/proc/β busctl(1), sd-login(3), sd_bus_creds_get_pid(3), sd_bus_creds_new_from_pid(3), sd_event_add_inotify(3), sd_id128_get_machine(3), sd_is_fifo(3), sd_pid_get_owner_uid(3)/proc/self/sessionidβ pam_elogind(8)/proc/sys/kernel/random/boot_idβ sd_id128_get_machine(3)/run/β sd-login(3), sd_notify(3)/run/elogind/sleep.conf.d/*.confβ sleep.conf(5)/run/user/$UIDβ pam_elogind(8)/sys/β loginctl(1), org.freedesktop.login1(5), sd_is_fifo(3)/sys/class/subsystem/name/max_brightnessβ org.freedesktop.login1(5)/sys/fs/cgroup/β sd-login(3), sd_pid_get_owner_uid(3)/sys/power/diskβ sleep.conf(5)/sys/power/mem_sleepβ sleep.conf(5)/sys/power/stateβ sleep.conf(5)/usr/β sleep.conf(5)/usr/lib/elogind/β sleep.conf(5)/usr/lib/systemd/*.conf.d/β sleep.conf(5)/usr/lib/systemd/sleep.conf.d/*.confβ sleep.conf(5)/usr/local/lib/systemd/*.conf.d/β sleep.conf(5)busctlβ busctl(1)elogindβ elogind(8)elogind-inhibitβ elogind-inhibit(1)loginctlβ loginctl(1)pam_elogind.soβ pam_elogind(8)pkg-configβ libelogind(3), sd-bus(3), sd-event(3), sd-login(3)
π D-BUS INTERFACES π
the interfaces that get exposed over D-Bus. it's giving "we're on speaking terms with the whole system" energy β¨:
org.freedesktop.login1.Managerβ org.freedesktop.login1(5)org.freedesktop.login1.Seatβ org.freedesktop.login1(5)org.freedesktop.login1.Sessionβ org.freedesktop.login1(5)org.freedesktop.login1.Userβ org.freedesktop.login1(5)
π₯ D-BUS METHODS π₯
every method chillin' in the D-Bus interface. yes it's a lot, and yes we're listing every single one, no skipping, we don't do that here π :
Activate()β org.freedesktop.login1(5)ActivateSession()β org.freedesktop.login1(5)ActivateSessionOnSeat()β org.freedesktop.login1(5)AttachDevice()β org.freedesktop.login1(5)CanHalt()β org.freedesktop.login1(5)CanHibernate()β org.freedesktop.login1(5)CanHybridSleep()β org.freedesktop.login1(5)CanPowerOff()β org.freedesktop.login1(5)CanReboot()β org.freedesktop.login1(5)CanRebootParameter()β org.freedesktop.login1(5)CanRebootToBootLoaderEntry()β org.freedesktop.login1(5)CanRebootToBootLoaderMenu()β org.freedesktop.login1(5)CanRebootToFirmwareSetup()β org.freedesktop.login1(5)CanSuspend()β org.freedesktop.login1(5)CanSuspendThenHibernate()β org.freedesktop.login1(5)CancelScheduledShutdown()β org.freedesktop.login1(5)CreateSession()β org.freedesktop.login1(5)CreateSessionWithPIDFD()β org.freedesktop.login1(5)FlushDevices()β org.freedesktop.login1(5)GetSeat()β org.freedesktop.login1(5)GetSession()β org.freedesktop.login1(5)GetSessionByPID()β org.freedesktop.login1(5)GetUser()β org.freedesktop.login1(5)GetUserByPID()β org.freedesktop.login1(5)Halt()β org.freedesktop.login1(5)HaltWithFlags()β org.freedesktop.login1(5)Hibernate()β org.freedesktop.login1(5)HibernateWithFlags()β org.freedesktop.login1(5)HybridSleep()β org.freedesktop.login1(5)HybridSleepWithFlags()β org.freedesktop.login1(5)Inhibit()β org.freedesktop.login1(5)Kill()β org.freedesktop.login1(5)KillSession()β org.freedesktop.login1(5)KillUser()β org.freedesktop.login1(5)ListInhibitors()β org.freedesktop.login1(5)ListSeats()β org.freedesktop.login1(5)ListSessions()β org.freedesktop.login1(5)ListUsers()β org.freedesktop.login1(5)Lock()β org.freedesktop.login1(5)LockSession()β org.freedesktop.login1(5)LockSessions()β org.freedesktop.login1(5)PauseDeviceComplete()β org.freedesktop.login1(5)PowerOff()β org.freedesktop.login1(5)PowerOffWithFlags()β org.freedesktop.login1(5)Reboot()β org.freedesktop.login1(5)RebootWithFlags()β org.freedesktop.login1(5)ReleaseControl()β org.freedesktop.login1(5)ReleaseDevice()β org.freedesktop.login1(5)ReleaseSession()β org.freedesktop.login1(5)ScheduleShutdown()β org.freedesktop.login1(5)SetBrightness()β org.freedesktop.login1(5)SetDisplay()β org.freedesktop.login1(5)SetIdleHint()β org.freedesktop.login1(5)SetLockedHint()β org.freedesktop.login1(5)SetRebootParameter()β org.freedesktop.login1(5)SetRebootToBootLoaderEntry()β org.freedesktop.login1(5)SetRebootToBootLoaderMenu()β org.freedesktop.login1(5)SetRebootToFirmwareSetup()β org.freedesktop.login1(5)SetTTY()β org.freedesktop.login1(5)SetType()β org.freedesktop.login1(5)SetUserLinger()β org.freedesktop.login1(5)SetWallMessage()β org.freedesktop.login1(5)Suspend()β org.freedesktop.login1(5)SuspendThenHibernate()β org.freedesktop.login1(5)SuspendThenHibernateWithFlags()β org.freedesktop.login1(5)SuspendWithFlags()β org.freedesktop.login1(5)SwitchTo()β org.freedesktop.login1(5)SwitchToNext()β org.freedesktop.login1(5)SwitchToPrevious()β org.freedesktop.login1(5)TakeControl()β org.freedesktop.login1(5)TakeDevice()β org.freedesktop.login1(5)Terminate()β org.freedesktop.login1(5)TerminateSeat()β org.freedesktop.login1(5)TerminateSession()β org.freedesktop.login1(5)TerminateUser()β org.freedesktop.login1(5)Unlock()β org.freedesktop.login1(5)UnlockSession()β org.freedesktop.login1(5)UnlockSessions()β org.freedesktop.login1(5)
π«Ά D-BUS PROPERTIES π«Ά
okay so these are the properties that are exposed in the D-Bus interface. every single one of these besties points at org.freedesktop.login1(5), and here's the full roster, no skips, no cap:
Activeβorg.freedesktop.login1(5)ActiveSessionβorg.freedesktop.login1(5)Auditβorg.freedesktop.login1(5)BlockInhibitedβorg.freedesktop.login1(5)BootLoaderEntriesβorg.freedesktop.login1(5)CanGraphicalβorg.freedesktop.login1(5)CanTTYβorg.freedesktop.login1(5)Classβorg.freedesktop.login1(5)DelayInhibitedβorg.freedesktop.login1(5)Desktopβorg.freedesktop.login1(5)Displayβorg.freedesktop.login1(5)Dockedβorg.freedesktop.login1(5)EnableWallMessagesβorg.freedesktop.login1(5)GIDβorg.freedesktop.login1(5)HandleHibernateKeyβorg.freedesktop.login1(5)HandleHibernateKeyLongPressβorg.freedesktop.login1(5)HandleLidSwitchβorg.freedesktop.login1(5)HandleLidSwitchDockedβorg.freedesktop.login1(5)HandleLidSwitchExternalPowerβorg.freedesktop.login1(5)HandlePowerKeyβorg.freedesktop.login1(5)HandlePowerKeyLongPressβorg.freedesktop.login1(5)HandleRebootKeyβorg.freedesktop.login1(5)HandleRebootKeyLongPressβorg.freedesktop.login1(5)HandleSuspendKeyβorg.freedesktop.login1(5)HandleSuspendKeyLongPressβorg.freedesktop.login1(5)HoldoffTimeoutUSecβorg.freedesktop.login1(5)Idβorg.freedesktop.login1(5)IdleActionβorg.freedesktop.login1(5)IdleActionUSecβorg.freedesktop.login1(5)IdleHintβorg.freedesktop.login1(5)IdleSinceHintβorg.freedesktop.login1(5)IdleSinceHintMonotonicβorg.freedesktop.login1(5)InhibitDelayMaxUSecβorg.freedesktop.login1(5)InhibitorsMaxβorg.freedesktop.login1(5)KillExcludeUsersβorg.freedesktop.login1(5)KillOnlyUsersβorg.freedesktop.login1(5)KillUserProcessesβorg.freedesktop.login1(5)Leaderβorg.freedesktop.login1(5)LidClosedβorg.freedesktop.login1(5)Lingerβorg.freedesktop.login1(5)LockedHintβorg.freedesktop.login1(5)NAutoVTsβorg.freedesktop.login1(5)NCurrentInhibitorsβorg.freedesktop.login1(5)NCurrentSessionsβorg.freedesktop.login1(5)Nameβorg.freedesktop.login1(5)OnExternalPowerβorg.freedesktop.login1(5)PreparingForShutdownβorg.freedesktop.login1(5)PreparingForSleepβorg.freedesktop.login1(5)RebootParameterβorg.freedesktop.login1(5)RebootToBootLoaderEntryβorg.freedesktop.login1(5)RebootToBootLoaderMenuβorg.freedesktop.login1(5)RebootToFirmwareSetupβorg.freedesktop.login1(5)Remoteβorg.freedesktop.login1(5)RemoteHostβorg.freedesktop.login1(5)RemoteUserβorg.freedesktop.login1(5)RemoveIPCβorg.freedesktop.login1(5)RuntimeDirectoryInodesMaxβorg.freedesktop.login1(5)RuntimeDirectorySizeβorg.freedesktop.login1(5)RuntimePathβorg.freedesktop.login1(5)ScheduledShutdownβorg.freedesktop.login1(5)Scopeβorg.freedesktop.login1(5)Seatβorg.freedesktop.login1(5)Serviceβorg.freedesktop.login1(5)Sessionsβorg.freedesktop.login1(5)SessionsMaxβorg.freedesktop.login1(5)Sliceβorg.freedesktop.login1(5)Stateβorg.freedesktop.login1(5)StopIdleSessionUSecβorg.freedesktop.login1(5)TTYβorg.freedesktop.login1(5)Timestampβorg.freedesktop.login1(5)TimestampMonotonicβorg.freedesktop.login1(5)Typeβorg.freedesktop.login1(5)UIDβorg.freedesktop.login1(5)Userβorg.freedesktop.login1(5)UserStopDelayUSecβorg.freedesktop.login1(5)VTNrβorg.freedesktop.login1(5)WallMessageβorg.freedesktop.login1(5)
β¨ D-BUS SIGNALS β¨
and now for the signals emitted in the D-Bus interface. every single one is also documented in org.freedesktop.login1(5), and they're all here, periodt:
Lockβorg.freedesktop.login1(5)PauseDeviceβorg.freedesktop.login1(5)PrepareForShutdownβorg.freedesktop.login1(5)PrepareForShutdownWithMetadataβorg.freedesktop.login1(5)PrepareForSleepβorg.freedesktop.login1(5)ResumeDeviceβorg.freedesktop.login1(5)SeatNewβorg.freedesktop.login1(5)SeatRemovedβorg.freedesktop.login1(5)SessionNewβorg.freedesktop.login1(5)SessionRemovedβorg.freedesktop.login1(5)Unlockβorg.freedesktop.login1(5)UserNewβorg.freedesktop.login1(5)UserRemovedβorg.freedesktop.login1(5)
π COLOPHON π
bestie, the receipts: this index contains 633 entries in 24 sections, referring to 131 individual manual pages.
and that's the whole vibe. the footer says elogind 255 and ELOGIND.DIRECTIVES(7) β that's the source/version and the page name, and there's no date stamped in this footer, so I'm not making one up. mwah π you ate this manual page, fr fr π«Ά
π¦ where this page comes from
- debian trixie: elogind 255.17-1debian2 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms