Ubuntu

使用筆記型電腦鍵盤關閉電腦

  • March 3, 2021

我剛從華碩買了一台新筆記型電腦:Rog Strix Scar G17 G733QS,我嘗試在上面安裝 Ubuntu 20.04。

問題是每次我按筆記型電腦鍵盤上的任何鍵時,都會出現關機對話框/彈出視窗,如果我忘記了這一點並錯誤地按了多個鍵,筆記型電腦就會關機。

看來我可以用 USB 鍵盤很好地使用 Ubuntu,但這顯然不行。

你知道我能做什麼嗎?

更新 1:我在 Fedora 33 上遇到了相同的行為,但實時作業系統執行良好。也許核心中的驅動程序與鍵盤的控制器不兼容?

更新 2:我還**用 Cinnamon 測試了 Linux Mint,**到目前為止一切正常!由於 Ubuntu 20.04 和 Fedora 33 都使用 GNOME,我懷疑它在某種程度上與 DE 有關。我進一步懷疑根本問題與預裝的 nouveau 驅動程序有關,這些驅動程序目前不支持筆記型電腦中的 RTX 3080 筆記型電腦,因為我在啟動時載入 DE gest 之前收到警告,說該設備是未辨識。

更新 3:現在,一天后,同樣的行為也在 Linux Mint 上開始了。當我按下筆記型電腦鍵盤上的任何鍵時,如果在文本編輯器中會生成相關的字母,但也會出現關閉對話框。使用外接鍵盤時,一切正常。正如 Jason Croyle 所推薦的,這是xev與我按下筆記型電腦鍵盤上的鍵相關的輸出:


MappingNotify event, serial 44, synthetic NO, window 0x0,
   request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 44, synthetic NO, window 0x5000001,
   root 0x50f, subw 0x0, time 423525, (-550,168), root:(942,438),
   state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
   XLookupString gives 1 bytes: (71) "q"
   XmbLookupString gives 1 bytes: (71) "q"
   XFilterEvent returns: False

KeyRelease event, serial 45, synthetic NO, window 0x5000001,
   root 0x50f, subw 0x0, time 423602, (-550,168), root:(942,438),
   state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
   XLookupString gives 1 bytes: (71) "q"
   XFilterEvent returns: False

MappingNotify event, serial 45, synthetic NO, window 0x0,
   request MappingKeyboard, first_keycode 8, count 248

FocusOut event, serial 45, synthetic NO, window 0x5000001,
   mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 46, synthetic NO, window 0x5000001,
   mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 46, synthetic NO, window 0x0,
   keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
          0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 

xev與按下外部鍵盤上的鍵時的輸出相反:

KeyPress event, serial 38, synthetic NO, window 0x6200001,
   root 0x50f, subw 0x0, time 826960, (-20,-2), root:(841,452),
   state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
   XLookupString gives 1 bytes: (71) "q"
   XmbLookupString gives 1 bytes: (71) "q"
   XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x6200001,
   root 0x50f, subw 0x0, time 827056, (-20,-2), root:(841,452),
   state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
   XLookupString gives 1 bytes: (71) "q"
   XFilterEvent returns: False

在搜尋了額外的事件後,我發現每次喚醒應用程序時都會發生KeymapNotify,這是一種通知應用程序鍵盤狀態的方法。我懷疑發生這種情況是因為在這種情況下關閉對話框是被喚醒的應用程序。

另一方面,MappingNotify事件似乎指出物理按鍵的映射發生了變化。似乎這發生在按鍵一次,一次按鍵釋放。

這與 Linux kernell 5.11/Nvidia 30* 顯卡有關。按照這些步驟更新到5.11後,系統就穩定了

  1. 更新到 5.11 https://sypalo.com/how-to-upgrade-ubuntu 如果重啟後,螢幕仍然黑屏並顯示錯誤消息,請使用高級選項選擇 5.11(恢復模式)
  2. 執行這些步驟https://forums.developer.nvidia.com/t/ubuntu-mate-20-04-with-rtx-3070-on-ryzen-5900-black-screen-after-boot/167681/30

這聽起來像是一個可能的硬體問題:筆記型電腦的內置鍵盤矩陣可能與電源按鈕信號或其他觸發關機對話框的功能鍵短路。

雖然您可能可以禁用 ACPI 電源按鈕處理作為一種解決方法,但如果您出售了有缺陷的產品,您可能應該在保修期內修復或更換一個好的產品。

引用自:https://unix.stackexchange.com/questions/635797