【wsl】解决Win10下Linux子系统WSL输入who命令没有响应的问题

10 篇文章 0 订阅

项目场景:

系统版本说明
Ubuntu 20.04.6 LTS
Windows Terminal
ps:powershell
wsl:windows子系统Linux


问题描述

在查看当前系统中所有登录用户的信息时,发现在WSL下输入who命令没有反应,即无任何返回信息
在这里插入图片描述
当然你直接用虚拟机跑Linux是不会有这个问题的
正常 虚拟机跑该命令显示如下:会显示当前登录用户名称还有终端用户名称
在这里插入图片描述


原因分析:

查看了网上很多up主的解释,大致是因为微软在推出WSL时出现的内部问题。
An empty (0 bytes) /var/run/utmp file should be created by /init
其实就是utmp日志文件的创建问题,而utmp中保存的正是当前正在本系统中的用户的信息。这里的一个解决方案是建立运行级别。
——链接:https://juejin.cn/post/6971085749735129125
来源:稀土掘金


解决方案:

1.打开Windows Powershell进入wsl,输入who,确实没有任何返回
在这里插入图片描述

2.输入以下命令(直接复制下面命令就可以),然后回车
sudo bash -c “echo ‘[1] [00053] [~~ ] [runlevel] [~ ] [5.4.91-microsoft-standard-WSL2] [0.0.0.0 ] [2021-04-05T23:10:15,040218+00:00]’ | utmpdump -r > /var/run/utmp” 2> /dev/null
在这里插入图片描述
3.输入exit,退出wsl回到ps!
在这里插入图片描述
4.重新从PS登录WSL
语句:wsl sudo login -f
(username是你自己终端的用户名哦,秘密你自己的linux登录密码哈)
在这里插入图片描述
5. 查看运行级别
语句:/sbin/runlevel
在这里插入图片描述
6.输入who -u 或者 w
在这里插入图片描述
在这里插入图片描述
完成啦 可以查看到当前的用户登录信息啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值