[閒聊] 如何關閉 ubuntu 螢幕自動翻轉

記得去年暑假裝完 ubuntu 的時候,最震驚的除了它把 nvidia 顯卡放著不管,跑去用 intel 的導致 鬥(某)陣(個)特(遊)攻(戲) 完全開不起來、讓我白白浪費了好久去debug之外,就是 . . .

這個方向 . . . 4B4反了啊 _(┐「ε :)_

hp竟然有裝重力感測器???店員都沒跟我說欸?

原本想說用「這樣就能用直的螢幕看pdf電子書了」,結果發現立起來的話方向就會整個反掉,而且有時候還會突然用到一半轉螢幕,還要手動翻才翻的回來

過了一陣子習慣了,就覺得反正也沒怎樣就懶的管它,直到我某次遊戲打到一半竟然給我轉螢幕害我打rank掛掉還輸了,一陣不爽之下就決定要把這萬惡的東西關起來 (メ ゚皿゚)メ

以下正文(?


經過不斷查找之後發現,要阻止螢幕翻轉有3種作法 :

  1. 鎖定螢幕翻轉
  2. 停止或移除 iio-sensor-proxy
  3. 停用重力感測器

鎖定螢幕翻轉

要鎖定螢幕翻轉功能非常簡單,除了按下

[Super] + [O](歐)

以外,就是按下螢幕右上角的小箭頭,再按鎖定螢幕翻轉那顆就行了

你說哪一顆?就是上面圖片螢幕裡被圈起來那顆

雖然這樣問題就解決了,但是想想這個重力感測器平常也沒有什麼用,放著還會浪費我寶貴的電量,於是我才試圖停用它的

絕對不是記恨什麼的ヽ(=^・ω・^=)丿

停止或移除 iio-sensor-proxy

iio-sensor-proxy 是ubuntu預載的套件,接收各種感測器的訊息並轉換給電腦使用(上面是它的git連結)

停止再停用

$ sudo systemctl stop iio-sensor-proxy.service
$ sudo systemctl disable iio-sensor-proxy.service

移除這個套件

$ sudo apt-get remove iio-sensor-proxy

停止/移除這個套件之後,當然螢幕也不會跟著筆電轉了,但是這個方法關不掉浪費電的感測器本身,還會牽連到無辜的光源感測器大大,所以不推薦使用啦(夜光模式會用到的感測器)

停用重力感測器

我們可以用lsmod來檢視本機上的所有 modules,類似於 windows 的硬體驅動程式(drivers)

搜尋 accel (重力感測器的英文是 accelerometer)

$ lsmod | grep accel 

找出重力感測器 module 的名字之後(在我電腦上是 hp_accel),把這個 module 黑名單掉,這樣在開機的時候就不會執行這個 module 了

$ sudo vim /etc/modprobe.d/blacklist.conf

加一行

blacklist hp_accel

重新開機之後不管怎麼轉電腦都不會有反應了 \(。A 。)/


既然都能把重力感測器單獨關掉,那怎麼也該能手動旋轉螢幕吧?查了查之後還發現真的有教學在這裡,簡單來說就是先找到你螢幕的名字之後用 xrandr 指令強制旋轉螢幕啦

大功告成啦!直的看,看爽爽 0w0

參考資料 :