Mam pytanie, które pojawiło się w mojej głowie po aktualizacji do wersji 14.04 TrustyTahr z wersji 12.04 PrecisePangolin. Pytanie dotyczy polecenia „kto” i jego wyników. W poprzednich wersjach Ubuntu wyjście, które komenda who przeczytałoby, jakiego tty użyto do zalogowania się i zainicjowania systemu i lightdm, na przykład:
:~$ who
geo tty7 thedate (:0)
geo pts/n thedate (:0.0)
Ale w dniu 14.04 TrustyTahr, kiedy uruchamiam komendę, która generuje moje wyniki, zwraca:
:~$ who
geo :0 thedate (:0)
geo pts/n thedate (:0.0)
W obu wersjach przekazywanie vt7 odbywa się w / boot, a na TrustyTahr moja zmienna XDG_VTNR wynosi 7, kiedy loguję się przez lightdm; ale tty7, ani vt7 są drukowane do pliku utmp. To mnie denerwowało przez miesiące, w końcu napisałem program c ++, który zawiera funkcję popen, jako uzupełnienie komendy who, aby komenda who wyświetlała bieżący XDG_VTNR ze współczynnikiem tty np .:
geo tty7 2015-06-04 20:54 (:0)
geo pts/0 2015-06-04 20:54 (:0.0)
Niemniej jednak, dlaczego to się zmieniło? I jest też mój jedyny taki, ponieważ pobrałem go około maja ubiegłego roku i mogłem dostać piętrowe iso lub coś, za każdym razem, gdy uruchamiam komendę, każe mi myśleć o piosence Beastie Boys: Sabotage (jk to nie jest złe).
startx $(which gnome-shell)
. Dane wyjściowewho
zgłoszonego tty1 i: 0.Odpowiedzi:
Spróbuj zaktualizować pakiet zawierający
who
polecenie; nawet jeśli do instalacji użyłeś dziwnej wersji ISO, aktualizacja powinna ją zastąpić:Dowiedz się, jaki pakiet posiada
who
:Następnie:
Jeśli nadal nie działa, wypróbuj inną powłokę bez środowiska (aby pozbyć się chwiejnych zmiennych środowiskowych, ustawień, śmieci specyficznych dla bash itp.):
Jeśli to działa w czystej postaci, problem jest prawdopodobnie dziwną definicją aliasu w bashrc lub czymś podobnym.
Czy też
who --all
działa?źródło