「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コマンドが現在のXDG_VTNRをtty係数で表示するためのwhoコマンドの補足として、popen関数を組み込んだc ++プログラムをようやく書きました。例:

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

それでも、なぜこれが変わったのですか?そして、私だけがそのようなものです。昨年の5月頃にこれをダウンロードしたので、bisoか何かを取得した可能性があります.whoコマンドを実行するたびに、ビースティボーイズの曲を思い起こさせます:Sabotage(jkそれは悪いことではありません)。


14.04にいます。ちょうど今、tty1に行って実行しましたstartx $(which gnome-shell)who報告されたtty1および:0 の出力。特定のマシンで何らかのバグが発生していると思います
Sergiy Kolodyazhnyy

$ who --versionで質問を更新します
j0h 2015

回答:


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.