У меня возник вопрос, который возник у меня после обновления до 14.04 TrustyTahr с 12.04 PrecisePangolin. Вопрос относится к команде who и ее результатам. В предыдущих выпусках Ubuntu вывод команды who считывал, какой tty использовался для входа в систему и запуска системы и lightdm, например:
:~$ 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 моя переменная XDG_VTNR равна 7, когда я вхожу через lightdm; но tty7, ни vt7 печатаются в файл utmp. Это раздражало меня в течение многих месяцев, и я наконец написал программу на c ++, которая включает функцию popen в качестве дополнения к команде who, чтобы команда who отображала текущий XDG_VTNR с коэффициентом tty, например:
geo tty7 2015-06-04 20:54 (:0)
geo pts/0 2015-06-04 20:54 (:0.0)
Тем не менее, почему это изменилось? И, кроме того, моя единственная такая, потому что я скачал ее примерно в мае прошлого года, и, возможно, я получил bunk iso или что-то в этом роде, каждый раз, когда я запускаю команду who, я вспоминаю эту песню Beastie Boys: Sabotage (jk это не плохо).
startx $(which gnome-shell)
. На выходеwho
сообщается tty1 а: 0. Я думаю, что ваша конкретная машина испытывает какую-то ошибкуОтветы:
Попробуйте обновить пакет, содержащий
who
команду; даже если вы использовали для установки странную версию ISO, обновление должно заменить ее:Узнайте, какой пакет принадлежит
who
:Затем:
Если он по-прежнему не работает, попробуйте другую оболочку без среды (чтобы избавиться от каких-либо непонятных переменных среды, настроек, специфичных для bash ненужных и т. Д.):
Если это работает в пустой оболочке, то проблема, скорее всего, в странном определении псевдонима в bashrc или чем-то подобном.
Кроме того,
who --all
работает?источник