我试图理解之间logname
的LOGNAME
差异日志名和 $LOGNAME 之间的区别和https://askubuntu.com/questions/490620/difference- Between-logname-and-logname
在 Lubuntu 18.04 上,为什么我得到logname: no login name
?
t@ocean:/t/t/bkg$ echo $LOGNAME
t
t@ocean:/t/t/bkg$ logname
logname: no login name
t@ocean:/t/t/bkg$ su t
Password:
t@ocean:/t/t/bkg$ logname
logname: no login name
$ echo $?
1
t@ocean:/t/t/bkg$ cat /var/run/utmp
~~~reboot4.15.0-22-generic��[8Jtty1tty1LOGINJ��[�!�tty7:0t:0��[��5~~~runlevel4.15.0-22-generic��[
t@ocean:/t/t/bkg$ sudo su
[sudo] password for t:
root@ocean:/tmp/test/bkg# logname
logname: no login name
root@ocean:/tmp/test/bkg# echo $LOGNAME
root
logname
应该输出什么?谢谢。
从man logname
:
logname - 打印用户的登录名
打印当前用户的名称。
针对评论:
$ cat /proc/self/loginuid
4294967295
t@ocean:/t/t/bkg$ grep ":$(id -u):" /etc/passwd
t:x:1000:1000:t,,,:/home/t:/bin/bash
t@ocean:/t/t/bkg$ tty
/dev/pts/8
t@ocean:/t/t/bkg$ w
17:52:08 up 5 days, 6:28, 1 user, load average: 0.39, 0.29, 0.28
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
t tty7 :0 Wed11 5days 1:47m 6.33s /usr/bin/lxsession -s Lubuntu -e LXDE
Mark 怀疑原因是我lxterminal
没有向 utmp 添加条目。
潘迪亚:哦。似乎一个错误正如您所总结的那样。