Provided by: manpages-zh_1.6.3.3-1_all bug

NAME

       loginctl - 控制 systemd 登录管理器

SYNOPSIS

       loginctl [OPTIONS...] {COMMAND} [NAME...]

描述

       loginctl 可用于内省与控制 systemd(1) 登录管理服务 systemd-logind.service(8)

选项

       能够识别的命令行选项如下:

       --no-ask-password
           在执行特权操作时不向用户索要密码。

       -p, --property=
           在显示 session/user/seat 属性时, 仅显示此处指定的属性。 若未指定,则显示全部属性。
           参数必须是属性名(例如"Sessions")。 可以多次使用此选项以指定多个属性。

       --value
           在使用 show 显示属性时, 仅显示属性值,而不显示属性名及等号。

       -a, --all
           在显示 session/user/seat 属性时, 显示全部属性,无论这些属性是否已经被设置。

       -l, --full
           在显示进程树的时候,不对超长行进行截断。

       --kill-who=kill-session 连用,指定杀死哪个进程。 leader 表示仅杀死会话的领导进程; all
           表示杀死会话的所有进程。 默认值为 all

       -s, --signal=kill-sessionkill-user 连用, 指定向选中的进程发送什么信号。
           必须设为众所周知的信号名称,例如 SIGTERM(默认值), SIGINT, SIGSTOP 之类

       -n, --lines=user-statussession-status 连用, 控制显示多少行日志(从最新的一条日志开始计算)。
           必须设为一个正整数,默认值是"10"。

       -o, --output=user-statussession-status 连用, 控制日志的输出格式。 可用值参见 journalctl(1)
           手册。 默认为 "short"

       -H, --host=
           操作指定的远程主机。可以仅指定一个主机名(hostname), 也可以使用 "username@hostname"
           格式。 hostname 后面还可以加上容器名(以冒号分隔), 也就是形如 "hostname:container"
           的格式, 以表示直接连接到指定主机的指定容器内。 操作将通过SSH协议进行,以确保安全。
           可以通过 machinectl -H HOST 命令列出远程主机上的所有容器名称。

       -M, --machine=
           在本地容器内执行操作。 必须明确指定容器的名称。

       --no-pager
           不将程序的输出内容管道(pipe)给分页程序。

       --no-legend
           不输出列标题, 也就是不在输出列表的头部和尾部显示字段的名称。

       -h, --help
           显示简短的帮助信息并退出。

       --version
           显示简短的版本信息并退出。

命令

       能够识别的命令如下:

   会话命令
       list-sessions
           列出当前所有的会话。这是默认命令。

       session-status [ID...]
           显示简洁的会话状态信息,后跟最近的日志。 如果指定了会话ID,那么仅显示指定的会话,
           否则显示当前调用者的会话。 此命令主要用于输出人类易读的信息,
           如果你想输出易于程序分析的信息, 那么应该使用 show-session 命令

       show-session [ID...]
           如果指定了会话ID,那么显示指定会话的各项属性值, 否则显示登陆管理器自身的各项属性值。
           除非使用了 --all 选项, 否则空属性将被忽略。 还可以使用 --property=
           选项指定仅显示个别属性。 此命令主要用于输出易于程序分析的信息,
           如果你想输出人类易读的信息, 那么应该使用 session-status 命令。

       activate [ID]
           激活会话。 也就是将处于后台的会话切换到前台(如果同席位的另一个会话正处于前台)。
           如果指定了会话ID, 那么将激活指定的会话, 否则将激活当前调用者的会话。

       lock-session [ID...], unlock-session [ID...]
           锁定/解锁会话(如果会话支持屏幕锁)。 如果指定了会话ID,那么将锁定/解锁指定的会话,
           否则将锁定/解锁当前调用者的会话。

       lock-sessions, unlock-sessions
           锁定/解锁所有支持屏幕锁的会话。

       terminate-session ID...
           结束指定的会话。 也就是杀死指定会话的所有进程、释放所有与此会话相关的资源。

       kill-session ID...
           向指定的会话进程发送信号。 使用 --kill-who= 指定目标进程, 使用 --signal=
           指定要发送的信号。

   用户命令
       list-users
           列出当前登录的用户

       user-status [USER...]
           显示简洁的已登录用户信息,后跟最近的日志。 如果指定了用户名或UID,
           那么仅显示指定的用户, 否则显示当前调用者的用户。 此命令主要用于输出人类易读的信息,
           如果你想输出易于程序分析的信息, 那么应该使用 show-user 命令。

       show-user [USER...]
           如果指定了用户名或UID,那么显示指定用户的各项属性值,
           否则显示登陆管理器自身的各项属性值。 除非使用了 --all 选项, 否则空属性将被忽略。
           还可以使用 --property= 选项来显示指定的属性。 此命令主要用于输出易于程序分析的信息,
           如果你想输出人类易读的信息, 那么应该使用 user-status 命令。

       enable-linger [USER...], disable-linger [USER...]
           启用/禁止用户逗留(相当于保持登录状态)。 如果指定了用户名或UID,
           那么系统将会在启动时自动为这些用户派生出用户管理器, 并且在用户登出后继续保持运行。
           这样就可以允许未登录的用户在后台运行持续时间很长的服务。 如果没有指定任何参数,
           那么将作用于当前调用者的用户。

           参见 logind.conf(5) 中的 KillUserProcesses= 指令。

       terminate-user USER...
           结束指定用户的所有会话。 这将杀死该用户的所有会话中的所有进程,
           同时释放与此用户有关的所有资源。

       kill-user USER...
           向指定用户的所有进程发送 --signal= 选项指定的信号。

   席位命令
       list-seats
           列出当前本机上的所有可用席位

       seat-status [NAME...]
           显示简洁的席位信息,后跟最近的日志。 如果指定了席位名,那么仅显示指定的席位,
           否则显示当前调用者会话所属的席位。 此命令主要用于输出人类易读的信息,
           如果你想输出易于程序分析的信息, 那么应该使用 show-seat 命令。

       show-seat [NAME...]
           如果指定了席位名,那么显示指定席位的各项属性值, 否则显示登陆管理器自身的各项属性值。
           除非使用了 --all 选项, 否则空属性将被忽略。 还可以使用 --property=
           选项来显示指定的属性。 此命令主要用于输出易于程序分析的信息,
           如果你想输出人类易读的信息, 那么应该使用 seat-status 命令。

       attach NAME DEVICE...
           将指定的设备(DEVICE)持久的连接到指定的席位(NAME)上。 设备可以用相对于 /sys
           文件系统的设备路径表示。 要创建一个新席位,至少需要连接一个显卡。 席位名称必须以
           "seat" 开头, 后跟 a–z, A–Z, 0–9, "-", "_" 字符。 要想从席位上删除一个设备,
           可以将此设备连接到另一个席位, 或者使用 flush-devices 命令。

       flush-devices
           删除所有先前用 attach 命令连接的设备(同时也删除了所有先前用 attach 命令创建的席位)。
           调用此命令之后,所有自动生成的席位将会被保留,
           同时所有席位设备将会连接到自动生成的席位上。

       terminate-seat NAME...
           结束指定席位上的所有会话。 这将杀死指定席位上的所有会话进程,
           同时释放与之关联的所有资源。

退出状态

       返回值为 0 表示成功, 非零返回值表示失败代码。

例子

       Example 1. 查询用户状态

           $ loginctl user-status
           fatima (1005)
                      Since: Sat 2016-04-09 14:23:31 EDT; 54min ago
                      State: active
                   Sessions: 5 *3
                       Unit: user-1005.slice
                             ├─user@1005.service
                               ...
                             ├─session-3.scope
                               ...
                             └─session-5.scope
                               ├─3473 login -- fatima
                               └─3515 -zsh

           Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session):
                                  session opened for user fatima by LOGIN(uid=0)
           Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima

       有 3 与 5 两个会话。会话 3 是一个图形会话, 以星号(*)标记。同时还显示了两个对应的 scope
       单元中的进程树。

环境变量

       $SYSTEMD_PAGER
           指定分页程序。仅在未指定 --no-pager 选项时有意义。 此变量会覆盖 $PAGER 的值。
           将此变量设为空字符串或 "cat" 等价于使用 --no-pager 选项。

       $SYSTEMD_LESS
           用于覆盖 默认传递给 less 程序的命令行选项 ("FRSXMK")。

参见

       systemd(1), systemctl(1), systemd-logind.service(8), logind.conf(5)

       本页面中文版由中文 man 手册页计划提供。

       翻译人员:金步国
       金步国作品集:http://www.jinbuguo.com
       中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh