ฉันมีคำถามที่เกิดขึ้นในใจหลังจากอัพเกรดเป็น 14.04 TrustyTahr จาก 12.04 PrecisePangolin คำถามเกี่ยวข้องกับคำสั่ง 'who' และผลลัพธ์ของมัน ในรุ่นก่อนหน้าของ Ubuntu การส่งออกที่คำสั่งจะอ่านสิ่งที่ TTY ถูกใช้ในการเข้าสู่ระบบและการเริ่มต้นระบบและ lightdm ตัวอย่างเช่น:
:~$ who
geo tty7 thedate (:0)
geo pts/n thedate (:0.0)
แต่ในวันที่ 14.04 TrustyTahr เมื่อฉันเรียกใช้ผู้ที่ให้ผลผลิตของฉัน:
:~$ who
geo :0 thedate (:0)
geo pts/n thedate (:0.0)
ทั้งสองรุ่นแฮนด์ออฟ vt7 ที่เกิดขึ้นใน / boot และ TrustyTahr ตัวแปร XDG_VTNR ของฉันคือ 7 เมื่อฉันเข้าสู่ระบบผ่าน lightdm; แต่ tty7 และ vt7 จะถูกพิมพ์ไปยังไฟล์ utmp สิ่งนี้ทำให้ฉันรำคาญเป็นเวลาหลายเดือนในที่สุดฉันก็เขียนโปรแกรม c ++ ที่รวมฟังก์ชั่น popen เป็นส่วนเสริมของคำสั่ง who เพื่อให้ผู้ที่สั่งให้แสดง XDG_VTNR ปัจจุบันด้วยสัมประสิทธิ์ tty เช่น:
geo tty7 2015-06-04 20:54 (:0)
geo pts/0 2015-06-04 20:54 (:0.0)
ไม่มีน้อยทำไมนี้เปลี่ยนไปหรือไม่ และฉันก็เป็นคนเดียวเช่นนั้นเพราะฉันดาวน์โหลดมาประมาณเดือนพฤษภาคมปีที่แล้วและฉันอาจได้รับ iso bunk หรืออะไรบางอย่างทุกครั้งที่ฉันเรียกใช้คำสั่งที่ทำให้ฉันคิดว่าเพลง Beastie Boys: Sabotage (jk) มันไม่เลวเลย)
startx $(which gnome-shell)
และวิ่ง การส่งออกของwho
tty1 รายงาน: 0 ฉันเดาว่าเครื่องของคุณกำลังประสบกับข้อผิดพลาดบางอย่าง