'who'명령 및 '14 .04 TrustyTahr '의 출력 정보


9

12.04 PrecisePangolin에서 14.04 TrustyTahr로 업그레이드 한 후 내 마음에 떠오른 질문이 있습니다. 질문은 'who'명령과 그 출력에 관한 것입니다. 이전 버전의 Ubuntu 출력에서 ​​who 명령은 시스템 및 lightdm에 로그인하고 시작하는 데 사용 된 tty를 읽습니다. 예를 들면 다음과 같습니다.

:~$ who
geo      tty7     thedate (:0)
geo      pts/n    thedate (:0.0)

그러나 14.04 TrustyTahr에서 who 명령을 실행하면 출력이 산출됩니다.

:~$ who
geo      :0       thedate (:0)
geo      pts/n    thedate (:0.0)

두 버전 모두 vt7 핸드 오프가 / boot에서 발생하고 TrustyTahr에서 lightdm을 통해 로그인 할 때 내 XDG_VTNR 변수는 7입니다. 그러나 tty7 또는 vt7은 utmp 파일로 인쇄됩니다. 이것은 몇 달 동안 나를 괴롭혔다. 나는 who 명령이 tty 계수와 함께 현재 XDG_VTNR을 표시하기 위해 who 명령을 보완하는 popen 기능을 통합 한 c ++ 프로그램을 마침내 작성했다.

geo      tty7         2015-06-04 20:54 (:0)
geo      pts/0        2015-06-04 20:54 (:0.0)

왜 이것이 바뀌었을까요? 또한 내 유일한 사람입니다. 작년 5 월경에이 파일을 다운로드했기 때문에 누가 명령을 실행할 때마다 Beastie Boys 노래 : Sabotage (jk 나쁜 것이 아닙니다).


나는 14.04에 있습니다. 바로 지금 나는 tty1에 가서 달렸다 startx $(which gnome-shell). who보고 된 tty1 및 : 0 의 출력 특정 기계에 일종의 버그가 발생하는 것 같습니다
Sergiy Kolodyazhnyy

질문을 $ who --version
j0h로

답변:


2

who명령 이 포함 된 패키지를 업그레이드하십시오 . 이상한 버전의 ISO를 사용하여 설치 한 경우에도 업데이트가이를 대체해야합니다.

어떤 패키지가 소유하고 있는지 확인하십시오 who.

which who    # find out where 'who' binary is
dpkg -S /path/to/who

그때:

apt-get update
apt-get install <package name from dpkg -S command>

그래도 작동하지 않으면 환경이없는 다른 쉘을 시도하십시오 (원만한 환경 변수, 설정, bash 특정 정크 등을 제거하십시오).

env -i /bin/dash
$ who

베어 쉘에서 작동하면 문제는 bashrc의 이상한 별명 정의 또는 이와 유사한 것입니다.

또한 who --all작동합니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.