本方案源自:
https://blog.csdn.net/qq_16763983/article/details/117016230
环境:
win10下的Debian Linux wsl系统;
问题:
1.输入w只能列出字段名称,显示不出当前logged in的用户信息,
2.输入who无响应,
输入last和lastlog都能正常显示用户的login信息。
3.两个终端登录用户后,输入write user提示:write: you have write permission turned off
之后输入mesg看到是is n,然后执行mesg y,再次执行write user进行通信,却显示user未登录,
解决方法:
step1: 按照“https://blog.csdn.net/qq_16763983/article/details/117016230”中所提及的,执行以下命令:
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
(以上解决方案的原理我目前不懂)
step2: 执行以下这个命令查看运行级别,发现从原来的unknown结果变成了 N 5
/sbin/runlevel
step3: 此时执行w和who还是一样的效果,然后exit终端窗口,重新进入终端进行login,使用w、who、write都正常了。
见下图: