Tentang perintah 'siapa' & Keluaran pada '14 .04 TrustyTahr '

9

Saya memiliki pertanyaan yang muncul di benak saya setelah memutakhirkan ke 14,04 TrustyTahr dari 12,04 PrecisePangolin. Pertanyaannya berkaitan dengan perintah 'siapa', dan hasilnya. Pada edisi Ubuntu sebelumnya, output perintah siapa yang akan membaca tty apa yang digunakan untuk login dan memulai sistem dan lightdm, misalnya:

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

Tetapi pada 14,04 TrustyTahr, ketika saya menjalankan perintah siapa output saya menghasilkan:

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

Pada kedua edisi handoff vt7 terjadi di / boot, dan pada TrustyTahr variabel XDG_VTNR saya adalah 7 ketika saya masuk melalui lightdm; tetapi tty7, atau vt7 dicetak ke file utmp. Ini mengganggu saya selama berbulan-bulan, saya akhirnya menulis sebuah program c ++, yang menggabungkan fungsi popen, sebagai pelengkap perintah who agar perintah who untuk menampilkan XDG_VTNR saat ini dengan koefisien tty misalnya:

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

Tidak ada yang kurang mengapa ini berubah? Dan juga milikku satu-satunya seperti itu, karena aku mengunduh ini sekitar bulan Mei tahun lalu, dan aku mungkin mendapatkan tempat tidur atau sesuatu, setiap kali aku menjalankan perintah siapa itu membuatku memikirkan lagu Beastie Boys: Sabotage (jk ini bukan yang buruk).

oOpSgEo
sumber
Saya pada 14,04. Baru saja saya pergi ke tty1 dan berlari startx $(which gnome-shell). Output dari whotty1 yang dilaporkan dan: 0. Saya kira mesin khusus Anda mengalami semacam bug
Sergiy Kolodyazhnyy
perbarui pertanyaan dengan $ who --version
j0h

Jawaban:

2

Coba perbarui paket yang berisi whoperintah; bahkan jika Anda memang menggunakan versi aneh ISO untuk menginstal, pembaruan harus menggantinya:

Cari tahu apa yang dimiliki paket who:

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

Kemudian:

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

Jika masih tidak berfungsi, coba shell yang berbeda tanpa lingkungan (untuk menyingkirkan variabel lingkungan yang tidak diinginkan, pengaturan, sampah spesifik-bash, dll.):

env -i /bin/dash
$ who

Jika bekerja di bare shell, maka masalahnya mungkin definisi alias aneh di bashrc, atau yang serupa.

Juga, apakah who --allberhasil?

Felix
sumber