今天,我看到有很多軟體包需要更新(包括核心),所以我將它們全部更新並重新啟動。到目前為止,一切都很好。
當我啟動電腦時,它會顯示 TTY 登入提示,如果我願意或必須的話,我通常會手動登入並啟動 X。
然而,當我重新打開它時,我看到了這樣的情況:https://i.stack.imgur.com/yo5U6.jpg
空字符單獨出現,大約每十分之八秒出現一個。它們不是簡單地列印出來,而是出現在標準輸入中。我無法登錄,因為我無法輸入密碼,因為我看不到這些密碼何時彈出,因此我可以刪除它們並完成密碼。不,我無法在十分之八秒內輸入 35 個字元。
第一個想法:鍵盤壞了。擺脫了所有輸入裝置並重新啟動。沒有什麼。
第二個想法:系統不好。從我的手機透過 SSH 登入。沒有空字符可言。我可以從這裡正常使用終端。但不是身體上的。與 tty 特別有關嗎?
總而言之,我被“鎖定”在我的計算機之外(SSH 可以工作,所以就是這樣)並且完全沒有想法。
且空字符不會停止出現:https://i.stack.imgur.com/wjlVw.jpg
非常感謝任何幫助。
編輯1:我正在使用Arch Linux。我認為版本號在這裡不適用。第一張圖片有一個版本號碼。
編輯 2:我透過允許任何人運行 startx 並從 SSH 調用它在我的顯示器上運行來設法讓 X 運行。但我的 TTY 仍然無法使用。
編輯 3:奇怪的是,自從我運行 X 以來,pulseaudio 拒絕識別我的顯示器 HDMI 音訊輸出。
編輯4:我應該降級內核嗎?恐怕這是唯一可以將事情破壞到這個級別的更新,但我也擔心它可能會破壞其他軟體包並將我永遠鎖在外面。想法?
編輯5:好吧,事情變得非常非常奇怪。它似乎將空字元放入我打開的每個終端的標準輸入中。如果我在任何程式中按住某個鍵(例如“a”),它會在不超過 0.8 秒的時間內鍵入“a”。不只是 tty 或終端,X 程式也偵測到 ^@。
如果我跑去xev
看看是否偵測到擊鍵......猜猜看:
KeyRelease event, serial 42, synthetic NO, window 0x2200001,
root 0x29e, subw 0x0, time 5986026, (15,93), root:(996,809),
state 0x50, keycode 221 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
我打開的每個程式都會得到這些。 xev 輸出中的時間資訊顯示精確的 800 毫秒間隔,始終以「26」結尾。這意味著,自從我重新打開電腦以來,這些 ^@ 每 0.8 秒發送一次,精確到毫秒。週期沒有變化,沒有漂移,什麼都沒有。
答案1
我決定將所有 Nvidia 軟體包降級回 384.69,將核心軟體包降級到 4.12.12-1。問題似乎消失了。
看來我暫時不會升級我的東西了。
猜測根本原因永遠不會被知道。
答案2
類似問題:我的電腦開機後無法辨識鍵盤。因此,我拔下插頭並再次插入,然後空字元開始出現。我也在用Arch。
我目前的解決方法是拔下鍵盤,打開電腦,然後插入後BIOS提示,然後進入啟動選單,拔掉並重新插入,然後選擇啟動裝置並正常啟動。
但這並不是一個完整的修復,如果我在系統運行時拔下鍵盤,當我插入鍵盤時,這種情況會再次發生。
答案3
Arch 上也面臨類似的問題。當我登入時,它會不斷輸入空字元。但我的是成對出現的,所以我會得到一個很長的停頓,然後是一個空字符,一個短暫的停頓,然後在下一個長停頓之前得到另一個空字符。對我來說,我可以在長時間的暫停中輸入密碼,但只是勉強,所以我能夠登入。
只有當我連接到擴充座(僅連接了鍵盤/滑鼠加密狗、兩個顯示器和乙太網路線)時,該問題才會出現。