SYSTEMD.INDEX(7)
๐ NAME ๐
okay so bestie, gather round ๐ this is systemd.index โ the master list, the group chat roster, the entire roll call of every single manpage that ships with the systemd project. no cap. if it's a systemd doc, it's in here somewhere, alphabetized and everything. it's giving very much "directory of the whole family" energy ๐
quick heads-up: this page is LONG, so it's served to you in 11 parts, and this is part 1. more is coming, don't go anywhere ๐ซถ
๐ธ 3 ๐ธ
30-systemd-environment-d-generator(8)โ loads up the variables you toldenvironment.dabout โจ
๐ฅ B ๐ฅ
binfmt.d(5)โ sets up extra binary formats for your executables so they're ready to go at bootbootctl(1)โ your remote control for EFI firmware boot settings, plus it wrangles the boot loader ๐bootup(7)โ the whole system bootup process, start to finishbusctl(1)โ go peek inside the bus ๐
๐ฆ C ๐ฆ
capsule@.service(5)โ the system unit for the capsule service managerclonetab(5)โ configuration fordm-cloneblock devicesconfext.conf(5)โ configuration files forsystemd-sysextconfext.conf.d(5)โ configuration files forsystemd-sysextcoredump.conf(5)โ the config files for core dump storagecoredump.conf.d(5)โ the config files for core dump storagecoredumpctl(1)โ grab your saved core dumps and their metadata and actually do something with themcrypttab(5)โ configuration for encrypted block devices ๐
๐ D ๐
daemon(7)โ how to write and package system daemons, the whole craftdnssec-trust-anchors.d(5)โ DNSSEC trust anchor configuration files
๐ง E ๐ง
environment.d(5)โ the definition of the user service environmentextension-release(5)โ operating system identification
๐ F ๐
file-hierarchy(7)โ the systemd file system hierarchy requirements
๐ H ๐
halt(8)โ power off, reboot, or halt the machinehomectl(1)โ create, remove, change, or inspect home directorieshomed.conf(5)โ home area/user account manager configuration fileshomed.conf.d(5)โ home area/user account manager configuration fileshostname(5)โ the local hostname configuration filehostnamectl(1)โ control the system hostnamehwdb(7)โ the Hardware Database
โญ I โญ
importctl(1)โ download, import, or export disk imagesinit(1)โ the systemd system and service managerinitrd-release(5)โ operating system identificationintegritytab(5)โ configuration for integrity block devicesiocost.conf(5)โ configuration files for the iocost solution manager
๐ J ๐
journal-remote.conf(5)โ configuration files for the service that accepts remote journal uploadsjournal-remote.conf.d(5)โ configuration files for the service that accepts remote journal uploadsjournal-upload.conf(5)โ configuration files for the journal upload servicejournal-upload.conf.d(5)โ configuration files for the journal upload servicejournalctl(1)โ print log entries straight out of the systemd journal ๐journald.conf(5)โ journal service configuration filesjournald.conf.d(5)โ journal service configuration filesjournald@.conf(5)โ journal service configuration files
๐ฆ K ๐ฆ
kernel-command-line(7)โ kernel command line parameterskernel-install(8)โ add and remove kernel and initrd images to and from the boot partition
๐ L ๐
libnss_myhostname.so.2(8)โ hostname resolution for the locally configured system hostnamelibnss_mymachines.so.2(8)โ hostname resolution for local container instanceslibnss_resolve.so.2(8)โ hostname resolution viasystemd-resolved.servicelibnss_systemd.so.2(8)โ UNIX user and group name resolution, for user/group lookup via Varlinklibsystemd(3)โ functions for implementing services and interacting with systemdlibudev(3)โ the API for enumerating and introspecting local deviceslinuxaa64.efi.stub(7)โ a simple UEFI kernel boot stublinuxia32.efi.stub(7)โ a simple UEFI kernel boot stublinuxx64.efi.stub(7)โ a simple UEFI kernel boot stubloader.conf(5)โ the configuration file forsystemd-bootlocale.conf(5)โ the configuration file for locale settingslocalectl(1)โ control the system locale and keyboard layout settings โจ๏ธlocaltime(5)โ the local timezone configuration fileloginctl(1)โ control the systemd login managerlogind.conf(5)โ login manager configuration fileslogind.conf.d(5)โ login manager configuration files
๐ M ๐
machine-id(5)โ the local machine ID configuration filemachine-info(5)โ the local machine information filemachinectl(1)โ control the systemd machine managermodules-load.d(5)โ configure which kernel modules get loaded at bootmount.ddi(1)โ dissect Discoverable Disk Images (DDIs)mount.mstack(1)โ Mstack Discoverable Disk Images (DDIs)mount.storage(1)โ enumerate and mount storage volumes handed to you by storage providers
๐ N ๐
networkctl(1)โ query or modify the status of network linksnetworkd.conf(5)โ global Network configuration filesnetworkd.conf.d(5)โ global Network configuration filesnss-myhostname(8)โ hostname resolution for the locally configured system hostnamenss-mymachines(8)โ hostname resolution for local container instancesnss-resolve(8)โ hostname resolution viasystemd-resolved.servicenss-systemd(8)โ UNIX user and group name resolution, for user/group lookup via Varlink
๐ O ๐
oomctl(1)โ analyze the state stored insidesystemd-oomdoomd.conf(5)โ globalsystemd-oomdconfiguration filesoomd.conf.d(5)โ globalsystemd-oomdconfiguration filesorg.freedesktop.home1(5)โ the D-Bus interface ofsystemd-homedorg.freedesktop.hostname1(5)โ the D-Bus interface ofsystemd-hostnamedorg.freedesktop.import1(5)โ the D-Bus interface ofsystemd-importdorg.freedesktop.locale1(5)โ the D-Bus interface ofsystemd-localedorg.freedesktop.LogControl1(5)โ D-Bus interface to query and set logging configurationorg.freedesktop.login1(5)โ the D-Bus interface ofsystemd-logindorg.freedesktop.machine1(5)โ the D-Bus interface ofsystemd-machinedorg.freedesktop.network1(5)โ the D-Bus interface ofsystemd-networkdorg.freedesktop.oom1(5)โ the D-Bus interface ofsystemd-oomdorg.freedesktop.portable1(5)โ the D-Bus interface ofsystemd-portabledorg.freedesktop.resolve1(5)โ the D-Bus interface ofsystemd-resolvedorg.freedesktop.systemd1(5)โ the D-Bus interface of systemdorg.freedesktop.sysupdate1(5)โ the D-Bus interface ofsystemd-sysupdatedorg.freedesktop.timedate1(5)โ the D-Bus interface ofsystemd-timedatedorg.freedesktop.timesync1(5)โ the D-Bus interface ofsystemd-timesyncdos-release(5)โ operating system identification
๐ซถ P ๐ซถ
pam_systemd(8)โ register user sessions in the systemd login managerpam_systemd_home(8)โ authenticate users and mount home directories viasystemd-homed.servicepam_systemd_loadkey(8)โ read the password from the kernel keyring and set it as the PAM authtokportablectl(1)โ attach, detach, or inspect portable service imagespoweroff(8)โ power off, reboot, or halt the machinepstore.conf(5)โ PStore configuration filepstore.conf.d(5)โ PStore configuration file
โจ R โจ
reboot(8)โ power off, reboot, or halt the machinerepart.d(5)โ Partition Definition Files for Automatic Boot-Time Repartitioningresolvconf(1)โ resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services; introspect and reconfigure the DNS resolverresolvectl(1)โ resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services; introspect and reconfigure the DNS resolverresolved.conf(5)โ Network Name Resolution configuration filesresolved.conf.d(5)โ Network Name Resolution configuration filesrun0(1)โ elevate privileges ๐ฅ
sd-boot(7)โ a simple UEFI boot manager ๐ฅพ literally the little guy that gets your kernel off the groundsd-bus(3)โ a lightweight D-Bus IPC client library, the whole reason your processes can gossip with each other ๐ฌsd-bus-errors(3)โ the standard D-Bus error names, all lined up in one placesd-daemon(3)โ APIs for new-style daemons, for when you wanna be a proper background service ๐ซถsd-device(3)โ API for enumerating and introspecting local devices, so you can go snooping around/syswithout cryingsd-dlopen(3)โ ELF dlopen metadata annotation macros, no cap โจsd-event(3)โ a generic event loop implementation, the heartbeat of the whole situation ๐sd-hwdb(3)โ read-only access to the hardware description database, iconic and also it will not let you write, don't trysd-id128(3)โ APIs for processing 128-bit IDs, the big ID girlies ๐ขsd-journal(3)โ APIs for submitting and querying log entries to and from the journal ๐sd-json(3)โ APIs for Dealing with JSON Objects, yes capital-D Dealing, we respect itsd-login(3)โ APIs for tracking logins, who's here and who logged out ๐sd-path(3)โ APIs to query file system pathssd-stub(7)โ a simple UEFI kernel boot stub, bestie's other booting friendsd-varlink(3)โ APIs for Varlink IPC, the newer IPC vibe ๐SD_ALERT(3)โ APIs for new-style daemonssd_booted(3)โ test whether the system is running the systemd init system, one little yes/nosd_bus_add_fallback(3)โ declare properties and methods for a D-Bus pathsd_bus_add_fallback_vtable(3)โ declare properties and methods for a D-Bus pathsd_bus_add_filter(3)โ declare properties and methods for a D-Bus pathsd_bus_add_match(3)โ add a match rule for incoming message dispatching, so you only hear the messages you asked forsd_bus_add_match_async(3)โ add a match rule for incoming message dispatchingsd_bus_add_node_enumerator(3)โ add a node enumerator for a D-Bus object path prefixsd_bus_add_object(3)โ declare properties and methods for a D-Bus pathsd_bus_add_object_manager(3)โ add a D-Bus object manager for a D-Bus object sub-treesd_bus_add_object_vtable(3)โ declare properties and methods for a D-Bus pathsd_bus_attach_event(3)โ attach a bus connection object to an event loopsd_bus_call(3)โ invoke a D-Bus method callsd_bus_call_async(3)โ invoke a D-Bus method callsd_bus_call_method(3)โ initialize a bus message object and invoke the corresponding D-Bus method callsd_bus_call_method_async(3)โ initialize a bus message object and invoke the corresponding D-Bus method callsd_bus_call_method_asyncv(3)โ initialize a bus message object and invoke the corresponding D-Bus method callsd_bus_call_methodv(3)โ initialize a bus message object and invoke the corresponding D-Bus method callsd_bus_can_send(3)โ check which types can be sent over a bus object ๐sd_bus_close(3)โ close and flush a bus connectionsd_bus_close_unref(3)โ create a new bus object and create or destroy references to itsd_bus_close_unrefp(3)โ create a new bus object and create or destroy references to itsd_bus_creds_get_audit_login_uid(3)โ grab a field off a credentials objectsd_bus_creds_get_audit_session_id(3)โ grab a field off a credentials objectsd_bus_creds_get_augmented_mask(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_get_cgroup(3)โ grab a field off a credentials objectsd_bus_creds_get_cmdline(3)โ grab a field off a credentials objectsd_bus_creds_get_comm(3)โ grab a field off a credentials objectsd_bus_creds_get_description(3)โ grab a field off a credentials objectsd_bus_creds_get_egid(3)โ grab a field off a credentials objectsd_bus_creds_get_euid(3)โ grab a field off a credentials objectsd_bus_creds_get_exe(3)โ grab a field off a credentials objectsd_bus_creds_get_fsgid(3)โ grab a field off a credentials objectsd_bus_creds_get_fsuid(3)โ grab a field off a credentials objectsd_bus_creds_get_gid(3)โ grab a field off a credentials objectsd_bus_creds_get_mask(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_get_owner_uid(3)โ grab a field off a credentials objectsd_bus_creds_get_pid(3)โ grab a field off a credentials objectsd_bus_creds_get_pidfd_dup(3)โ grab a field off a credentials objectsd_bus_creds_get_ppid(3)โ grab a field off a credentials objectsd_bus_creds_get_selinux_context(3)โ grab a field off a credentials objectsd_bus_creds_get_session(3)โ grab a field off a credentials objectsd_bus_creds_get_sgid(3)โ grab a field off a credentials objectsd_bus_creds_get_slice(3)โ grab a field off a credentials objectsd_bus_creds_get_suid(3)โ grab a field off a credentials objectsd_bus_creds_get_supplementary_gids(3)โ grab a field off a credentials objectsd_bus_creds_get_tid(3)โ grab a field off a credentials objectsd_bus_creds_get_tid_comm(3)โ grab a field off a credentials objectsd_bus_creds_get_tty(3)โ grab a field off a credentials objectsd_bus_creds_get_uid(3)โ grab a field off a credentials objectsd_bus_creds_get_unique_name(3)โ grab a field off a credentials objectsd_bus_creds_get_unit(3)โ grab a field off a credentials objectsd_bus_creds_get_user_slice(3)โ grab a field off a credentials objectsd_bus_creds_get_user_unit(3)โ grab a field off a credentials objectsd_bus_creds_get_well_known_names(3)โ grab a field off a credentials objectsd_bus_creds_has_bounding_cap(3)โ grab a field off a credentials objectsd_bus_creds_has_effective_cap(3)โ grab a field off a credentials objectsd_bus_creds_has_inheritable_cap(3)โ grab a field off a credentials objectsd_bus_creds_has_permitted_cap(3)โ grab a field off a credentials objectsd_bus_creds_new_from_pid(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_new_from_pidfd(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_ref(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_unref(3)โ retrieve a credentials object for the specified PIDsd_bus_creds_unrefp(3)โ retrieve a credentials object for the specified PIDsd_bus_default(3)โ acquire a connection to a system or user bussd_bus_default_flush_close(3)โ close and flush a bus connectionsd_bus_default_system(3)โ acquire a connection to a system or user bussd_bus_default_user(3)โ acquire a connection to a system or user bussd_bus_destroy_t(3)โ define the callback function for resource cleanup ๐งนsd_bus_detach_event(3)โ attach a bus connection object to an event loopsd_bus_emit_interfaces_added(3)โ convenience functions for emitting (standard) D-Bus signals ๐กsd_bus_emit_interfaces_added_strv(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_interfaces_removed(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_interfaces_removed_strv(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_object_added(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_object_removed(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_properties_changed(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_properties_changed_strv(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_signal(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_signal_to(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_signal_tov(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_emit_signalv(3)โ convenience functions for emitting (standard) D-Bus signalssd_bus_enqueue_for_read(3)โ re-enqueue a bus message on a bus connection, for readingsd_bus_error(3)โ sd-bus error handlingSD_BUS_ERROR_ACCESS_DENIED(3)โ one of the standard D-Bus error namessd_bus_error_add_map(3)โ additional sd-dbus error mappingsSD_BUS_ERROR_ADDRESS_IN_USE(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_AUTH_FAILED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_BAD_ADDRESS(3)โ one of the standard D-Bus error namessd_bus_error_copy(3)โ sd-bus error handlingSD_BUS_ERROR_DISCONNECTED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_END(3)โ additional sd-dbus error mappingsSD_BUS_ERROR_FAILED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_FILE_EXISTS(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_FILE_NOT_FOUND(3)โ one of the standard D-Bus error namessd_bus_error_free(3)โ sd-bus error handlingsd_bus_error_get_errno(3)โ sd-bus error handlingsd_bus_error_has_name(3)โ sd-bus error handlingsd_bus_error_has_names(3)โ sd-bus error handlingsd_bus_error_has_names_sentinel(3)โ sd-bus error handlingSD_BUS_ERROR_INCONSISTENT_MESSAGE(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_INVALID_ARGS(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_INVALID_FILE_CONTENT(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_INVALID_SIGNATURE(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_IO_ERROR(3)โ one of the standard D-Bus error namessd_bus_error_is_set(3)โ sd-bus error handlingSD_BUS_ERROR_LIMITS_EXCEEDED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_MAKE_CONST(3)โ sd-bus error handlingsd_bus_error_map(3)โ additional sd-dbus error mappingsSD_BUS_ERROR_MAP(3)โ additional sd-dbus error mappingsSD_BUS_ERROR_MATCH_RULE_INVALID(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_MATCH_RULE_NOT_FOUND(3)โ one of the standard D-Bus error namessd_bus_error_move(3)โ sd-bus error handlingSD_BUS_ERROR_NAME_HAS_NO_OWNER(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NO_MEMORY(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NO_NETWORK(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NO_REPLY(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NO_SERVER(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NOT_SUPPORTED(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_NULL(3)โ sd-bus error handlingSD_BUS_ERROR_OBJECT_PATH_IN_USE(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_PROPERTY_READ_ONLY(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_SERVICE_UNKNOWN(3)โ one of the standard D-Bus error namessd_bus_error_set(3)โ sd-bus error handlingsd_bus_error_set_const(3)โ sd-bus error handlingsd_bus_error_set_errno(3)โ sd-bus error handlingsd_bus_error_set_errnof(3)โ sd-bus error handlingsd_bus_error_set_errnofv(3)โ sd-bus error handlingsd_bus_error_setf(3)โ sd-bus error handlingsd_bus_error_setfv(3)โ sd-bus error handlingSD_BUS_ERROR_TIMED_OUT(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_TIMEOUT(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_UNKNOWN_INTERFACE(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_UNKNOWN_METHOD(3)โ one of the standard D-Bus error namesSD_BUS_ERROR_UNKNOWN_OBJECT(3)โ one of the standard D-Bus error names
SD_BUS_ERROR_UNKNOWN_PROPERTY(3)โ the standard D-Bus error names, so you know what went wrong ๐sd_bus_flush(3)โ closes and flushes a bus connection โจsd_bus_flush_close_unref(3)โ creates a new bus object and creates or destroys references to it ๐ซถsd_bus_flush_close_unrefp(3)โ creates a new bus object and creates or destroys references to it ๐sd_bus_get_address(3)โ sets or queries the address of the bus connection ๐ฌsd_bus_get_allow_interactive_authorization(3)โ sets or queries properties of a bus object ๐sd_bus_get_bus_id(3)โ configures connection mode for a bus object ๐ฆsd_bus_get_close_on_exit(3)โ controls whether to close the bus connection during the event loop exit phase ๐ชsd_bus_get_connected_signal(3)โ controls emission of local connection establishment signal on bus connections ๐กsd_bus_get_creds_mask(3)โ controls feature negotiation on bus connections ๐คsd_bus_get_current_handler(3)โ queries information of the callback a bus object is currently running ๐sd_bus_get_current_message(3)โ queries information of the callback a bus object is currently running ๐ฌsd_bus_get_current_slot(3)โ queries information of the callback a bus object is currently running ๐ฐsd_bus_get_current_userdata(3)โ queries information of the callback a bus object is currently running ๐ฆsd_bus_get_description(3)โ sets or queries properties of a bus object ๐sd_bus_get_event(3)โ attaches a bus connection object to an event loop ๐sd_bus_get_events(3)โ gets the file descriptor, I/O events and timeout to wait for from a message bus object โณsd_bus_get_exit_on_disconnect(3)โ controls the exit behavior when the bus object disconnects ๐ชsd_bus_get_fd(3)โ gets the file descriptor, I/O events and timeout to wait for from a message bus object ๐sd_bus_get_method_call_timeout(3)โ sets or queries the default D-Bus method call timeout of a bus object โฐsd_bus_get_n_queued_read(3)โ gets the number of pending bus messages in the read and write queues of a bus connection object ๐sd_bus_get_n_queued_write(3)โ gets the number of pending bus messages in the read and write queues of a bus connection object ๐sd_bus_get_name_creds(3)โ queries bus client credentials ๐sd_bus_get_name_machine_id(3)โ retrieves a bus client's machine identity ๐sd_bus_get_owner_creds(3)โ queries bus client credentials ๐ชชsd_bus_get_property(3)โ sets or queries D-Bus service properties ๐ ๏ธsd_bus_get_property_string(3)โ sets or queries D-Bus service properties ๐sd_bus_get_property_strv(3)โ sets or queries D-Bus service properties ๐sd_bus_get_property_trivial(3)โ sets or queries D-Bus service properties โจsd_bus_get_scope(3)โ sets or queries properties of a bus object ๐ญsd_bus_get_sender(3)โ configures default sender for outgoing messages ๐คsd_bus_get_tid(3)โ sets or queries properties of a bus object ๐งตsd_bus_get_timeout(3)โ gets the file descriptor, I/O events and timeout to wait for from a message bus object โฑ๏ธsd_bus_get_unique_name(3)โ sets or queries properties of a bus object ๐ท๏ธsd_bus_get_watch_bind(3)โ controls socket binding watching on bus connections ๐sd_bus_interface_name_is_valid(3)โ checks if a string is a valid bus name or object path โsd_bus_is_anonymous(3)โ sets or queries properties of a bus object ๐ต๏ธsd_bus_is_bus_client(3)โ configures connection mode for a bus object ๐sd_bus_is_monitor(3)โ configures connection mode for a bus object ๐๏ธsd_bus_is_open(3)โ checks whether the bus connection is open or ready ๐ชsd_bus_is_ready(3)โ checks whether the bus connection is open or ready โsd_bus_is_server(3)โ configures connection mode for a bus object ๐ฅ๏ธsd_bus_is_trusted(3)โ sets or queries properties of a bus object ๐คsd_bus_list_names(3)โ retrieves information about registered names on a bus ๐sd_bus_match_signal(3)โ adds a match rule for incoming message dispatching ๐ฏsd_bus_match_signal_async(3)โ adds a match rule for incoming message dispatching โกsd_bus_member_name_is_valid(3)โ checks if a string is a valid bus name or object path โsd_bus_message_append(3)โ attaches fields to a D-Bus message based on a type string ๐sd_bus_message_append_array(3)โ appends an array of fields to a D-Bus message ๐งฑsd_bus_message_append_array_iovec(3)โ appends an array of fields to a D-Bus message ๐ฆsd_bus_message_append_array_memfd(3)โ appends an array of fields to a D-Bus message ๐๏ธsd_bus_message_append_array_space(3)โ appends an array of fields to a D-Bus message ๐งฉsd_bus_message_append_basic(3)โ attaches a single field to a message ๐นsd_bus_message_append_string_iovec(3)โ attaches a string to a message ๐sd_bus_message_append_string_memfd(3)โ attaches a string to a message ๐sd_bus_message_append_string_space(3)โ attaches a string to a message โจsd_bus_message_append_strv(3)โ attaches an array of strings to a message ๐sd_bus_message_appendv(3)โ attaches fields to a D-Bus message based on a type string ๐sd_bus_message_at_end(3)โ checks if a message has been fully read ๐sd_bus_message_close_container(3)โ creates and moves between containers in D-Bus messages ๐ฆsd_bus_message_copy(3)โ copies the contents of one message to another ๐sd_bus_message_dump(3)โ produces a string representation of a message for debugging purposes ๐sd_bus_message_dump_json(3)โ produces a string representation of a message for debugging purposes ๐sd_bus_message_enter_container(3)โ creates and moves between containers in D-Bus messages ๐ฆsd_bus_message_exit_container(3)โ creates and moves between containers in D-Bus messages ๐ชsd_bus_message_get_allow_interactive_authorization(3)โ sets and queries bus message metadata ๐sd_bus_message_get_auto_start(3)โ sets and queries bus message metadata ๐sd_bus_message_get_bus(3)โ creates a new bus message object and creates or destroys references to it ๐sd_bus_message_get_cookie(3)โ returns the transaction cookie of a message ๐ชsd_bus_message_get_creds(3)โ queries bus message addressing/credentials metadata ๐sd_bus_message_get_destination(3)โ sets and queries bus message addressing information ๐ฌsd_bus_message_get_errno(3)โ queries bus message addressing/credentials metadata โ ๏ธsd_bus_message_get_error(3)โ queries bus message addressing/credentials metadata โsd_bus_message_get_expect_reply(3)โ sets and queries bus message metadata ๐ฌsd_bus_message_get_interface(3)โ sets and queries bus message addressing information ๐กsd_bus_message_get_member(3)โ sets and queries bus message addressing information ๐งโ๐คโ๐งsd_bus_message_get_monotonic_usec(3)โ retrieves the sender timestamps and sequence number of a message โฑ๏ธsd_bus_message_get_path(3)โ sets and queries bus message addressing information ๐ฃ๏ธsd_bus_message_get_realtime_usec(3)โ retrieves the sender timestamps and sequence number of a message โฐsd_bus_message_get_reply_cookie(3)โ returns the transaction cookie of a message ๐ชsd_bus_message_get_sender(3)โ sets and queries bus message addressing information ๐คsd_bus_message_get_seqnum(3)โ retrieves the sender timestamps and sequence number of a message ๐ขsd_bus_message_get_signature(3)โ queries bus message signature โ๏ธsd_bus_message_get_type(3)โ queries bus message addressing/credentials metadata ๐ท๏ธsd_bus_message_has_signature(3)โ queries bus message signature โsd_bus_message_is_empty(3)โ queries bus message signature ๐ณ๏ธsd_bus_message_is_method_call(3)โ queries bus message addressing/credentials metadata ๐sd_bus_message_is_method_error(3)โ queries bus message addressing/credentials metadata โsd_bus_message_is_signal(3)โ queries bus message addressing/credentials metadata ๐กSD_BUS_MESSAGE_METHOD_CALL(3)โ creates a new bus message object and creates or destroys references to it ๐SD_BUS_MESSAGE_METHOD_ERROR(3)โ creates a new bus message object and creates or destroys references to it โSD_BUS_MESSAGE_METHOD_RETURN(3)โ creates a new bus message object and creates or destroys references to it โฉ๏ธsd_bus_message_new(3)โ creates a new bus message object and creates or destroys references to it ๐sd_bus_message_new_method_call(3)โ creates a method call message ๐sd_bus_message_new_method_errno(3)โ creates an error reply for a method call โ ๏ธsd_bus_message_new_method_errnof(3)โ creates an error reply for a method call โ ๏ธsd_bus_message_new_method_error(3)โ creates an error reply for a method call โsd_bus_message_new_method_errorf(3)โ creates an error reply for a method call โsd_bus_message_new_method_return(3)โ creates a method call message โฉ๏ธsd_bus_message_new_signal(3)โ creates a signal message ๐กsd_bus_message_new_signal_to(3)โ creates a signal message ๐กsd_bus_message_open_container(3)โ creates and moves between containers in D-Bus messages ๐ฆsd_bus_message_peek_type(3)โ reads a sequence of values from a message ๐sd_bus_message_read(3)โ reads a sequence of values from a message ๐sd_bus_message_read_array(3)โ accesses an array of elements in a message ๐งฑsd_bus_message_read_basic(3)โ reads a basic type from a message ๐นsd_bus_message_read_strv(3)โ accesses an array of strings in a message ๐sd_bus_message_read_strv_extend(3)โ accesses an array of strings in a message ๐sd_bus_message_readv(3)โ reads a sequence of values from a message ๐sd_bus_message_ref(3)โ creates a new bus message object and creates or destroys references to it ๐sd_bus_message_rewind(3)โ returns to beginning of message or current container โชsd_bus_message_seal(3)โ prepares a D-Bus message for transmission ๐ฆsd_bus_message_send(3)โ queues a D-Bus message for transfer ๐คsd_bus_message_sensitive(3)โ marks a message object as containing sensitive data ๐sd_bus_message_set_allow_interactive_authorization(3)โ sets and queries bus message metadata ๐sd_bus_message_set_auto_start(3)โ sets and queries bus message metadata ๐sd_bus_message_set_destination(3)โ sets and queries bus message addressing information ๐ฌsd_bus_message_set_expect_reply(3)โ sets and queries bus message metadata ๐ฌsd_bus_message_set_sender(3)โ sets and queries bus message addressing information ๐คSD_BUS_MESSAGE_SIGNAL(3)โ creates a new bus message object and creates or destroys references to it ๐กsd_bus_message_skip(3)โ skips elements in a bus message โญ๏ธsd_bus_message_unref(3)โ creates a new bus message object and creates or destroys references to it ๐๏ธsd_bus_message_unrefp(3)โ creates a new bus message object and creates or destroys references to it ๐๏ธsd_bus_message_verify_type(3)โ checks if the message has specified type at the current location โSD_BUS_METHOD(3)โ declares properties and methods for a D-Bus path ๐SD_BUS_METHOD_WITH_NAMES(3)โ declares properties and methods for a D-Bus path ๐SD_BUS_METHOD_WITH_NAMES_OFFSET(3)โ declares properties and methods for a D-Bus path ๐SD_BUS_METHOD_WITH_OFFSET(3)โ declares properties and methods for a D-Bus path ๐sd_bus_negotiate_creds(3)โ controls feature negotiation on bus connections ๐คsd_bus_negotiate_fds(3)โ the little dial that controls feature negotiation on bus connections ๐sd_bus_negotiate_timestamp(3)โ same dial energy, also controls feature negotiation on bus connections โฑ๏ธsd_bus_new(3)โ makes a fresh new bus object, and also creates or destroys references to it ๐sd_bus_object_path_is_valid(3)โ the vibe check: is this string a valid bus name or object path? โ
okay so now we get to the open girlies and there are nine of them and they all do the same iconic thing, which is acquire a connection to a system or user bus. nine. bestie. NINE. ๐
sd_bus_open(3)โ acquires a connection to a system or user bus ๐sd_bus_open_system(3)โ also acquires a connection to a system or user bus ๐ฆsd_bus_open_system_machine(3)โ acquires a connection to a system or user bus, yes ma'am ๐ซถsd_bus_open_system_remote(3)โ you guessed it, connection to a system or user bus โจsd_bus_open_system_with_description(3)โ still out here acquiring a connection to a system or user bus ๐sd_bus_open_user(3)โ connection to a system or user bus? acquired. periodt ๐sd_bus_open_user_machine(3)โ another one acquiring a connection to a system or user bus ๐ธsd_bus_open_user_with_description(3)โ acquires a connection to a system or user bus, no cap ๐sd_bus_open_with_description(3)โ and the ninth one, also acquiring a connection to a system or user bus โญSD_BUS_PARAM(3)โ declares properties and methods for a D-Bus path ๐ฏsd_bus_path_decode(3)โ converts an external identifier into an object path and back ๐sd_bus_path_decode_many(3)โ same round-trip deal: external identifier โ object path, many edition ๐sd_bus_path_encode(3)โ converts an external identifier into an object path and back, encode direction ๐งsd_bus_path_encode_many(3)โ external identifier into an object path and back, and yes, many of them ๐sd_bus_pending_method_calls(3)โ tells you the number of currently pending, outgoing method calls, so you can stare at it and feel something ๐sd_bus_process(3)โ drives the connection ๐SD_BUS_PROPERTY(3)โ declares properties and methods for a D-Bus path ๐ฏsd_bus_query_sender_creds(3)โ queries the bus message sender's credentials/privileges ๐sd_bus_query_sender_privilege(3)โ also queries the bus message sender's credentials/privileges, privilege flavour ๐sd_bus_ref(3)โ creates a new bus object and creates or destroys references to it ๐sd_bus_release_name(3)โ requests or releases a well-known service name on a bus ๐ท๏ธsd_bus_release_name_async(3)โ requests or releases a well-known service name on a bus, but async ๐ท๏ธโจ
and now: the reply saga. six whole entries that all reply with an error to a D-Bus method call. we love a themed set ๐
sd_bus_reply_method_errno(3)โ replies with an error to a D-Bus method call ๐ญsd_bus_reply_method_errnof(3)โ replies with an error to a D-Bus method call, format-string flavour ๐ญsd_bus_reply_method_errnofv(3)โ replies with an error to a D-Bus method call, va_list format flavour ๐ญsd_bus_reply_method_error(3)โ replies with an error to a D-Bus method call, plain error edition ๐ญsd_bus_reply_method_errorf(3)โ replies with an error to a D-Bus method call, and it formats ๐ญsd_bus_reply_method_errorfv(3)โ replies with an error to a D-Bus method call, formatted va_list finale ๐ญsd_bus_reply_method_return(3)โ replies to a D-Bus method call (the happy path bestie) ๐sd_bus_reply_method_returnv(3)โ replies to a D-Bus method call, va_list style ๐sd_bus_request_name(3)โ requests or releases a well-known service name on a bus ๐ท๏ธsd_bus_request_name_async(3)โ requests or releases a well-known service name on a bus, async girlie ๐ท๏ธโจsd_bus_send(3)โ queues a D-Bus message for transfer ๐ฌsd_bus_send_to(3)โ queues a D-Bus message for transfer, to someone specific ๐ฌsd_bus_service_name_is_valid(3)โ checks if a string is a valid bus name or object path โ
the sd_bus_set_* section is genuinely huge, hold my hand ๐ซถ
sd_bus_set_address(3)โ sets or queries the address of the bus connection ๐sd_bus_set_allow_interactive_authorization(3)โ sets or queries properties of a bus object ๐sd_bus_set_anonymous(3)โ sets or queries properties of a bus object, anonymous vibes ๐ถ๏ธsd_bus_set_bus_client(3)โ configures the connection mode for a bus object ๐งsd_bus_set_close_on_exit(3)โ controls whether the bus connection gets closed during the event loop exit phase ๐ชsd_bus_set_connected_signal(3)โ controls emission of the local connection establishment signal on bus connections ๐กsd_bus_set_description(3)โ sets or queries properties of a bus object ๐sd_bus_set_exec(3)โ sets or queries the address of the bus connection ๐sd_bus_set_exit_on_disconnect(3)โ controls the exit behavior for when the bus object disconnects ๐ช๐sd_bus_set_fd(3)โ sets the file descriptors to use for bus communication ๐sd_bus_set_method_call_timeout(3)โ sets or queries the default D-Bus method call timeout of a bus object โณsd_bus_set_monitor(3)โ configures the connection mode for a bus object ๐sd_bus_set_property(3)โ sets or queries D-Bus service properties ๐๏ธsd_bus_set_propertyv(3)โ sets or queries D-Bus service properties, va_list style ๐๏ธsd_bus_set_sender(3)โ configures the default sender for outgoing messages ๐คsd_bus_set_server(3)โ configures the connection mode for a bus object ๐ฅ๏ธsd_bus_set_trusted(3)โ sets or queries properties of a bus object, trusted edition ๐คsd_bus_set_watch_bind(3)โ controls socket binding watching on bus connections ๐ญSD_BUS_SIGNAL(3)โ declares properties and methods for a D-Bus path ๐ฏSD_BUS_SIGNAL_WITH_NAMES(3)โ declares properties and methods for a D-Bus path, with names ๐ฏ
bus slot objects!! they're so real for this ๐
sd_bus_slot_get_bus(3)โ queries information attached to a bus slot object ๐sd_bus_slot_get_current_handler(3)โ queries information attached to a bus slot object ๐sd_bus_slot_get_current_message(3)โ queries information attached to a bus slot object ๐sd_bus_slot_get_current_userdata(3)โ queries information attached to a bus slot object ๐sd_bus_slot_get_description(3)โ sets or queries the description of bus slot objects ๐sd_bus_slot_get_destroy_callback(3)โ defines the callback function for resource cleanup ๐งนsd_bus_slot_get_floating(3)โ controls whether a bus slot object is "floating" ๐sd_bus_slot_get_userdata(3)โ sets and queries the value in the "userdata" field ๐ฆsd_bus_slot_ref(3)โ creates and destroys references to a bus slot object ๐sd_bus_slot_set_description(3)โ sets or queries the description of bus slot objects ๐sd_bus_slot_set_destroy_callback(3)โ defines the callback function for resource cleanup ๐งนsd_bus_slot_set_floating(3)โ controls whether a bus slot object is "floating" ๐sd_bus_slot_set_userdata(3)โ sets and queries the value in the "userdata" field ๐ฆsd_bus_slot_unref(3)โ creates and destroys references to a bus slot object ๐sd_bus_slot_unrefp(3)โ creates and destroys references to a bus slot object, pointer-cleanup edition ๐sd_bus_start(3)โ initiates a bus connection to the D-bus broker daemon ๐
okay bus peer tracking is its own whole ecosystem and honestly? obsessed ๐
sd_bus_track_add_name(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_add_sender(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_contains(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_count(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_count_name(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_count_sender(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_first(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_get_bus(3)โ tracks bus peers ๐ฏsd_bus_track_get_destroy_callback(3)โ defines the callback function for resource cleanup ๐งนsd_bus_track_get_recursive(3)โ tracks bus peers ๐ฏsd_bus_track_get_userdata(3)โ tracks bus peers ๐ฏsd_bus_track_new(3)โ tracks bus peers ๐ฏsd_bus_track_next(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_ref(3)โ tracks bus peers ๐ฏsd_bus_track_remove_name(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_remove_sender(3)โ adds, removes and retrieves bus peers tracked in a bus peer tracking object ๐ฏsd_bus_track_set_destroy_callback(3)โ defines the callback function for resource cleanup ๐งนsd_bus_track_set_recursive(3)โ tracks bus peers ๐ฏsd_bus_track_set_userdata(3)โ tracks bus peers ๐ฏsd_bus_track_unref(3)โ tracks bus peers ๐ฏsd_bus_track_unrefp(3)โ tracks bus peers ๐ฏsd_bus_unref(3)โ creates a new bus object and creates or destroys references to it ๐sd_bus_unrefp(3)โ creates a new bus object and creates or destroys references to it, pointer-cleanup edition ๐
SD_BUS_VTABLE_CAPABILITY(3)โ declares properties and methods for a D-Bus path ๐ฏSD_BUS_VTABLE_END(3)โ declares properties and methods for a D-Bus path ๐ฏSD_BUS_VTABLE_START(3)โ declares properties and methods for a D-Bus path ๐ฏsd_bus_wait(3)โ waits for I/O on a bus connection โธ๏ธSD_BUS_WRITABLE_PROPERTY(3)โ declares properties and methods for a D-Bus path ๐ฏSD_CRIT(3)โ APIs for new-style daemons ๐SD_DEBUG(3)โ APIs for new-style daemons ๐
device enumerators!! adding filters left and right, we love a filtered queen ๐
sd_device_enumerator_add_all_parents(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_parent(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_property(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_property_required(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_subsystem(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_sysattr(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_sysname(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_match_tag(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_add_nomatch_sysname(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_allow_uninitialized(3)โ adds a filter to the device enumerator ๐งบsd_device_enumerator_get_device_first(3)โ enumerates devices and gets the first or next device ๐ขsd_device_enumerator_get_device_next(3)โ enumerates devices and gets the first or next device ๐ขsd_device_enumerator_get_subsystem_first(3)โ enumerates devices and gets the first or next device ๐ขsd_device_enumerator_get_subsystem_next(3)โ enumerates devices and gets the first or next device ๐ขsd_device_enumerator_new(3)โ creates, references, and releases a device enumerator object ๐sd_device_enumerator_ref(3)โ creates, references, and releases a device enumerator object ๐sd_device_enumerator_unref(3)โ creates, references, and releases a device enumerator object ๐sd_device_enumerator_unrefp(3)โ creates, references, and releases a device enumerator object ๐sd_device_get_device_id(3)โ returns various fields of device objects ๐sd_device_get_devname(3)โ returns various fields of device objects ๐sd_device_get_devnum(3)โ returns various fields of device objects ๐sd_device_get_devpath(3)โ returns various fields of device objects ๐sd_device_get_devtype(3)โ returns various fields of device objects ๐sd_device_get_diskseq(3)โ returns various fields of device objects ๐sd_device_get_driver(3)โ returns various fields of device objects ๐sd_device_get_driver_subsystem(3)โ returns various fields of device objects ๐sd_device_get_ifindex(3)โ returns various fields of device objects ๐sd_device_get_subsystem(3)โ returns various fields of device objects ๐
Okay so we're still in the list, and now it's the sd_-prefixed girlies' turn ๐
Device stuff first, then the entire sd_event cinematic universe (yes it's giving saga, no it never ends), and every single one of them is right here. Grab a snack bestie. ๐
sd_device_get_sysname(3)โ hands you back the various fields of device objectssd_device_get_sysnum(3)โ also gives you the various fields of device objectssd_device_get_syspath(3)โ yep, the various fields of device objects againsd_device_ref(3)โ makes or breaks references to a device objectsd_device_unref(3)โ same energy: create or destroy references to a device objectsd_device_unrefp(3)โ create or destroy references to a device object, one more time for the cheap seats
ELF notes era, let's go โจ
SD_ELF_NOTE_DLOPEN(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_ELF_NOTE_DLOPEN_PRIORITY_RECOMMENDED(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_ELF_NOTE_DLOPEN_TYPE(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_ELF_NOTE_DLOPEN_VENDOR(3)โ embeds ELF.note.dlopenmetadata for shared library dependenciesSD_EMERG(3)โ APIs for new-style daemonsSD_ERR(3)โ APIs for new-style daemons
And nowโฆ the main event. The sd_event section. It's a whole lifestyle. ๐ญ
sd_event(3)โ acquire and release an event loop objectsd_event_add_child(3)โ adds a child process state change event source to an event loopsd_event_add_child_pidfd(3)โ adds a child process state change event source to an event loopsd_event_add_cpu_pressure(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_add_defer(3)โ adds static event sources to an event loopsd_event_add_exit(3)โ adds static event sources to an event loopsd_event_add_inotify(3)โ adds an"inotify"file system inode event source to an event loopsd_event_add_inotify_fd(3)โ adds an"inotify"file system inode event source to an event loopsd_event_add_io(3)โ adds an I/O event source to an event loopsd_event_add_io_pressure(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_add_memory_pressure(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_add_post(3)โ adds static event sources to an event loopsd_event_add_signal(3)โ adds a UNIX process signal event source to an event loopsd_event_add_time(3)โ adds a timer event source to an event loopsd_event_add_time_relative(3)โ adds a timer event source to an event loopSD_EVENT_ARMED(3)โ low-level event loop operationssd_event_child_handler_t(3)โ adds a child process state change event source to an event loopsd_event_default(3)โ acquire and release an event loop objectsd_event_destroy_t(3)โ defines the callback function for resource cleanupsd_event_dispatch(3)โ low-level event loop operationssd_event_exit(3)โ asks the event loop to exitSD_EVENT_EXITING(3)โ low-level event loop operationsSD_EVENT_FINISHED(3)โ low-level event loop operationssd_event_get_exit_code(3)โ asks the event loop to exitsd_event_get_exit_on_idle(3)โ enables event loop exit-on-idle supportsd_event_get_fd(3)โ obtains a file descriptor to poll for event loop eventssd_event_get_iteration(3)โ low-level event loop operationssd_event_get_state(3)โ low-level event loop operationssd_event_get_tid(3)โ acquire and release an event loop objectsd_event_get_watchdog(3)โ enables event loop watchdog supportsd_event_handler_t(3)โ adds static event sources to an event loopSD_EVENT_INITIAL(3)โ low-level event loop operationssd_event_inotify_handler_t(3)โ adds an"inotify"file system inode event source to an event loopsd_event_io_handler_t(3)โ adds an I/O event source to an event loopsd_event_loop(3)โ runs an event loopsd_event_new(3)โ acquire and release an event loop objectsd_event_now(3)โ retrieves the current event loop iteration timestampSD_EVENT_OFF(3)โ enable or disable event sourcesSD_EVENT_ON(3)โ enable or disable event sourcesSD_EVENT_ONESHOT(3)โ enable or disable event sourcesSD_EVENT_PENDING(3)โ low-level event loop operationssd_event_prepare(3)โ low-level event loop operationsSD_EVENT_PREPARING(3)โ low-level event loop operationsSD_EVENT_PRIORITY_IDLE(3)โ set or retrieve the priority of event sourcesSD_EVENT_PRIORITY_IMPORTANT(3)โ set or retrieve the priority of event sourcesSD_EVENT_PRIORITY_NORMAL(3)โ set or retrieve the priority of event sourcessd_event_ref(3)โ acquire and release an event loop objectsd_event_run(3)โ runs an event loopSD_EVENT_RUNNING(3)โ low-level event loop operationssd_event_set_exit_on_idle(3)โ enables event loop exit-on-idle supportsd_event_set_signal_exit(3)โ automatically leaves the event loop onSIGINTandSIGTERMsd_event_set_watchdog(3)โ enables event loop watchdog supportsd_event_signal_handler_t(3)โ adds a UNIX process signal event source to an event loopSD_EVENT_SIGNAL_PROCMASK(3)โ adds a UNIX process signal event source to an event loopsd_event_source(3)โ adds an I/O event source to an event loopsd_event_source_disable_unref(3)โ increases or decreases event source reference counterssd_event_source_disable_unrefp(3)โ increases or decreases event source reference counterssd_event_source_get_child_pid(3)โ adds a child process state change event source to an event loopsd_event_source_get_child_pidfd(3)โ adds a child process state change event source to an event loopsd_event_source_get_child_pidfd_own(3)โ adds a child process state change event source to an event loopsd_event_source_get_child_process_own(3)โ adds a child process state change event source to an event loopsd_event_source_get_description(3)โ sets or retrieves descriptive names of event sourcessd_event_source_get_destroy_callback(3)โ defines the callback function for resource cleanupsd_event_source_get_enabled(3)โ enable or disable event sourcessd_event_source_get_event(3)โ retrieves the event loop of an event sourcesd_event_source_get_exit_on_failure(3)โ sets or retrieves the exit-on-failure feature of event sourcessd_event_source_get_floating(3)โ sets or retrieves the'floating'state of event sourcessd_event_source_get_inotify_mask(3)โ adds an"inotify"file system inode event source to an event loopsd_event_source_get_inotify_path(3)โ adds an"inotify"file system inode event source to an event loopsd_event_source_get_io_events(3)โ adds an I/O event source to an event loopsd_event_source_get_io_fd(3)โ adds an I/O event source to an event loopsd_event_source_get_io_fd_own(3)โ adds an I/O event source to an event loopsd_event_source_get_io_revents(3)โ adds an I/O event source to an event loopsd_event_source_get_pending(3)โ determines the pending state of event sourcessd_event_source_get_priority(3)โ set or retrieve the priority of event sourcessd_event_source_get_ratelimit(3)โ configures rate limiting on event sourcessd_event_source_get_signal(3)โ adds a UNIX process signal event source to an event loopsd_event_source_get_time(3)โ adds a timer event source to an event loopsd_event_source_get_time_accuracy(3)โ adds a timer event source to an event loopsd_event_source_get_time_clock(3)โ adds a timer event source to an event loopsd_event_source_get_userdata(3)โ sets or retrieves the user data pointer of event sourcessd_event_source_is_ratelimited(3)โ configures rate limiting on event sourcessd_event_source_leave_ratelimit(3)โ configures rate limiting on event sourcessd_event_source_ref(3)โ increases or decreases event source reference counterssd_event_source_send_child_signal(3)โ adds a child process state change event source to an event loopsd_event_source_set_child_pidfd_own(3)โ adds a child process state change event source to an event loopsd_event_source_set_child_process_own(3)โ adds a child process state change event source to an event loopsd_event_source_set_cpu_pressure_period(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_cpu_pressure_type(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_description(3)โ sets or retrieves descriptive names of event sourcessd_event_source_set_destroy_callback(3)โ defines the callback function for resource cleanupsd_event_source_set_enabled(3)โ enable or disable event sourcessd_event_source_set_exit_on_failure(3)โ sets or retrieves the exit-on-failure feature of event sourcessd_event_source_set_floating(3)โ sets or retrieves the'floating'state of event sourcessd_event_source_set_io_events(3)โ adds an I/O event source to an event loopsd_event_source_set_io_fd(3)โ adds an I/O event source to an event loopsd_event_source_set_io_fd_own(3)โ adds an I/O event source to an event loopsd_event_source_set_io_pressure_period(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_io_pressure_type(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_memory_pressure_period(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_memory_pressure_type(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_source_set_prepare(3)โ sets a preparation callback for event sourcessd_event_source_set_priority(3)โ set or retrieve the priority of event sourcessd_event_source_set_ratelimit(3)โ configures rate limiting on event sourcessd_event_source_set_ratelimit_expire_callback(3)โ configures rate limiting on event sourcessd_event_source_set_time(3)โ adds a timer event source to an event loopsd_event_source_set_time_accuracy(3)โ adds a timer event source to an event loopsd_event_source_set_time_relative(3)โ adds a timer event source to an event loopsd_event_source_set_userdata(3)โ sets or retrieves the user data pointer of event sourcessd_event_source_unref(3)โ increases or decreases event source reference counterssd_event_source_unrefp(3)โ increases or decreases event source reference counterssd_event_time_handler_t(3)โ adds a timer event source to an event loopsd_event_trim_memory(3)โ adds and configures an event source for memory, CPU, or IO pressure notificationssd_event_unref(3)โ acquire and release an event loop objectsd_event_unrefp(3)โ acquire and release an event loop objectsd_event_wait(3)โ low-level event loop operationssd_get_machine_names(3)โ determines available seats, sessions, logged in
โฆusers and virtual machines/containers ๐ซถ
sd_get_seats(3)โ determines the available seats, sessions, logged-in users and virtual machines/containers ๐บsd_get_sessions(3)โ same quest, different treasure: available seats, sessions, logged-in users and virtual machines/containers ๐ธsd_get_uids(3)โ and once more with feeling โ available seats, sessions, logged-in users and virtual machines/containers, it's the full vibe check ๐
okay so hwdb time ๐ฆ (hardware database bestie, she's booked and busy)
sd_hwdb_enumerate(3)โ seek to a location in hwdb, or access entries ๐SD_HWDB_FOREACH_PROPERTY(3)โ seek to a location in hwdb, or access entries, the macro-flavored one โจsd_hwdb_get(3)โ seek to a location in hwdb, or access entries, and this one is giving get ๐sd_hwdb_new(3)โ creates a new hwdb object, and creates or destroys references to it ๐sd_hwdb_new_from_path(3)โ creates a new hwdb object, and creates or destroys references to it, from a path obviously ๐ฃ๏ธsd_hwdb_ref(3)โ creates or destroys references to an hwdb object ๐sd_hwdb_seek(3)โ seek to a location in hwdb, or access entries ๐งsd_hwdb_unref(3)โ creates or destroys references to an hwdb object ๐ซถ
now the 128-bit ID cinematic universe, buckle up ๐
SD_ID128_ALLF(3)โ APIs for processing 128-bit IDsSD_ID128_CONST_STR(3)โ APIs for processing 128-bit IDssd_id128_equal(3)โ APIs for processing 128-bit IDs, the comparing kindSD_ID128_FORMAT_STR(3)โ APIs for processing 128-bit IDsSD_ID128_FORMAT_VAL(3)โ APIs for processing 128-bit IDssd_id128_from_string(3)โ formats or parses 128-bit IDs as strings ๐คsd_id128_get_app_specific(3)โ retrieves 128-bit IDs ๐sd_id128_get_boot(3)โ retrieves 128-bit IDs, boot editionsd_id128_get_boot_app_specific(3)โ retrieves 128-bit IDs ๐sd_id128_get_invocation(3)โ retrieves 128-bit IDs, invocation erasd_id128_get_machine(3)โ retrieves 128-bit IDs, machine coresd_id128_get_machine_app_specific(3)โ retrieves 128-bit IDs ๐ซsd_id128_in_set(3)โ APIs for processing 128-bit IDssd_id128_in_set_sentinel(3)โ APIs for processing 128-bit IDssd_id128_in_setv(3)โ APIs for processing 128-bit IDssd_id128_is_allf(3)โ APIs for processing 128-bit IDssd_id128_is_null(3)โ APIs for processing 128-bit IDsSD_ID128_MAKE(3)โ APIs for processing 128-bit IDsSD_ID128_MAKE_STR(3)โ APIs for processing 128-bit IDsSD_ID128_MAKE_UUID_STR(3)โ APIs for processing 128-bit IDsSD_ID128_NULL(3)โ APIs for processing 128-bit IDssd_id128_randomize(3)โ generates 128-bit IDs ๐ฒsd_id128_string_equal(3)โ APIs for processing 128-bit IDsSD_ID128_STRING_MAX(3)โ formats or parses 128-bit IDs as strings ๐sd_id128_t(3)โ APIs for processing 128-bit IDs (it's the type itself, iconic)sd_id128_to_string(3)โ formats or parses 128-bit IDs as strings ๐งตSD_ID128_TO_STRING(3)โ formats or parses 128-bit IDs as stringssd_id128_to_uuid_string(3)โ formats or parses 128-bit IDs as strings, uuid style ๐SD_ID128_TO_UUID_STRING(3)โ formats or parses 128-bit IDs as stringsSD_ID128_UUID_FORMAT_STR(3)โ APIs for processing 128-bit IDsSD_ID128_UUID_STRING_MAX(3)โ formats or parses 128-bit IDs as strings ๐SD_INFO(3)โ APIs for new-style daemons ๐
and now: is this fd what I think it is? โ a series ๐ต๏ธ
sd_is_fifo(3)โ checks the type of a file descriptor ๐ฐsd_is_mq(3)โ checks the type of a file descriptor ๐ฌsd_is_socket(3)โ checks the type of a file descriptor ๐งฆsd_is_socket_inet(3)โ checks the type of a file descriptor ๐sd_is_socket_sockaddr(3)โ checks the type of a file descriptor ๐บ๏ธsd_is_socket_unix(3)โ checks the type of a file descriptor ๐งsd_is_special(3)โ checks the type of a file descriptor โจ
bestie. the journal. this is a whole saga and I am obsessed ๐
sd_journal(3)โ opens the system journal for reading ๐sd_journal_add_conjunction(3)โ adds or removes entry matchessd_journal_add_disjunction(3)โ adds or removes entry matchessd_journal_add_match(3)โ adds or removes entry matches ๐SD_JOURNAL_ALL_NAMESPACES(3)โ opens the system journal for reading ๐SD_JOURNAL_APPEND(3)โ journal change notification interface ๐sd_journal_close(3)โ opens the system journal for reading (and then, respectfully, closes it) ๐ชSD_JOURNAL_CURRENT_USER(3)โ opens the system journal for reading ๐sd_journal_enumerate_available_data(3)โ reads data fields from the current journal entry ๐sd_journal_enumerate_available_unique(3)โ reads unique data fields from the journal ๐ฆsd_journal_enumerate_data(3)โ reads data fields from the current journal entrysd_journal_enumerate_fields(3)โ reads used field names from the journal ๐ท๏ธsd_journal_enumerate_unique(3)โ reads unique data fields from the journal ๐sd_journal_flush_matches(3)โ adds or removes entry matches ๐งนSD_JOURNAL_FOREACH(3)โ advances or sets back the read pointer in the journal โก๏ธSD_JOURNAL_FOREACH_BACKWARDS(3)โ advances or sets back the read pointer in the journal โฌ ๏ธSD_JOURNAL_FOREACH_DATA(3)โ reads data fields from the current journal entrySD_JOURNAL_FOREACH_FIELD(3)โ reads used field names from the journalSD_JOURNAL_FOREACH_UNIQUE(3)โ reads unique data fields from the journalsd_journal_get_catalog(3)โ retrieves a message catalog entry ๐sd_journal_get_catalog_for_message_id(3)โ retrieves a message catalog entrysd_journal_get_cursor(3)โ gets a cursor string for the current journal entry, or tests a cursor string against it ๐ฏsd_journal_get_cutoff_monotonic_usec(3)โ reads cut-off timestamps from the current journal entry โฑ๏ธsd_journal_get_cutoff_realtime_usec(3)โ reads cut-off timestamps from the current journal entry ๐ฐ๏ธsd_journal_get_data(3)โ reads data fields from the current journal entrysd_journal_get_data_threshold(3)โ reads data fields from the current journal entry ๐sd_journal_get_events(3)โ journal change notification interfacesd_journal_get_fd(3)โ journal change notification interface ๐๏ธsd_journal_get_monotonic_usec(3)โ reads timestamps from the current journal entry โณsd_journal_get_realtime_usec(3)โ reads timestamps from the current journal entry โsd_journal_get_seqnum(3)โ reads the sequence number from the current journal entry ๐ขsd_journal_get_timeout(3)โ journal change notification interface โฒ๏ธsd_journal_get_usage(3)โ journal disk usage ๐พsd_journal_has_persistent_files(3)โ queries availability of runtime or persistent journal files ๐๏ธsd_journal_has_runtime_files(3)โ queries availability of runtime or persistent journal files ๐SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE(3)โ opens the system journal for readingSD_JOURNAL_INVALIDATE(3)โ journal change notification interface ๐จSD_JOURNAL_LOCAL_ONLY(3)โ opens the system journal for reading ๐sd_journal_next(3)โ advances or sets back the read pointer in the journal โญ๏ธsd_journal_next_skip(3)โ advances or sets back the read pointer in the journal ๐ฆSD_JOURNAL_NOP(3)โ journal change notification interface ๐ถsd_journal_open(3)โ opens the system journal for reading ๐sd_journal_open_directory(3)โ opens the system journal for reading ๐sd_journal_open_directory_fd(3)โ opens the system journal for reading ๐๏ธsd_journal_open_files(3)โ opens the system journal for reading ๐sd_journal_open_files_fd(3)โ opens the system journal for reading ๐๏ธsd_journal_open_namespace(3)โ opens the system journal for reading ๐ชSD_JOURNAL_OS_ROOT(3)โ opens the system journal for reading ๐sd_journal_perror(3)โ submits log entries to the journal โ๏ธsd_journal_perror_with_location(3)โ submits log entries to the journal ๐sd_journal_previous(3)โ advances or sets back the read pointer in the journal โฎ๏ธsd_journal_previous_skip(3)โ advances or sets back the read pointer in the journal ๐sd_journal_print(3)โ submits log entries to the journal ๐จ๏ธsd_journal_print_with_location(3)โ submits log entries to the journal ๐sd_journal_printv(3)โ submits log entries to the journalsd_journal_printv_with_location(3)โ submits log entries to the journalsd_journal_process(3)โ journal change notification interface โ๏ธsd_journal_query_unique(3)โ reads unique data fields from the journalsd_journal_reliable_fd(3)โ journal change notification interface ๐๏ธsd_journal_restart_data(3)โ reads data fields from the current journal entry ๐sd_journal_restart_fields(3)โ reads used field names from the journal ๐sd_journal_restart_unique(3)โ reads unique data fields from the journal โป๏ธSD_JOURNAL_RUNTIME_ONLY(3)โ opens the system journal for reading โกsd_journal_seek_cursor(3)โ seeks to a position in the journal ๐งญsd_journal_seek_head(3)โ seeks to a position in the journal ๐sd_journal_seek_monotonic_usec(3)โ seeks to a position in the journal โฑ๏ธsd_journal_seek_realtime_usec(3)โ seeks to a position in the journal ๐sd_journal_seek_tail(3)โ seeks to a position in the journal ๐sd_journal_send(3)โ submits log entries to the journal ๐ฎsd_journal_send_with_location(3)โ submits log entries to the journal ๐งทsd_journal_sendv(3)โ submits log entries to the journal ๐คsd_journal_sendv_with_location(3)โ submits log entries to the journal ๐ท๏ธsd_journal_set_data_threshold(3)โ reads data fields from the current journal entry ๐sd_journal_step_one(3)โ advances or sets back the read pointer in the journal ๐ฃsd_journal_stream_fd(3)โ creates a log stream file descriptor to the journal ๐sd_journal_stream_fd_with_namespace(3)โ creates a log stream file descriptor to the journal ๐SD_JOURNAL_SUPPRESS_LOCATION(3)โ submits log entries to the journal ๐คซSD_JOURNAL_SYSTEM(3)โ opens the system journal for reading ๐ฅ๏ธSD_JOURNAL_TAKE_DIRECTORY_FD(3)โ opens the system journal for reading ๐ฅsd_journal_test_cursor(3)โ gets a cursor string for the current journal entry, or tests a cursor string against it ๐งชsd_journal_wait(3)โ journal change notification interface โธ๏ธ
last stretch of this part, and it's the JSON dispatch girlies ๐ every single one of them decodes JSON variant values and writes them to the specified memory, no cap
sd_json_dispatch_const_string(3)โ decodes JSON variant values and writes them to the specified memory ๐ชขsd_json_dispatch_double(3)โ decodes JSON variant values and writes them to the specified memory ๐ฌsd_json_dispatch_id128(3)โ decodes JSON variant values and writes them to the specified memory ๐sd_json_dispatch_int16(3)โ decodes JSON variant values and writes them to the specified memorysd_json_dispatch_int32(3)โ decodes JSON variant values and writes them to the specified memorysd_json_dispatch_int64(3)โ decodes JSON variant values and writes them to the specified memorysd_json_dispatch_int8(3)โ decodes JSON variant values and writes them to the specified memorysd_json_dispatch_intbool(3)โ decodes JSON variant values and writes them to the specified memory ๐๏ธsd_json_dispatch_signal(3)โ decodes JSON variant values and writes them to the specified memory ๐ฆsd_json_dispatch_stdbool(3)โ decodes JSON variant values and writes them to the specified memory โsd_json_dispatch_string(3)โ decodes JSON variant values and writes them to the specified memory ๐งถsd_json_dispatch_strv(3)โ decodes JSON variant values and writes them to the specified memory ๐ชsd_json_dispatch_tristate(3)โ decodes JSON variant values and writes them to the specified memory ๐๏ธsd_json_dispatch_uid_gid(3)โ decodes JSON variant values and writes them to the specified memory ๐คsd_json_dispatch_uint16(3)โ decodes JSON variant values and writes them to the specified memory ๐ฆ
and there's more dispatch coming, do not move bestie ๐
sd_json_dispatch_uint32(3), sd_json_dispatch_uint64(3), sd_json_dispatch_uint8(3), sd_json_dispatch_unsupported(3), sd_json_dispatch_variant(3), sd_json_dispatch_variant_noref(3) โ decode JSON variant values and write them to the memory you specified ๐
Six little dispatch besties, all sharing that exact one-liner. Three of them are just width-flavoured (uint8, uint32, uint64), one is the unsupported one being honest about itself, and two are the variant girlies (one with _noref because sometimes you don't want the ref, iykyk). Decode in, memory out. That's the whole vibe.
sd_json_parse(3),sd_json_parse_continue(3),SD_JSON_PARSE_DONATE_FD(3),sd_json_parse_fd(3),sd_json_parse_file(3),sd_json_parse_file_at(3),SD_JSON_PARSE_MUST_BE_ARRAY(3),SD_JSON_PARSE_MUST_BE_OBJECT(3),SD_JSON_PARSE_REOPEN_FD(3),SD_JSON_PARSE_SEEK0(3),SD_JSON_PARSE_SENSITIVE(3),sd_json_parse_with_source(3),sd_json_parse_with_source_continue(3)โ parse JSON strings and files into JSON variant objects ๐งโจ
The whole parse squad. Strings, files, file descriptors, _at variants, _continue variants for when you're picking up where you left off, _with_source variants for when you want the receipts, plus a lil bouquet of SD_JSON_PARSE_* flags โ DONATE_FD, MUST_BE_ARRAY, MUST_BE_OBJECT, REOPEN_FD, SEEK0, SENSITIVE. Yes bestie, SENSITIVE is right there in the index. All thirteen share one description: parse JSON into JSON variant objects.
sd_listen_fds(3),SD_LISTEN_FDS_START(3),sd_listen_fds_with_names(3)โ check for file descriptors passed by the system manager ๐ฅ
Socket activation core. The system manager hands you fds, you go check for them. SD_LISTEN_FDS_START is in there wearing all caps like it owns the place โ and honestly it kind of does.
sd_login_monitor(3),sd_login_monitor_flush(3),sd_login_monitor_get_events(3),sd_login_monitor_get_fd(3),sd_login_monitor_get_timeout(3),sd_login_monitor_new(3),sd_login_monitor_unref(3),sd_login_monitor_unrefp(3)โ monitor login sessions, seats, users and virtual machines/containers ๐ฆ
Eight entries, one job: watch all the login things. Make one, ask it for its fd, ask it what events it's got, ask it how long to wait, flush it, then unref it (_unrefp for the pointer-to-pointer girlies who like their cleanup automatic ๐
).
sd_machine_get_class(3),sd_machine_get_ifindices(3)โ determine the class and network interface indices of a locally running virtual machine or container ๐
Two functions, and they're the "wait, what even is this thing running in" detectives. Class and ifindices. Periodt.
SD_NOTICE(3)โ APIs for new-style daemons ๐ฃ
Shoutout to the all-caps girl. SD_NOTICE(3) is filed under APIs for new-style daemons, so jot that down.
sd_notify(3),sd_notify_barrier(3),sd_notifyf(3)โ notify service manager about start-up completion and other service status changes ๐ซ
The classic trio. Tell the service manager you're up, tell it what's going on, and use the f flavour when you want that printf-style formatting. sd_notify_barrier(3) is the "wait, make sure that landed" one.
sd_path_lookup(3),sd_path_lookup_strv(3)โ query well-known file system paths ๐
"Where does systemd think config lives again?" These two. One gives you a path, one gives you a strv, because of course there's a strv version, it's systemd.
sd_peer_get_cgroup(3),sd_peer_get_machine_name(3),sd_peer_get_owner_uid(3),sd_peer_get_session(3),sd_peer_get_slice(3),sd_peer_get_unit(3),sd_peer_get_user_slice(3),sd_peer_get_user_unit(3)โ determine the owner uid of the user unit or session, or the session, user unit, system unit, container/VM or slice that a specific PID or socket peer belongs to ๐
The socket-peer interrogation crew. cgroup, machine name, owner uid, session, slice, unit, user slice, user unit โ eight questions, all about the same peer, all with that same gloriously long description. If you've ever wondered which slice is this socket even in, this is your girlies.
sd_pid_get_cgroup(3),sd_pid_get_machine_name(3),sd_pid_get_owner_uid(3),sd_pid_get_session(3),sd_pid_get_slice(3),sd_pid_get_unit(3),sd_pid_get_user_slice(3),sd_pid_get_user_unit(3)โ determine the owner uid of the user unit or session, or the session, user unit, system unit, container/VM or slice that a specific PID or socket peer belongs to ๐ต๏ธโโ๏ธ
Same eight questions, but you hand it a PID instead of a peer. Same description word for word, same energy, different door. You give it a PID, it tells you who that process actually belongs to.
sd_pid_notify(3),sd_pid_notify_barrier(3),sd_pid_notify_with_fds(3),sd_pid_notifyf(3),sd_pid_notifyf_with_fds(3)โ notify service manager about start-up completion and other service status changes ๐
The sd_notify family, but you get to say which PID you're notifying. Five of them: plain, _barrier, _with_fds, the f one, and the chaotic overachiever sd_pid_notifyf_with_fds(3) which is the f one and the fds one at the same time. She ate. ๐
sd_pidfd_get_cgroup(3),sd_pidfd_get_machine_name(3),sd_pidfd_get_owner_uid(3),sd_pidfd_get_session(3),sd_pidfd_get_slice(3),sd_pidfd_get_unit(3),sd_pidfd_get_user_slice(3),sd_pidfd_get_user_unit(3)โ determine the owner uid of the user unit or session, or the session, user unit, system unit, container/VM or slice that a specific PID or socket peer belongs to ๐
Round three of the same description, this time via PIDFD. cgroup, machine name, owner uid, session, slice, unit, user slice, user unit โ the full set, just with a pidfd in your hand instead of a pid.
sd_pidfd_get_inode_id(3)โ acquire the 64-bit inode ID of a PID file descriptor (PIDFD) โญ
Not the same description as her sisters! She's her own thing: hand her a PIDFD, get back the 64-bit inode ID. Sixty-four bits, no cap.
sd_seat_can_graphical(3),sd_seat_can_tty(3),sd_seat_get_active(3),sd_seat_get_sessions(3)โ determine state of a specific seat ๐ช
Seat check-in time. Can it do graphical? Can it do tty? Who's active on it? Who's on it at all? Four questions about one seat.
sd_session_get_class(3),sd_session_get_desktop(3),sd_session_get_display(3),sd_session_get_extra_device_access(3),sd_session_get_leader(3),sd_session_get_remote_host(3),sd_session_get_remote_user(3),sd_session_get_seat(3),sd_session_get_service(3),sd_session_get_start_time(3),sd_session_get_state(3),sd_session_get_tty(3),sd_session_get_type(3),sd_session_get_uid(3),sd_session_get_username(3),sd_session_get_vt(3),sd_session_is_active(3),sd_session_is_remote(3)โ determine state of a specific session ๐ธ
Eighteen entries, all wearing the same description, all asking one session a different nosy question. class, desktop, display, extra device access, leader, remote host, remote user, seat, service, start time, state, tty, type, uid, username, vt โ and then the two yes/no girlies, sd_session_is_active(3) and sd_session_is_remote(3). Pick your question, get your answer.
sd_uid_get_display(3),sd_uid_get_login_time(3),sd_uid_get_seats(3),sd_uid_get_sessions(3),sd_uid_get_state(3),sd_uid_is_on_seat(3)โ determine login state of a specific Unix user ID ๐ซถ
Same treatment but for a UID instead of a session. Which display, when did they log in, which seats, which sessions, what state โ and the cute little sd_uid_is_on_seat(3) for a straight yes/no on "are they sitting there or not". Six ways to check up on one Unix user ID.
sd_varlink_bind_upgrade(3)โ reply to a Varlink method call and take over the connection for a raw protocol ๐
Last one and she's a whole mood: you answer a Varlink method call, then yoink the connection and go raw protocol on it. Absolute main character energy, fr fr. ๐
okay bestie we are still deep in the S's and honestly it's giving encyclopedia core ๐ญ but every single one of these slays in its own way, so let's keep it moving โ no cap, nothing skipped ๐
sd_varlink_call_and_upgrade(3)โ Invoke a Varlink method, and then take over the connection for a raw protocol ๐ฅsd_varlink_call_and_upgradeb(3)โ Invoke a Varlink method, and then take over the connection for a raw protocol ๐ฆsd_varlink_call_and_upgradebo(3)โ Invoke a Varlink method, and then take over the connection for a raw protocol โจsd_varlink_connect_address(3)โ Make a Varlink connection object and connect it to a service ๐ธsd_varlink_connect_exec(3)โ Make a Varlink connection object and connect it to a service ๐ซถsd_varlink_connect_fd(3)โ Make a Varlink connection object and connect it to a service ๐sd_varlink_connect_fd_pair(3)โ Make a Varlink connection object and connect it to a service ๐sd_varlink_connect_url(3)โ Make a Varlink connection object and connect it to a service ๐sd_varlink_get_description(3)โ Set or query the description of a Varlink connection object ๐sd_varlink_is_connected(3)โ Query whether a Varlink connection object is currently connected or idle ๐sd_varlink_is_idle(3)โ Query whether a Varlink connection object is currently connected or idle ๐งsd_varlink_push_dup_fd(3)โ Submit a file descriptor to send along with the next outgoing Varlink message ๐sd_varlink_push_fd(3)โ Submit a file descriptor to send along with the next outgoing Varlink message ๐ซsd_varlink_reply_and_upgrade(3)โ Reply to a Varlink method call, then take over the connection for a raw protocol ๐ฅsd_varlink_respond_and_upgrade(3)โ Reply to a Varlink method call, then take over the connection for a raw protocol ๐sd_varlink_respond_and_upgradeb(3)โ Reply to a Varlink method call, then take over the connection for a raw protocol ๐sd_varlink_respond_and_upgradebo(3)โ Reply to a Varlink method call, then take over the connection for a raw protocol ๐ฆsd_varlink_send(3)โ Enqueues a Varlink method call and does not expect a reply ๐จsd_varlink_sendb(3)โ Enqueues a Varlink method call and does not expect a reply ๐ฌsd_varlink_sendbo(3)โ Enqueues a Varlink method call and does not expect a reply ๐ญsd_varlink_server_listen_address(3)โ Bind a Varlink server object to listening sockets ๐งsd_varlink_server_listen_auto(3)โ Bind a Varlink server object to listening sockets ๐ชsd_varlink_server_listen_fd(3)โ Bind a Varlink server object to listening sockets ๐sd_varlink_server_listen_name(3)โ Bind a Varlink server object to listening sockets ๐ท๏ธsd_varlink_server_new(3)โ Allocate a Varlink server object ๐ฃsd_varlink_set_description(3)โ Set or query the description of a Varlink connection object โ๏ธsd_varlink_set_relative_timeout(3)โ Set the method call time-out โณsd_varlink_upgrade_t(3)โ Reply to a Varlink method call, then take over the connection for a raw protocol ๐SD_WARNING(3)โ APIs for new-style daemons โ ๏ธsd_watchdog_enabled(3)โ Check whether the service manager expects watchdog keep-alive notifications from a service ๐shutdown(8)โ Halt, power off, or reboot the machine ๐sleep.conf.d(5)โ Suspend and hibernation configuration file ๐ดsmbios-type-11(7)โ SMBIOS Type 11 strings ๐ท๏ธstoragectl(1)โ Enumerate and mount storage volumes provided by storage providers ๐พsysctl.d(5)โ Configure kernel parameters at boot โ๏ธsysext.conf(5)โ Configuration files forsystemd-sysext๐งฉsysext.conf.d(5)โ Configuration files forsystemd-sysext๐งฉsystem.conf.d(5)โ System and session service manager configuration files ๐๏ธsystemctl(1)โ Control the systemd system and service manager ๐systemd(1)โ systemd system and service manager ๐systemd-ac-power(1)โ Report whether we are connected to an external power source ๐systemd-analyze(1)โ Analyze and debug the system manager ๐systemd-ask-password(1)โ Query the user for a system password ๐systemd-ask-password-console.path(8)โ Query the user for system passwords on the console and via wall ๐ขsystemd-ask-password-console.service(8)โ Query the user for system passwords on the console and via wall ๐ขsystemd-ask-password-wall.path(8)โ Query the user for system passwords on the console and via wall ๐ขsystemd-ask-password-wall.service(8)โ Query the user for system passwords on the console and via wall ๐ขsystemd-backlight(8)โ Load and save the display backlight brightness at boot and shutdown ๐กsystemd-backlight@.service(8)โ Load and save the display backlight brightness at boot and shutdown ๐กsystemd-battery-check(8)โ Check the battery level for whether there's enough charge, and power off if not ๐ชซsystemd-battery-check.service(8)โ Check the battery level for whether there's enough charge, and power off if not ๐ชซsystemd-binfmt(8)โ Configure additional binary formats for executables at boot ๐งฌsystemd-binfmt.service(8)โ Configure additional binary formats for executables at boot ๐งฌsystemd-bless-boot(8)โ Mark the current boot process as successful โsystemd-bless-boot-generator(8)โ Pullsystemd-bless-boot.serviceinto the initial boot transaction when boot counting is in effect ๐ฃsystemd-bless-boot.service(8)โ Mark the current boot process as successful โsystemd-boot(7)โ A simple UEFI boot manager ๐ฅพsystemd-boot-check-no-failures(8)โ verify that the system booted up cleanly ๐งผsystemd-boot-check-no-failures.service(8)โ verify that the system booted up cleanly ๐งผsystemd-boot-clear-sysfail.service(8)โ ClearLoaderEntrySysFailentry ๐งนsystemd-boot-random-seed.service(8)โ Refresh boot loader random seed at boot ๐ฒsystemd-bsod(8)โ Display boot-time emergency log message in full screen ๐systemd-bsod.service(8)โ Display boot-time emergency log message in full screen ๐systemd-cat(1)โ Connect a pipeline or program's output with the journal ๐systemd-cgls(1)โ Recursively show control group contents ๐ณsystemd-cgtop(1)โ Show top control groups by their resource usage ๐systemd-clonesetup(8)โ Set up and tear down dm-clone devices ๐งฌsystemd-clonesetup-generator(8)โ Unit generator for/etc/clonetab๐systemd-clonesetup@.service(8)โ Set up and tear down dm-clone devices ๐งฌsystemd-confext(8)โ Activates System Extension Images ๐งฉsystemd-confext-initrd.service(8)โ Activates System Extension Images ๐งฉsystemd-confext-sysroot.service(8)โ Activates System Extension Images ๐งฉsystemd-confext.service(8)โ Activates System Extension Images ๐งฉsystemd-coredump(8)โ Acquire, save and process core dumps ๐ฅsystemd-coredump-register.service(8)โ Acquire, save and process core dumps ๐ฅsystemd-coredump.socket(8)โ Acquire, save and process core dumps ๐ฅsystemd-coredump@.service(8)โ Acquire, save and process core dumps ๐ฅsystemd-coredumpd.service(8)โ Acquire, save and process core dumps ๐ฅsystemd-creds(1)โ Lists, shows, encrypts and decrypts service credentials ๐๏ธsystemd-cryptenroll(1)โ Enroll PKCS#11, FIDO2, TPM2 token/devices to LUKS2 encrypted volumes ๐systemd-cryptsetup(8)โ Full disk decryption logic ๐systemd-cryptsetup-generator(8)โ Unit generator for/etc/crypttab๐systemd-cryptsetup@.service(8)โ Full disk decryption logic ๐systemd-debug-generator(8)โ Generator for enabling a runtime debug shell and masking specific units at boot ๐systemd-delta(1)โ Find overridden configuration files ๐systemd-detect-virt(1)โ Detect execution in a virtualized environment ๐ต๏ธsystemd-dissect(1)โ Dissect Discoverable Disk Images (DDIs) ๐ชsystemd-environment-d-generator(8)โ Load variables specified byenvironment.d๐ฑsystemd-escape(1)โ Escape strings for usage in systemd unit names ๐systemd-factory-reset(8)โ Request or complete a factory reset operation, or query the current factory reset mode ๐ญsystemd-factory-reset-complete.service(8)โ Request or complete a factory reset operation, or query the current factory reset mode ๐ญsystemd-factory-reset-generator(8)โ Pullfactory-reset-now.targetinto the initial boot transaction when factory reset has been requested ๐ฃsystemd-factory-reset-request.service(8)โ Request or complete a factory reset operation, or query the current factory reset mode ๐ญsystemd-factory-reset.socket(8)โ Request or complete a factory reset operation, or query the current factory reset mode ๐ญsystemd-factory-reset@.service(8)โ Request or complete a factory reset operation, or query the current factory reset mode ๐ญsystemd-firstboot(1)โ Initialize basic system settings on or before the first boot-up of a system ๐ฃsystemd-firstboot.service(1)โ Initialize basic system settings on or before the first boot-up of a system ๐ฃsystemd-fsck(8)โ File system checker logic ๐ฉบsystemd-fsck-root.service(8)โ File system checker logic ๐ฉบsystemd-fsck-usr.service(8)โ File system checker logic ๐ฉบsystemd-fsck@.service(8)โ File system checker logic ๐ฉบsystemd-fstab-generator(8)โ Unit generator for/etc/fstab๐systemd-getty-generator(8)โ Generator for enabling getty instances on the console ๐ฅ๏ธsystemd-gpt-auto-generator(8)โ Generator for automatically discovering and mounting root,/home/,/srv/,/var/and/var/tmp/partitions, as well as discovering and enabling swap partitions, based on GPT partition type GUIDs ๐งญsystemd-growfs(8)โ Creating and growing file systems on demand ๐ฑsystemd-growfs-root.service(8)โ Creating and growing file systems on demand ๐ฑsystemd-growfs@.service(8)โ Creating and growing file systems on demand ๐ฑsystemd-halt.service(8)โ System shutdown logic ๐systemd-hibernate-clear.service(8)โ Resume from hibernation ๐ปsystemd-hibernate-resume(8)โ Resume from hibernation ๐ปsystemd-hibernate-resume-generator(8)โ Unit generator forresume=kernel parameter ๐systemd-hibernate-resume.service(8)โ Resume from hibernation ๐ปsystemd-hibernate.service(8)โ System sleep state logic ๐ดsystemd-homed(8)โ Home Area/User Account Manager ๐systemd-homed-firstboot.service(1)โ Create, remove, change or inspect home directories ๐systemd-homed.service(8)โ Home Area/User Account Manager ๐systemd-hostnamed(8)โ Daemon to control system hostname from programs ๐ท๏ธsystemd-hostnamed.service(8)โ Daemon to control system hostname from programs ๐ท๏ธsystemd-hwdb(8)โ hardware database management tool ๐๏ธsystemd-hybrid-sleep.service(8)โ System sleep state logic ๐ดsystemd-id128(1)โ Generate and print sd-128 identifiers ๐ขsystemd-imds(1)โ Cloud IMDS (Instance Metadata Service) tool โ๏ธsystemd-imds-generator(8)โ Generator to automatically enable IMDS on supporting environments ๐ฃsystemd-imds-import.service(1)โ Cloud IMDS (Instance Metadata Service) tool โ๏ธsystemd-imdsd(8)โ Cloud IMDS (Instance Metadata Service) client โ๏ธsystemd-imdsd-early-network.service(8)โ Cloud IMDS (Instance Metadata Service) client โ๏ธsystemd-imdsd.socket(8)โ Cloud IMDS (Instance Metadata Service) client โ๏ธsystemd-imdsd@.service(8)โ Cloud IMDS (Instance Metadata Service) client โ๏ธsystemd-import-generator(8)โ Generator for automatically downloading disk images at boot ๐ฅ
and that's the tea for this stretch bestie, we are so close to the end of the S's ๐ซถ
systemd-importd(8)โ VM and container image import and export service ๐ the one that handles getting images in and outsystemd-importd.service(8)โ same service, same import/export gig for VM and container images, just the unit that runs itsystemd-inhibit(1)โ run a program while holding an inhibition lock, so stuff like sleep or shutdown gets told to chill ๐systemd-integritysetup(8)โ the disk integrity protection logic, protecting your block devices with integrity checkssystemd-integritysetup-generator(8)โ the unit generator that sets up units for integrity protected block devices โจsystemd-integritysetup@.service(8)โ the templated unit doing the disk integrity protection logic thing ๐systemd-journal-gatewayd(8)โ an HTTP server that serves up journal events, yep it really does thatsystemd-journal-gatewayd.service(8)โ the service form of that HTTP server for journal events ๐ธsystemd-journal-gatewayd.socket(8)โ and the socket form of the same HTTP server for journal events, so it can be socket-activated ๐งsystemd-journal-remote(8)โ receives journal messages coming in over the network ๐ฅsystemd-journal-remote.service(8)โ the service that receives journal messages over the networksystemd-journal-remote.socket(8)โ the socket for receiving journal messages over the network ๐systemd-journal-upload(8)โ sends journal messages out over the network ๐คsystemd-journal-upload.service(8)โ the service that sends journal messages over the networksystemd-journald(8)โ the Journal service itself, the icon, the main character of logs ๐systemd-journald-audit.socket(8)โ Journal service, socket flavour, the audit onesystemd-journald-dev-log.socket(8)โ Journal service again, this time the dev-log socketsystemd-journald-varlink@.socket(8)โ Journal service, varlink socket, templated ๐ซsystemd-journald.service(8)โ Journal service, the plain service unitsystemd-journald.socket(8)โ Journal service, the socket unitsystemd-journald@.service(8)โ Journal service, templated service unitsystemd-journald@.socket(8)โ Journal service, templated socket unit, that's the whole set bestiesystemd-kexec.service(8)โ System shutdown logic ๐ the kexec-flavoured onesystemd-keyutil(1)โ does various operations on private keys and X.509 certificates ๐ so many operationssystemd-localed(8)โ the Locale bus mechanism, handling your locale business over the bussystemd-localed.service(8)โ the Locale bus mechanism, as a servicesystemd-logind(8)โ Login manager, managing logins, sessions, the whole vibe ๐ซถsystemd-logind.service(8)โ the Login manager as a service unitsystemd-loop@.service(8)โ attaches a loopback block device ๐ templated and readysystemd-machine-id-commit.service(8)โ commits a transient machine ID to disk, making it permanent fr frsystemd-machine-id-setup(1)โ initializes the machine ID in/etc/machine-id๐systemd-machine-tag@.service(8)โ adds a machine tag to the host ๐ท๏ธsystemd-machined(8)โ Virtual machine and container registration manager, keeps track of all your VMs and containerssystemd-machined.service(8)โ the Virtual machine and container registration manager, service editionsystemd-makefs(8)โ creating and growing file systems on demand ๐ฑsystemd-makefs@.service(8)โ creating and growing file systems on demand, templated unit stylesystemd-measure(1)โ pre-calculates and signs expected TPM2 PCR 11 values for booted unified kernel images ๐ very TPM, very measuredsystemd-mkswap@.service(8)โ creating and growing file systems on demand, the swap-flavoured templated unitsystemd-modules-load(8)โ loads kernel modules at boot ๐งฉsystemd-modules-load.service(8)โ the service that loads kernel modules at bootsystemd-mount(1)โ establishes and destroys transient mount or auto-mount points, on the fly ๐systemd-mountfsd(8)โ Disk Image File System Mount Service, mounting disk image file systemssystemd-mountfsd.service(8)โ the Disk Image File System Mount Service as a unitsystemd-mstack(1)โ Mstack Discoverable Disk Images (DDIs) ๐ผ๏ธsystemd-mute-console(1)โ temporarily mutes kernel log output and service manager status output to the system console ๐คซsystemd-mute-console.socket(1)โ the socket for temporarily muting kernel log output and service manager status output to the system consolesystemd-mute-console@.service(1)โ the templated service that temporarily mutes kernel log output and service manager status output to the system console ๐systemd-network-generator(8)โ generates network configuration from the kernel command line โกsystemd-network-generator.service(8)โ the service generating network configuration from the kernel command linesystemd-networkd(8)โ Network manager, the network girlie ๐systemd-networkd-wait-online(8)โ waits for the network to come online, patiently, dramatically โณsystemd-networkd-wait-online.service(8)โ the service that waits for the network to come onlinesystemd-networkd-wait-online@.service(8)โ the templated service that waits for the network to come onlinesystemd-networkd.service(8)โ the Network manager, service unit versionsystemd-notify(1)โ notifies the service manager about start-up completion and other daemon status changes ๐ฃsystemd-nspawn(1)โ spawns a command or OS in a lightweight container ๐ฅ iconic behavioursystemd-nsresourced(8)โ User Namespace Resource Delegation Servicesystemd-nsresourced.service(8)โ the User Namespace Resource Delegation Service as a unitsystemd-oomd(8)โ a userspace out-of-memory (OOM) killer ๐ it will end things, bestiesystemd-oomd.service(8)โ the userspace out-of-memory (OOM) killer, service editionsystemd-path(1)โ lists and queries system and user paths ๐บ๏ธsystemd-pcrextend(8)โ measures boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs ๐systemd-pcrfs-root.service(8)โ same mission: boot phases, machine ID, product UUID, user records and file system identity measured into TPM PCRs and NvPCRs, root flavoursystemd-pcrfs@.service(8)โ measuring boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, templated โจsystemd-pcrlock(8)โ analyzes and predicts TPM2 PCR states and generates an access policy from the prediction ๐ฎsystemd-pcrlock-file-system.service(8)โ analyzes and predicts TPM2 PCR states and generates an access policy from the prediction, file system editionsystemd-pcrlock-firmware-code.service(8)โ same analyze-and-predict TPM2 PCR states deal, generating an access policy from the prediction, firmware code stylesystemd-pcrlock-firmware-config.service(8)โ analyzing and predicting TPM2 PCR states and generating an access policy from the prediction, firmware config branchsystemd-pcrlock-machine-id.service(8)โ predicting TPM2 PCR states and generating an access policy from the prediction, machine ID vibessystemd-pcrlock-make-policy.service(8)โ the analyze TPM2 PCR states, predict them, generate an access policy from the prediction one, policy-making variant ๐systemd-pcrlock-secureboot-authority.service(8)โ analyzes and predicts TPM2 PCR states, generates an access policy from the prediction, secureboot authority flavoursystemd-pcrlock-secureboot-policy.service(8)โ same TPM2 PCR state analysis and prediction, same access policy generation from it, secureboot policy editionsystemd-pcrlogin@.service(8)โ measures boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, login templated ๐งsystemd-pcrmachine.service(8)โ measuring boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, machine stylesystemd-pcrnvdone.service(8)โ the boot phases / machine ID / product UUID / user records / file system identity into TPM PCRs and NvPCRs measurement, nvdone editionsystemd-pcrosseparator.service(8)โ measuring boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, the separator one ๐systemd-pcrphase-factory-reset.service(8)โ measures boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, factory reset phasesystemd-pcrphase-initrd.service(8)โ boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, initrd phase ๐ฑsystemd-pcrphase-storage-target-mode.service(8)โ the same boot phase / machine ID / product UUID / user records / file system identity measurement into TPM PCRs and NvPCRs, storage target mode phasesystemd-pcrphase-sysinit.service(8)โ measuring boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, sysinit phasesystemd-pcrphase.service(8)โ measures boot phases, machine ID, product UUID, user records and file system identity into TPM PCRs and NvPCRs, the plain onesystemd-pcrproduct.service(8)โ boot phases, machine ID, product UUID, user records and file system identity measured into TPM PCRs and NvPCRs, product edition โญsystemd-portabled(8)โ Portable service manager ๐systemd-portabled.service(8)โ the Portable service manager, as a unitsystemd-poweroff.service(8)โ System shutdown logic, the poweroff one ๐systemd-pstore(8)โ a service to archive contents of pstore ๐ฆsystemd-pstore.service(8)โ the service that archives contents of pstoresystemd-pty-forward(1)โ runs a command with a custom terminal background color or title ๐จsystemd-quotacheck(8)โ File system quota checker logicsystemd-quotacheck-root.service(8)โ the File system quota checker logic, root editionsystemd-quotacheck@.service(8)โ File system quota checker logic, templated โจsystemd-random-seed(8)โ loads and saves the OS system random seed at boot and shutdown ๐ฒsystemd-random-seed.service(8)โ the service that loads and saves the OS system random seed at boot and shutdownsystemd-reboot.service(8)โ System shutdown logic, reboot flavour ๐systemd-remount-fs(8)โ remounts root and kernel file systems ๐systemd-remount-fs.service(8)โ the service that remounts root and kernel file systemssystemd-repart(8)โ automatically grows and adds partitions, and generates disk images (DDIs) ๐systemd-repart.service(8)โ the service that automatically grows and adds partitions and generates disk images (DDIs)systemd-report(1)โ generates a report of system metrics ๐systemd-report-files(8)โ reports the contents of files as system report metrics ๐systemd-report-files.socket(8)โ the socket reporting the contents of files as system report metricssystemd-report-files@.service(8)โ the templated service reporting the contents of files as system report metricssystemd-report-sign-plain(8)โ signs system reports with a local software key โ๏ธsystemd-report-sign-plain.socket(8)โ the socket that signs system reports with a local software keysystemd-report-sign-plain@.service(8)โ the templated service signing system reports with a local software keysystemd-report-sign-tpm2(8)โ signs system reports with a set of signed TPM2 attestations ๐systemd-report-sign-tpm2.socket(8)โ the socket signing system reports with a set of signed TPM2 attestationssystemd-report-sign-tpm2@.service(8)โ the templated service signing system reports with a set of signed TPM2 attestationssystemd-report-sign-tsm(8)โ signs system reports with a confidential-computing attestation report ๐คซ very confidential, very computingsystemd-report-sign-tsm.socket(8)โ the socket signing system reports with a confidential-computing attestation reportsystemd-report-sign-tsm@.service(8)โ the templated service signing system reports with a confidential-computing attestation reportsystemd-resolved(8)โ Network Name Resolution manager, resolving names like a queen ๐systemd-resolved.service(8)โ the Network Name Resolution manager as a unitsystemd-rfkill(8)โ loads and saves the RF kill switch state at boot and change ๐กsystemd-rfkill.service(8)โ the service that loads and saves the RF kill switch state at boot and changesystemd-rfkill.socket(8)โ the socket for loading and saving the RF kill switch state at boot and changesystemd-run(1)โ runs programs in transient scope units, service units, or path-, socket-, or timer-triggered service units ๐systemd-run-generator(8)โ a generator for invoking commands specified on the kernel command line as system servicesystemd-sbsign(1)โ signs PE binaries for EFI Secure Boot โ๏ธsystemd-shutdown(8)โ System shutdown logic ๐systemd-sleep(8)โ System sleep state logic ๐ดsystemd-sleep.conf(5)โ the suspend and hibernation configuration file ๐๏ธsystemd-socket-activate(1)โ tests socket activation of daemons ๐งชsystemd-socket-proxyd(8)โ bidirectionally proxies local sockets to another (possibly remote) socket โ๏ธsystemd-soft-reboot.service(8)โ Userspace reboot operation ๐systemd-ssh-generator(8)โ A generator that binds a socket-activated SSH server to localAF_VSOCKandAF_UNIXsockets. It's literally the matchmaker for SSH and those socket types. ๐systemd-ssh-issue(1)โ A generator for SSH login prompt drop-ins. So you can customize that login vibe. ๐systemd-ssh-proxy(1)โ An SSH client plugin for connecting toAF_VSOCKandAF_UNIXsockets. Bestie, it's the plug that lets SSH talk to those sockets. ๐ฆsystemd-stdio-bridge(1)โ A D-Bus proxy. Simple as that, it bridges stdio to D-Bus. โจsystemd-storage-block(8)โ A storage provider that exposes local block devices as storage volumes. It's giving "your block devices are now volumes" energy. ๐systemd-storage-block.socket(8)โ Same thing: a storage provider exposing local block devices as storage volumes. Socket-activated version, slay. ๐ฅsystemd-storage-block@.service(8)โ Again, a storage provider exposing local block devices as storage volumes. This one's the template service. ๐systemd-storage-fs(8)โ A storage provider that exposes regular files and directories as storage volumes. Files and dirs, but make them volumes. ๐systemd-storage-fs.socket(8)โ Storage provider exposing regular files and directories as storage volumes. Socket version, periodt. ๐systemd-storage-fs@.service(8)โ Storage provider exposing regular files and directories as storage volumes. Template service, iykyk. ๐งsystemd-storagetm(8)โ Exposes all local block devices as NVMe-TCP mass storage devices. It's turning your blocks into networked NVMe-TCP storage. Wild. ๐systemd-storagetm.service(8)โ Exposes all local block devices as NVMe-TCP mass storage devices. The service unit for that. ๐ซถsystemd-stub(7)โ A simple UEFI kernel boot stub. It's the little boot stub that could. ๐ธsystemd-suspend-then-hibernate.service(8)โ System sleep state logic. For when you want suspend then hibernate. ๐ดsystemd-suspend.service(8)โ System sleep state logic. Just suspend, bestie. ๐คsystemd-sysctl(8)โ Configure kernel parameters at boot. It sets yoursysctlstuff early. โ๏ธsystemd-sysctl.service(8)โ Configure kernel parameters at boot. The service that does it. โจsystemd-sysext(8)โ Activates System Extension Images. It's the thing that turns on those extension images. ๐ฆsystemd-sysext-initrd.service(8)โ Activates System Extension Images. Initrd flavor. ๐systemd-sysext-sysroot.service(8)โ Activates System Extension Images. Sysroot flavor. ๐ฅsystemd-sysext.service(8)โ Activates System Extension Images. The main service. ๐systemd-sysinstall(8)โ A simple OS installer. It installs an OS, simple as. ๐systemd-sysinstall.service(8)โ A simple OS installer. The service version. ๐systemd-system-update-generator(8)โ A generator for redirecting boot to offline update mode. So you can boot into offline updates. ๐systemd-system.conf(5)โ System and session service manager configuration files. The config for the service manager. ๐systemd-sysupdate(8)โ Automatically Update OS or Other Resources. It's the auto-updater for your OS and other stuff. ๐systemd-sysupdate-auto-enable.service(8)โ Automatically Update OS or Other Resources. Auto-enable service. โจsystemd-sysupdate-reboot.service(8)โ Automatically Update OS or Other Resources. Reboot service. ๐ฆsystemd-sysupdate-reboot.timer(8)โ Automatically Update OS or Other Resources. Reboot timer. โฐsystemd-sysupdate-update.service(8)โ Automatically Update OS or Other Resources. Update service. ๐systemd-sysupdate-update.timer(8)โ Automatically Update OS or Other Resources. Update timer. โณsystemd-sysupdate.service(8)โ Automatically Update OS or Other Resources. Main service. ๐ฅsystemd-sysupdate.timer(8)โ Automatically Update OS or Other Resources. Main timer. โฒ๏ธsystemd-sysupdated(8)โ System Update Service. The daemon for system updates. ๐systemd-sysupdated.service(8)โ System Update Service. Service unit. ๐systemd-sysusers(8)โ Allocate system users and groups. It creates your system users and groups. ๐ฅsystemd-sysusers.service(8)โ Allocate system users and groups. The service. โจsystemd-time-wait-sync(8)โ Wait until kernel time is synchronized. It waits for time sync. โฐsystemd-time-wait-sync.service(8)โ Wait until kernel time is synchronized. Service unit. ๐ฆsystemd-timedated(8)โ Time and date bus mechanism. The bus mechanism for time and date. ๐systemd-timedated.service(8)โ Time and date bus mechanism. Service. ๐systemd-timesyncd(8)โ Network Time Synchronization. It syncs your time over the network. ๐systemd-timesyncd.service(8)โ Network Time Synchronization. Service. ๐ฅsystemd-tmpfiles(8)โ Create, delete, and clean up files and directories. It's the tmpfiles manager. ๐งนsystemd-tmpfiles-clean.service(8)โ Create, delete, and clean up files and directories. Clean service. ๐งผsystemd-tmpfiles-clean.timer(8)โ Create, delete, and clean up files and directories. Clean timer. โฐsystemd-tmpfiles-setup-dev-early.service(8)โ Create, delete, and clean up files and directories. Early dev setup service. ๐systemd-tmpfiles-setup-dev.service(8)โ Create, delete, and clean up files and directories. Dev setup service. โ๏ธsystemd-tmpfiles-setup.service(8)โ Create, delete, and clean up files and directories. Setup service. โจsystemd-tpm2-clear.service(8)โ Request that the TPM security chip is cleared on next boot. It asks for a TPM clear on next boot. ๐systemd-tpm2-generator(8)โ A generator for inserting TPM2 synchronization point in the boot process. It inserts a TPM2 sync point. ๐systemd-tpm2-setup(8)โ Set up the TPM2 Storage Root Key (SRK), Endorsement Key (EK), and initialize NvPCRs at boot. It sets up your TPM2 keys and NvPCRs. ๐systemd-tpm2-setup-early.service(8)โ Set up the TPM2 Storage Root Key (SRK), Endorsement Key (EK), and initialize NvPCRs at boot. Early service. ๐systemd-tpm2-setup.service(8)โ Set up the TPM2 Storage Root Key (SRK), Endorsement Key (EK), and initialize NvPCRs at boot. Main service. ๐ฅsystemd-tpm2-swtpm(8)โ Provide a fallback software TPM. It gives you a software TPM fallback. ๐ปsystemd-tpm2-swtpm.service(8)โ Provide a fallback software TPM. Service. ๐systemd-tty-ask-password-agent(1)โ List or process pending systemd password requests. It handles those password asks on the TTY. ๐systemd-udev-settle.service(8)โ Wait for all pending udev events to be handled. It waits for udev to settle. โณsystemd-udevd(8)โ Device event managing daemon. The udev daemon itself. ๐คsystemd-udevd-kernel.socket(8)โ Device event managing daemon. Kernel socket. ๐systemd-udevd-varlink.socket(8)โ Device event managing daemon. Varlink socket. ๐ฆsystemd-udevd.service(8)โ Device event managing daemon. Service. โจsystemd-umount(1)โ Establish and destroy transient mount or auto-mount points. It does transient mounts and unmounts. ๐systemd-update-done(8)โ Mark/etc/and/var/as fully updated. It marks those dirs as updated. โsystemd-update-done.service(8)โ Mark/etc/and/var/as fully updated. Service. ๐ฅsystemd-update-utmp(8)โ Write audit and utmp updates at bootup and shutdown. It writes audit and utmp updates. ๐systemd-update-utmp.service(8)โ Write audit and utmp updates at bootup and shutdown. Service. ๐systemd-user-runtime-dir(5)โ System units to start the user manager. Units for starting the user manager. ๐คsystemd-user-sessions(8)โ Permit user logins after boot, prohibit user logins at shutdown. It controls user logins. ๐systemd-user-sessions.service(8)โ Permit user logins after boot, prohibit user logins at shutdown. Service. โจsystemd-user.conf(5)โ System and session service manager configuration files. Config for the user service manager. ๐systemd-userdbd(8)โ JSON User/Group Record Query Multiplexer/NSS Compatibility. It's the userdb daemon for JSON user/group records. ๐ฅsystemd-userdbd.service(8)โ JSON User/Group Record Query Multiplexer/NSS Compatibility. Service. ๐ฅsystemd-validatefs@.service(8)โ Validate File System Mount Constraint Data. It validates filesystem mount constraints. โsystemd-vconsole-setup(8)โ Configure the virtual consoles. It sets up your virtual consoles. โจ๏ธsystemd-vconsole-setup.service(8)โ Configure the virtual consoles. Service. ๐systemd-veritysetup(8)โ Disk verity protection logic. It handles verity protection for disks. ๐ก๏ธsystemd-veritysetup-generator(8)โ A unit generator for verity protected block devices. Generator for verity-protected blocks. ๐systemd-veritysetup@.service(8)โ Disk verity protection logic. Template service. ๐ฅsystemd-vmspawn(1)โ Spawn an OS in a virtual machine. It spawns a VM. ๐ฅ๏ธsystemd-volatile-root(8)โ Make the root file system volatile. It makes root volatile. ๐ช๏ธsystemd-volatile-root.service(8)โ Make the root file system volatile. Service. โจsystemd-vpick(1)โ Resolve paths to.v/versioned directories. It resolves those versioned dir paths. ๐systemd-xdg-autostart-generator(8)โ A user unit generator for XDG autostart files. Generator for XDG autostart. ๐systemd.automount(5)โ Automount unit configuration. Config for automount units. โ๏ธsystemd.device(5)โ Device unit configuration. Config for device units. ๐systemd.directives(7)โ Index of configuration directives. An index of all the directives. ๐systemd.dns-delegate(5)โ DNS Server Delegation Configuration. Config for DNS server delegation. ๐systemd.dnssd(5)โ DNS-SD configuration. Config for DNS-SD. ๐กsystemd.environment-generator(7)โ systemd environment file generators. It's about environment file generators. ๐ฟsystemd.exec(5)โ Execution environment configuration. Config for the execution environment. ๐systemd.generator(7)โ systemd unit generators. All about unit generators. ๐งsystemd.image-filter(7)โ Disk Image Dissection Filter. Filter for disk image dissection. ๐systemd.image-policy(7)โ Disk Image Dissection Policy. Policy for disk image dissection. ๐systemd.journal-fields(7)โ Special journal fields. The special fields in the journal. ๐systemd.kill(5)โ Process killing procedure configuration. Config for how processes get killed. ๐ชsystemd.link(5)โ Network device configuration. Config for network devices. ๐systemd.mount(5)โ Mount unit configuration. Config for mount units. ๐systemd.mstack(7)โ Mount stacks in self descriptive directories. Mount stacks in self-descriptive dirs. ๐systemd.negative(5)โ DNSSEC trust anchor configuration files. Config for negative DNSSEC trust anchors. ๐systemd.net-naming-scheme(7)โ Network device naming schemes. Schemes for naming network devices. ๐ท๏ธsystemd.netdev(5)โ Virtual Network Device configuration. Config for virtual network devices. ๐งsystemd.network(5)โ Network configuration. Network config. ๐systemd.nspawn(5)โ Container settings. Settings for containers. ๐ฆsystemd.offline-updates(7)โ Implementation of offline updates in systemd. How offline updates work. ๐systemd.path(5)โ Path unit configuration. Config for path units. ๐systemd.pcrlock(5)โ PCR measurement prediction files. Files for PCR measurement prediction. ๐systemd.pcrlock.d(5)โ PCR measurement prediction files. Drop-in dir for those. ๐systemd.positive(5)โ DNSSEC trust anchor configuration files. Positive trust anchors. โsystemd.preset(5)โ Service enablement presets. Presets for enabling services. ๐๏ธsystemd.resource-control(5)โ Resource control unit settings. Settings for resource control. โ๏ธsystemd.rr(5)โ Local static DNS resource record definitions. Definitions for local static DNS records. ๐systemd.scope(5)โ Scope unit configuration. Config for scope units. ๐ญsystemd.service(5)โ Service unit configuration. Config for service units. โ๏ธsystemd.slice(5)โ Slice unit configuration. Config for slice units. ๐ฐsystemd.socket(5)โ Socket unit configuration. Config for socket units. ๐systemd.special(7)โ Special systemd units. The special units. โจsystemd.swap(5)โ Swap unit configuration. Config for swap units. ๐พsystemd.syntax(7)โ General syntax of systemd configuration files. The syntax rules for config files. ๐systemd.system-credentials(7)โ System Credentials. All about system credentials. ๐systemd.target(5)โ Target unit configuration. Config for target units. ๐ฏsystemd.time(7)โ Time and date specifications. How to specify time and date. โฐsystemd.timer(5)โ Timer unit configuration. Config for timer units. โฒ๏ธsystemd.unit(5)โ Unit configuration. The general unit config. ๐systemd.v(7)โ Directory with Versioned Resources. The.v/directory for versioned resources. ๐sysupdate.components(5)โ Definition Files for Update Components. Definition files for update components. ๐งฉsysupdate.d(5)โ Transfer Definition Files for Automatic Updates. Transfer definition files for auto-updates. ๐sysupdate.features(5)โ Definition Files for Optional Features. Definition files for optional features. โจsysusers.d(5)โ Declarative allocation of system users and groups. Declarative way to allocate users and groups. ๐ฅ
๐ธ T ๐ธ
timedatectl(1)โ Control the system time and date. It controls your time and date. ๐timesyncd.conf(5)โ Network Time Synchronization configuration files. Config for timesyncd. โฐtimesyncd.conf.d(5)โ Network Time Synchronization configuration files. Drop-in dir for timesyncd config. ๐tmpfiles.d(5)โ Configuration for creation, deletion, and cleaning of files and directories. Config for tmpfiles. ๐งน
๐ U ๐
okay bestie, deep breath, because the U section is an entire era ๐. this is the libudev zone: the big udev(7) page itself, its config files, and then every single C API function you could ever call on a device, an enumerate object, a list entry, or a monitor. buckle up, we are going alphabetically and we are not skipping one. โจ
udev(7)โ dynamic device management, the whole concept, periodtudev.conf(5)โ config for the device event managing daemonudev.conf.d(5)โ also config for the device event managing daemon ๐udev_device_get_action(3)โ you're querying device propertiesudev_device_get_current_tags_list_entry(3)โ retrieving or setting device attributesudev_device_get_devlinks_list_entry(3)โ retrieve-or-set device attributes energyudev_device_get_devnode(3)โ query device propertiesudev_device_get_devnum(3)โ query device propertiesudev_device_get_devpath(3)โ query device propertiesudev_device_get_devtype(3)โ query device propertiesudev_device_get_driver(3)โ query device propertiesudev_device_get_is_initialized(3)โ query device propertiesudev_device_get_parent(3)โ query device propertiesudev_device_get_parent_with_subsystem_devtype(3)โ query device propertiesudev_device_get_properties_list_entry(3)โ retrieve or set device attributesudev_device_get_property_value(3)โ retrieve or set device attributesudev_device_get_subsystem(3)โ query device propertiesudev_device_get_sysattr_list_entry(3)โ retrieve or set device attributesudev_device_get_sysattr_value(3)โ retrieve or set device attributesudev_device_get_sysname(3)โ query device propertiesudev_device_get_sysnum(3)โ query device propertiesudev_device_get_syspath(3)โ query device propertiesudev_device_get_tags_list_entry(3)โ retrieve or set device attributesudev_device_get_udev(3)โ query device propertiesudev_device_has_current_tag(3)โ retrieve or set device attributesudev_device_has_tag(3)โ retrieve or set device attributesudev_device_new_from_device_id(3)โ create, acquire and release a udev device object ๐ฆudev_device_new_from_devnum(3)โ create, acquire and release a udev device objectudev_device_new_from_environment(3)โ create, acquire and release a udev device objectudev_device_new_from_subsystem_sysname(3)โ create, acquire and release a udev device objectudev_device_new_from_syspath(3)โ create, acquire and release a udev device objectudev_device_ref(3)โ create, acquire and release a udev device objectudev_device_set_sysattr_value(3)โ retrieve or set device attributesudev_device_unref(3)โ create, acquire and release a udev device objectudev_enumerate_add_match_is_initialized(3)โ modify filtersudev_enumerate_add_match_parent(3)โ modify filtersudev_enumerate_add_match_property(3)โ modify filtersudev_enumerate_add_match_subsystem(3)โ modify filtersudev_enumerate_add_match_sysattr(3)โ modify filtersudev_enumerate_add_match_sysname(3)โ modify filtersudev_enumerate_add_match_tag(3)โ modify filtersudev_enumerate_add_nomatch_subsystem(3)โ modify filtersudev_enumerate_add_nomatch_sysattr(3)โ modify filtersudev_enumerate_add_syspath(3)โ query or modify a udev enumerate objectudev_enumerate_get_list_entry(3)โ query or modify a udev enumerate objectudev_enumerate_get_udev(3)โ query or modify a udev enumerate objectudev_enumerate_new(3)โ create, acquire and release a udev enumerate object ๐udev_enumerate_ref(3)โ create, acquire and release a udev enumerate objectudev_enumerate_scan_devices(3)โ query or modify a udev enumerate objectudev_enumerate_scan_subsystems(3)โ query or modify a udev enumerate objectudev_enumerate_unref(3)โ create, acquire and release a udev enumerate objectudev_list_entry(3)โ iterate and access udev listsudev_list_entry_get_by_name(3)โ iterate and access udev listsudev_list_entry_get_name(3)โ iterate and access udev listsudev_list_entry_get_next(3)โ iterate and access udev listsudev_list_entry_get_value(3)โ iterate and access udev listsudev_monitor_enable_receiving(3)โ query and modify device monitorudev_monitor_filter_add_match_subsystem_devtype(3)โ modify filtersudev_monitor_filter_add_match_tag(3)โ modify filtersudev_monitor_filter_remove(3)โ modify filtersudev_monitor_filter_update(3)โ modify filtersudev_monitor_get_fd(3)โ query and modify device monitorudev_monitor_get_udev(3)โ query and modify device monitorudev_monitor_new_from_netlink(3)โ create, acquire and release a udev monitor object ๐ธudev_monitor_receive_device(3)โ query and modify device monitorudev_monitor_ref(3)โ create, acquire and release a udev monitor objectudev_monitor_set_receive_buffer_size(3)โ query and modify device monitorudev_monitor_unref(3)โ create, acquire and release a udev monitor objectudev_new(3)โ create, acquire and release a udev context objectudev_ref(3)โ create, acquire and release a udev context objectudev_unref(3)โ create, acquire and release a udev context objectudevadm(8)โ the udev management tool, your ride-or-dieukify(1)โ combine components into a signed Unified Kernel Image for UEFI systems ๐updatectl(1)โ control the system update serviceuser-runtime-dir@.service(5)โ system units to start the user manageruser.conf.d(5)โ system and session service manager configuration filesuser@.service(5)โ system units to start the user manageruserdbctl(1)โ inspect users, groups and group memberships
ngl, that was the longest list on the whole page and you ate it. we're so close to done bestie, i promise ๐ซถ
๐ V ๐
and V is giving short and sweet, a little palate cleanser after that U marathon. three entries, all iconic:
varlinkctl(1)โ introspect with and invoke Varlink services โจvconsole.conf(5)โ configuration file for the virtual consoleveritytab(5)โ configuration for verity block devices ๐ฅ
โจ SEE ALSO โจ
the "go read more" section, and honestly it's just one friend:
systemd.directives(7)โ the big list of all the directives, so you can look up which page actually documents the thing you're mad at ๐
and then the receipts, laid out plain:
This index contains 1360 entries, referring to 466 individual manual pages.
okay so that's the whole index. 1360 entries. 466 manual pages. we did the entire alphabet, start to finish, no cap. ๐
this page is SYSTEMD.INDEX(7) and it shipped as part of systemd 262.1 โ so if your box says a different number, that's why something looks off, bestie. go forth and man responsibly. i love you, bye ๐๐ฆ๐
๐ฆ where this page comes from
- arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms