ORG.FREEDESKTOP.LOGIN1(5) org.freedesktop.login1 ORG.FREEDESKTOP.LOGIN1(5) (NAME) org.freedesktop.login1 - D-Bus systemd-logind (DESCRIPTION) systemd-logind.service(8) (seats) . C D-Bus . . . sd-login(3) . MANAGER (THE MANAGER OBJECT) Manager : node /org/freedesktop/login1 { interface org.freedesktop.login1.Manager { methods: GetSession(in s session_id, out o object_path); GetSessionByPID(in u pid, out o object_path); GetUser(in u uid, out o object_path); GetUserByPID(in u pid, out o object_path); GetSeat(in s seat_id, out o object_path); ListSessions(out a(susso) sessions); ListSessionsEx(out a(sussussbto) sessions); ListUsers(out a(uso) users); ListSeats(out a(so) seats); ListInhibitors(out a(ssssuu) inhibitors); @org.freedesktop.systemd1.Privileged("true") CreateSession(in u uid, in u pid, in s service, in s type, in s class, in s desktop, in s seat_id, in u vtnr, in s tty, in s display, in b remote, in s remote_user, in s remote_host, in a(sv) properties, out s session_id, out o object_path, out s runtime_path, out h fifo_fd, out u uid, out s seat_id, out u vtnr, out b existing); @org.freedesktop.systemd1.Privileged("true") CreateSessionWithPIDFD(in u uid, in h pidfd, in s service, in s type, in s class, in s desktop, in s seat_id, in u vtnr, in s tty, in s display, in b remote, in s remote_user, in s remote_host, in t flags, in a(sv) properties, out s session_id, out o object_path, out s runtime_path, out h fifo_fd, out u uid, out s seat_id, out u vtnr, out b existing); ReleaseSession(in s session_id); ActivateSession(in s session_id); ActivateSessionOnSeat(in s session_id, in s seat_id); LockSession(in s session_id); UnlockSession(in s session_id); LockSessions(); UnlockSessions(); KillSession(in s session_id, in s whom, in i signal_number); KillUser(in u uid, in i signal_number); TerminateSession(in s session_id); TerminateUser(in u uid); TerminateSeat(in s seat_id); SetUserLinger(in u uid, in b enable, in b interactive); AttachDevice(in s seat_id, in s sysfs_path, in b interactive); FlushDevices(in b interactive); PowerOff(in b interactive); PowerOffWithFlags(in t flags); Reboot(in b interactive); RebootWithFlags(in t flags); Halt(in b interactive); HaltWithFlags(in t flags); Suspend(in b interactive); SuspendWithFlags(in t flags); Hibernate(in b interactive); HibernateWithFlags(in t flags); HybridSleep(in b interactive); HybridSleepWithFlags(in t flags); SuspendThenHibernate(in b interactive); SuspendThenHibernateWithFlags(in t flags); Sleep(in t flags); CanPowerOff(out s result); CanReboot(out s result); CanHalt(out s result); CanSuspend(out s result); CanHibernate(out s result); CanHybridSleep(out s result); CanSuspendThenHibernate(out s result); CanSleep(out s result); ScheduleShutdown(in s type, in t usec); CancelScheduledShutdown(out b cancelled); Inhibit(in s what, in s who, in s why, in s mode, out h pipe_fd); CanRebootParameter(out s result); SetRebootParameter(in s parameter); CanRebootToFirmwareSetup(out s result); SetRebootToFirmwareSetup(in b enable); CanRebootToBootLoaderMenu(out s result); SetRebootToBootLoaderMenu(in t timeout); CanRebootToBootLoaderEntry(out s result); SetRebootToBootLoaderEntry(in s boot_loader_entry); SetWallMessage(in s wall_message, in b enable); signals: SecureAttentionKey(s seat_id, o object_path); SessionNew(s session_id, o object_path); SessionRemoved(s session_id, o object_path); UserNew(u uid, o object_path); UserRemoved(u uid, o object_path); SeatNew(s seat_id, o object_path); SeatRemoved(s seat_id, o object_path); PrepareForShutdown(b start); PrepareForShutdownWithMetadata(b start, a{sv} metadata); PrepareForSleep(b start); properties: @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @org.freedesktop.systemd1.Privileged("true") readwrite b EnableWallMessages = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") @org.freedesktop.systemd1.Privileged("true") readwrite s WallMessage = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u NAutoVTs = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly as KillOnlyUsers = ['...', ...]; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly as KillExcludeUsers = ['...', ...]; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b KillUserProcesses = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly s RebootParameter = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly b RebootToFirmwareSetup = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t RebootToBootLoaderMenu = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly s RebootToBootLoaderEntry = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly as BootLoaderEntries = ['...', ...]; readonly b IdleHint = ...; readonly t IdleSinceHint = ...; readonly t IdleSinceHintMonotonic = ...; readonly s BlockInhibited = '...'; readonly s BlockWeakInhibited = '...'; readonly s DelayInhibited = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t InhibitDelayMaxUSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t UserStopDelayUSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly as SleepOperation = ['...', ...]; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandlePowerKey = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandlePowerKeyLongPress = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleRebootKey = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleRebootKeyLongPress = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleSuspendKey = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleSuspendKeyLongPress = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleHibernateKey = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleHibernateKeyLongPress = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleLidSwitch = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleLidSwitchExternalPower = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleLidSwitchDocked = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s HandleSecureAttentionKey = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t HoldoffTimeoutUSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s IdleAction = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t IdleActionUSec = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly b PreparingForShutdown = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly a{sv} PreparingForShutdownWithMetadata = [...]; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly b PreparingForSleep = ...; readonly (st) ScheduledShutdown = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s DesignatedMaintenanceTime = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly b Docked = ...; readonly b LidClosed = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly b OnExternalPower = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b RemoveIPC = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t RuntimeDirectorySize = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t RuntimeDirectoryInodesMax = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t InhibitorsMax = ...; readonly t NCurrentInhibitors = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t SessionsMax = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly t NCurrentSessions = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t StopIdleSessionUSec = ...; }; interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Introspectable { ... }; interface org.freedesktop.DBus.Properties { ... }; }; (Methods) GetSession() . GetUser() GetSeat() (seat) . GetSessionByPID() GetUserByPID() / PID ( ) . ListSessions() . : session id ( ) user id ( ) user name ( ) seat id ( ) session object path ( ). . ListSessionsEx() ListSessions() . : session id user id user name seat id leader pid session class tty name idle hint idle hint monotonic timestamp session object path. tty seat id tty . ListUsers() . : . ListSeats() . : . ListInhibitors() (inhibitors) . what ( ) who ( ) why () mode () uid ( ) pid ( ) . CreateSession() CreateSessionWithPIDFD() ReleaseSession() . . / PAM pam_systemd(8) . ActivateSession() . ActivateSessionOnSeat() . LockSession() . UnlockSession() . Lock() Unlock() . LockSessions() . . UnlockSessions() . KillSession() . "leader" "all" . "leader" (leader) . "all" . KillUser() . . TerminateSession() TerminateUser() TerminateSeat() . . SetUserLinger() (user lingering) . (log out) . . SetUserLinger() : UID / polkit[1] ( ). . AttachDevice() . /sys/ . AttachDevice() : sysfs polkit ( ). . . sd-login(3) . FlushDevices() . polkit ( ). PowerOff() Reboot() Halt() Suspend() Hibernate() (reboot) (halt - ) (suspend - RAM CPU) (hibernate - ) . HybridSleep() (hybrid-sleep) . SuspendThenHibernate() RTC . polkit interactive ( ). polkit / // . . Sleep() . SleepOperation= logind.conf(5) . / // . PowerOffWithFlags() RebootWithFlags() HaltWithFlags() SuspendWithFlags() HibernateWithFlags() HybridSleepWithFlags() SuspendThenHibernateWithFlags() Sleep() flags : #define SD_LOGIND_ROOT_CHECK_INHIBITORS (UINT64_C(1) << 0) #define SD_LOGIND_KEXEC_REBOOT (UINT64_C(1) << 1) #define SD_LOGIND_SOFT_REBOOT (UINT64_C(1) << 2) #define SD_LOGIND_SOFT_REBOOT_IF_NEXTROOT_SET_UP (UINT64_C(1) << 3) #define SD_LOGIND_SKIP_INHIBITORS (UINT64_C(1) << 4) flags 0 . 257 "block" . . "block-weak" . SD_LOGIND_ROOT_CHECK_INHIBITORS (0x01) "block-weak" "block" . SD_LOGIND_SKIP_INHIBITORS (0x10) "block" "block-weak" ( "delay" ). SD_LOGIND_KEXEC_REBOOT (0x02) RebootWithFlags() kexec kexec . SD_LOGIND_SOFT_REBOOT (0x04) SD_LOGIND_SOFT_REBOOT_IF_NEXTROOT_SET_UP (0x08) "/run/nextroot/" RebootWithFlags() (userspace reboot) . SD_LOGIND_SOFT_REBOOT_IF_NEXTROOT_SET_UP SD_LOGIND_KEXEC_REBOOT soft-reboot . SetRebootParameter() . reboot systemctl(1) reboot(2) . SetRebootToFirmwareSetup() SetRebootToBootLoaderMenu() SetRebootToBootLoaderEntry() : (firmware setup mode) . systemctl(1) . CanPowerOff() CanReboot() CanHalt() CanSuspend() CanHibernate() CanHybridSleep() CanSuspendThenHibernate() CanSleep() CanRebootParameter() CanRebootToFirmwareSetup() CanRebootToBootLoaderMenu() CanRebootToBootLoaderEntry() . "na" "yes" "no" "challenge" "inhibited" "inhibitor-blocked" "challenge-inhibitor-blocked" . "na" . "yes" . "no" . "challenge" . "inhibited" . . "inhibitor-blocked" . . "challenge-inhibitor-blocked" : . ScheduleShutdown() type usec (UNIX epoch) . usec "UINT64_MAX" systemd-logind . type "poweroff" "dry-poweroff" "reboot" "dry-reboot" "halt" "dry-halt" . ( "dry-" .) CancelScheduledShutdown() . cancelled true . usec : . . . SetWallMessage() (wall message - utmp(5) ) . wall_message ( ) . enable . Inhibit() . : what who why mode. what "shutdown" "sleep" "idle" "handle-power-key" "handle-suspend-key" "handle-hibernate-key" "handle-lid-switch" (:) / / . who . why . mode "block" "delay" "block-weak" . (file descriptor) . . (Inhibitor Locks)[2] . (Signals) PropertyChanged . SecureAttentionKey() Ctrl+Alt+Shift+Esc (greeter) (deadlocked compositor). SessionNew() SessionRemoved() UserNew() UserRemoved() SeatNew() SeatRemoved() . . PrepareForShutdown() PrepareForShutdownWithMetadata() PrepareForSleep() ( "true" ) ( "false" ) / / . / (delay inhibitor locks) . . (Inhibitor Locks)[2] . PrepareForShutdownWithMetadata() / . type . "power-off" "reboot" "halt" "kexec" "soft-reboot" . PrepareForShutdown() ( ) . (Properties) logind.conf(5) . : NAutoVTs KillOnlyUsers KillExcludeUsers KillUserProcesses IdleAction InhibitDelayMaxUSec InhibitorsMax UserStopDelayUSec HandlePowerKey HandleSuspendKey HandleHibernateKey HandleLidSwitch HandleLidSwitchExternalPower HandleLidSwitchDocked IdleActionUSec HoldoffTimeoutUSec RemoveIPC RuntimeDirectorySize RuntimeDirectoryInodesMax InhibitorsMax SessionsMax. IdleHint (idle hint) . . IdleSinceHint IdleSinceHintMonotonic CLOCK_REALTIME CLOCK_MONOTONIC . BlockInhibited BlockWeakInhibited DelayInhibited . "shutdown" "sleep" "idle" ( ). NCurrentSessions NCurrentInhibitors . BootLoaderEntries . . systemd-boot(7) . PreparingForShutdown PreparingForSleep PrepareForShutdown() PrepareForSleep() true . PreparingForShutdownWithMetadata / . preparing PreparingForShutdown type . "power-off" "reboot" "halt" "kexec" "soft-reboot" . PropertyChanged . RebootParameter SetRebootParameter() . ScheduledShutdown ScheduleShutdown() . RebootToFirmwareSetup RebootToBootLoaderMenu RebootToBootLoaderEntry true SetRebootToFirmwareSetup() SetRebootToBootLoaderMenu() SetRebootToBootLoaderEntry() . WallMessage EnableWallMessages SetWallMessage() . Docked true . LidClosed () true . OnExternalPower true . (Security) polkit . SetUserLinger() org.freedesktop.login1.set-user-linger . AttachDevice() org.freedesktop.login1.attach- device FlushDevices() org.freedesktop.login1.flush-devices . PowerOff() Reboot() Halt() Suspend() Hibernate() org.freedesktop.login1.power-off org.freedesktop.login1.power-off- multiple-sessions org.freedesktop.login1.power-off-ignore-inhibit org.freedesktop.login1.reboot org.freedesktop.login1.reboot- multiple-sessions org.freedesktop.login1.reboot-ignore-inhibit org.freedesktop.login1.halt org.freedesktop.login1.halt-multiple- sessions org.freedesktop.login1.halt-ignore-inhibit org.freedesktop.login1.suspend org.freedesktop.login1.suspend- multiple-sessions org.freedesktop.login1.suspend-ignore-inhibit org.freedesktop.login1.hibernate org.freedesktop.login1.hibernate- multiple-sessions org.freedesktop.login1.hibernate-ignore-inhibit . HybridSleep() SuspendThenHibernate() Hibernate() . Sleep() . SetRebootParameter() org.freedesktop.login1.set-reboot-parameter . SetRebootToFirmwareSetup() org.freedesktop.login1.set-reboot-to-firmware-setup . SetRebootToBootLoaderMenu() org.freedesktop.login1.set-reboot-to-boot-loader-menu . SetRebootToBootLoaderEntry() org.freedesktop.login1.set-reboot-to-boot-loader-entry . ScheduleShutdown() CancelScheduledShutdown() ( ) / / . Inhibit() org.freedesktop.login1.inhibit-block- shutdown org.freedesktop.login1.inhibit-delay-shutdown org.freedesktop.login1.inhibit-block-sleep org.freedesktop.login1.inhibit-delay-sleep org.freedesktop.login1.inhibit-block-idle org.freedesktop.login1.inhibit-handle-power-key org.freedesktop.login1.inhibit-handle-suspend-key org.freedesktop.login1.inhibit-handle-hibernate-key org.freedesktop.login1.inhibit-handle-lid-switch . interactive polkit . SEAT (SEAT OBJECTS) node /org/freedesktop/login1/seat/seat0 { interface org.freedesktop.login1.Seat { methods: Terminate(); ActivateSession(in s session_id); SwitchTo(in u vtnr); SwitchToNext(); SwitchToPrevious(); properties: @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Id = '...'; readonly (so) ActiveSession = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b CanTTY = ...; readonly b CanGraphical = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly a(so) Sessions = [...]; readonly b IdleHint = ...; readonly t IdleSinceHint = ...; readonly t IdleSinceHintMonotonic = ...; }; interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Introspectable { ... }; interface org.freedesktop.DBus.Properties { ... }; }; (Methods) Terminate() ActivateSession() TerminateSeat() ActivationSessionOnSeat() Manager . SwitchTo() vtnr . SwitchToNext() SwitchToPrevious() . . (Signals) ActiveSession Sessions CanGraphical CanTTY PropertyChanged . "/org/freedesktop/login1/seat/self" "/org/freedesktop/login1/seat/auto" . (Properties) Id . ActiveSession . . CanTTY CanGraphical . Sessions . IdleHint IdleSinceHint IdleSinceHintMonotonic Manager . USER (USER OBJECTS) node /org/freedesktop/login1/user/_1000 { interface org.freedesktop.login1.User { methods: Terminate(); Kill(in i signal_number); properties: @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u UID = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u GID = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Name = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t Timestamp = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t TimestampMonotonic = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s RuntimePath = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Service = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Slice = '...'; readonly (so) Display = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly s State = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("false") readonly a(so) Sessions = [...]; readonly b IdleHint = ...; readonly t IdleSinceHint = ...; readonly t IdleSinceHintMonotonic = ...; readonly b Linger = ...; }; interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Introspectable { ... }; interface org.freedesktop.DBus.Properties { ... }; }; (Methods) Terminate() Kill() TerminateUser() KillUser() manager . (Signals) Sessions PropertyChanged . UID "/org/freedesktop/login1/user/self" self . (Properties) UID GID (UID) (GID) . Name . Timestamp TimestampMonotonic CLOCK_REALTIME CLOCK_MONOTONIC . RuntimePath $XDG_RUNTIME_DIR. XDG[3] . Service . systemd . user@.service . Slice (slice) . . Display (UI) . . State "offline" "lingering" "online" "active" "closing" . sd_uid_get_state(3) . Sessions . . IdleHint IdleSinceHint IdleSinceHintMonotonic Manager's . Linger (lingering) . SESSION (SESSION OBJECTS) node /org/freedesktop/login1/session/1 { interface org.freedesktop.login1.Session { methods: Terminate(); Activate(); Lock(); Unlock(); SetIdleHint(in b idle); SetLockedHint(in b locked); Kill(in s whom, in i signal_number); TakeControl(in b force); ReleaseControl(); SetType(in s type); SetClass(in s class); SetDisplay(in s display); SetTTY(in h tty_fd); TakeDevice(in u major, in u minor, out h fd, out b inactive); ReleaseDevice(in u major, in u minor); PauseDeviceComplete(in u major, in u minor); SetBrightness(in s subsystem, in s name, in u brightness); signals: PauseDevice(u major, u minor, s type); ResumeDevice(u major, u minor, h fd); Lock(); Unlock(); properties: @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Id = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly (uo) User = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Name = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t Timestamp = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t TimestampMonotonic = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u VTNr = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly (so) Seat = ...; readonly s TTY = '...'; readonly s Display = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b Remote = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s RemoteHost = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s RemoteUser = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly as ExtraDeviceAccess = ['...', ...]; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Service = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Desktop = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly s Scope = '...'; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u Leader = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly t LeaderPIDFDId = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly u Audit = ...; readonly s Type = '...'; readonly s Class = '...'; readonly b Active = ...; readonly s State = '...'; readonly b IdleHint = ...; readonly t IdleSinceHint = ...; readonly t IdleSinceHintMonotonic = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b CanIdle = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b CanLock = ...; readonly b LockedHint = ...; }; interface org.freedesktop.DBus.Peer { ... }; interface org.freedesktop.DBus.Introspectable { ... }; interface org.freedesktop.DBus.Properties { ... }; }; (Methods) Terminate() Activate() Lock() Unlock() Kill() Manager . SetIdleHint() . TakeControl() . D-Bus . force ( /root) . . D-Bus UID . ReleaseControl() . D-Bus . TakeControl() . TakeDevice() . SetType() . . TakeControl() . ( ReleaseControl() D-Bus) . . type . SetClass() . . "user-incomplete" "user" . (synchronous) . type . SetDisplay() . . . TakeControl() . display . SetTTY() . tty . . TakeControl() . tty_fd (file handle) tty . TakeDevice() (file descriptor) . (major and minor) (character device) systemd-logind . ( ). systemd-logind (mute) . . / (asynchronous) . . . systemd-logind ( TakeControl() ). . TakeDevice() . ReleaseDevice() ( TakeDevice() ). ReleaseControl() D-Bus . PauseDeviceComplete() PauseDevice("pause") (pause) . ( ) systemd-logind . SetLockedHint() " " (locked hint) locked . systemd-logind . SetBrightness() . . subsystem "backlight" "leds". name . brightness . /sys/class/subsystem/name/max_brightness . (Signals) PauseDevice() ResumeDevice() TakeDevice() . . . PauseDevice() PropertyChanged Active . ResumeDevice() . Session / . PauseDevice() . force systemd-logind . pause systemd-logind . PauseDeviceComplete() . VT systemd-logind . ( ) PauseDevice() . gone . ReleaseDevice() . + TakeDevice() . ResumeDevice() . / . . ( ). Active PropertyChanged . Lock()/Unlock() / . . Lock() Unlock() . "/org/freedesktop/login1/session/self" "/org/freedesktop/login1/session/auto" . (Properties) Id . User . UID . Name . Timestamp TimestampMonotonic CLOCK_REALTIME CLOCK_MONOTONIC . VTNr 0 . Seat ( ) . . TTY TTY . . Display X11 . . Remote (remote). RemoteHost RemoteUser . ExtraDeviceAccess . "ID" "xaccess-ID" udev . Service PAM . Desktop ( ). Scope scope . Leader PID . LeaderPIDFDId inode pidfd . Audit Kernel Audit . Type . "unspecified" ( PAM cron ) "tty" ( ) "web" ( ) "x11"/"mir"/"wayland" ( ) . Class . "user" ( ) "greeter" ( ) "lock-screen" ( ) . Active ( ) true . State . State "online" "active" "closing" . sd_session_get_state(3) . IdleHint IdleSinceHint IdleSinceHintMonotonic manager . LockedHint SetLockedHint() . CanIdle . CanLock . (EXAMPLES) . logind $ gdbus introspect --system --dest org.freedesktop.login1 \ --object-path /org/freedesktop/login1 $ busctl introspect org.freedesktop.login1 /org/freedesktop/login1 . $ gdbus introspect --system --dest org.freedesktop.login1 \ --object-path /org/freedesktop/login1/seat/seat0 $ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/seat/seat0 "seat0" . loginctl list-sessions . . $ gdbus introspect --system --dest org.freedesktop.login1 \ --object-path /org/freedesktop/login1/user/_1000 $ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/user/_1000 . org.freedesktop.login1.Session $ gdbus introspect --system --dest org.freedesktop.login1 \ --object-path /org/freedesktop/login1/session/45 $ busctl introspect org.freedesktop.login1 /org/freedesktop/login1/session/45 (VERSIONING) D-Bus [4] . (HISTORY) Manager HandlePowerKeyLongPress HandleRebootKey HandleRebootKeyLongPress HandleSuspendKeyLongPress HandleHibernateKeyLongPress 251 . StopIdleSessionUSec 252 . PrepareForShutdownWithMetadata() CreateSessionWithPIDFD() 255 . Sleep() CanSleep() SleepOperation ListSessionsEx() 256 . HandleSecureAttentionKey SecureAttentionKey() PreparingForShutdownWithMetadata DesignatedMaintenanceTime CanIdle CanLock BlockWeakInhibited 257 . Session SetDisplay() 252 . SetTTY() 254 . SetClass() 256 . LeaderPIDFDId 258 . ExtraDeviceAccess 260 . (SEE ALSO) systemd(1), systemd-logind.service(8), loginctl(1) (NOTES) 1. polkit https://www.freedesktop.org/software/polkit/docs/latest 2. (Inhibitor Locks) https://systemd.io/INHIBITOR_LOCKS 3. XDG https://specifications.freedesktop.org/basedir-spec/basedir-spec- latest.html 4. https://0pointer.de/blog/projects/versioning-dbus.html systemd 261.2 ORG.FREEDESKTOP.LOGIN1(5)