You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

who命令未显示DISPLAY环境变量对应的本地显示会话问题

who命令未显示DISPLAY环境变量对应的本地显示会话问题

嗨,我来帮你捋一捋这个问题~

首先得明确:你看到的两台机器who输出差异,核心原因是本地登录方式的不同,具体来说是图形会话的启动方式不一样:

  • 你的pc2是通过图形化显示管理器(比如GDM、LightDM这类常见的桌面登录工具)登录的,这种情况下显示管理器会主动在系统会话里注册X11显示会话,所以who会打出:0这个条目,它对应本地的第一个图形显示终端。
  • 而pc1这边,你应该是直接在tty2控制台(纯命令行界面)登录的,哪怕之后手动启动了图形界面(比如用startx命令),这种手动启动的X会话不会被显示管理器记录,所以who里就不会出现:0的条目。

那怎么验证和调整呢?给你几个小方法:

  1. 确认当前图形会话状态
    先在pc1上执行echo $DISPLAY,如果输出是:0,说明确实有X11图形会话在运行,只是who没记录而已。

  2. 试试用w命令替代who
    w命令能显示更详细的会话信息,包括每个会话的环境参数,你可以执行:

    team@pc1:~$ w
    

    虽然它可能也不会直接显示:0,但能帮你确认当前所有活跃会话的状态。

  3. 让who显示:0的办法
    如果你希望pc1的who也能像pc2那样显示:0条目,最简单的方式是通过图形显示管理器重新登录——也就是开机后直接进入图形登录界面输入账号密码,而不是先进入tty命令行再手动启动图形界面。

另外补充个小知识点:who里的:0本质是X11的显示编号,只有由显示管理器托管的图形会话才会被who识别并展示这个条目,手动启动的X会话属于用户自主启动的进程,不会被系统会话管理器记录在who的输出里。

备注:内容来源于stack exchange,提问作者Kjyong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:39:29