一、打開/關閉觸摸闆
很多人使用
modprobe
指令來打開和關閉觸摸闆,如下:
# 關閉觸摸闆
sudo modprobe -r psmouse
# 打開觸摸闆
sudo modprobe psmouse
其中,
modprobe
指令用來添加和移除Linux核心的子產品,而psmouse則表示PS/2接口滑鼠驅動子產品。現在的滑鼠一般是采用USB接口,而筆記本電腦(蘋果MAC除外)内置觸摸闆可以看作滑鼠型裝置,很可能是PS/2接口方式,從核心裡移除了它的驅動程式,觸摸闆自然不能用了,并且在裝置中也找不到它了。這時要想重新啟動觸摸闆隻能在核心中重新加載psmouse子產品。
另外,還可以使用
xinput
指令啟用和禁用觸摸闆。首先,輸入xinput檢視觸摸闆的名稱或ID,例如:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SIGMACHIP Usb Mouse id=11 [slave pointer (2)]
⎜ ↳ FSPPS/2 Sentelic FingerSensingPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
...
檢視輸出得知觸摸闆裝置名是 “FSPPS/2 Sentelic FingerSensingPad” ,id一般等于14。接下來可以使用如下指令:
# 禁用
xinput --disable 14
# 啟用
xinput --enable 14
實際上,對于一個裝置,我們還可以檢視它的各類屬性,例如檢視觸摸闆的屬性:
$ xinput --list-props 14
Device 'FSPPS/2 Sentelic FingerSensingPad':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, ......
Device Accel Profile (273): 1
...
是以,還可以使用另一種形式來啟用或禁用觸摸闆:
# 禁用
xinput --set-prop 14 "Device Enabled" 0
# 啟用
xinput --set-prop 14 "Device Enabled" 1
上面的id(14)可随時替換成對應裝置的名稱,但使用id更友善。
二、實作自動禁用/啟用觸摸闆
Touchpad Indicator能夠在插入滑鼠時自動禁用觸摸闆,并且在滑鼠移除後重新啟用。在指令終端下運作如下指令安裝:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
以上指令用到了PPA源,PPA 全稱為 Personal Package Archives(個人軟體包檔案),是 Ubuntu Launchpad 網站提供的一項服務。它允許個人使用者上傳軟體源代碼,通過 Launchpad 進行編譯并釋出為二進制軟體包,作為 apt/新立得源供其他使用者下載下傳和更新。運作
add-apt-repository
指令後便會在/etc/apt/sources.list.d目錄下生成對應的檔案源。有關PPA的詳細資訊可以檢視部落格文章: Ubuntu PPA軟體源的介紹與使用 , 在Ubuntu中添加和删除PPA的軟體源
另外,也可以編寫腳本來實作觸摸闆的打開和關閉功能。
#!/bin/bash
if [ `xinput list-props 14 | grep "Device Enabled" | awk -F ':' '{print $2}'` == 1 ]; then
xinput disable 14
else
xinput enable 14
fi
進一步思考:無論是Touchpad Indicator還是自己編寫的腳本,怎樣讓它們在開機時就運作呢? 查找資料,發現一可以使用rcconf, bum等工具來配置,二可以使用
update-rc.d
指令設定開機啟動某個腳本(或服務程式)。 但不必要的程式可能會拖慢開機速度,是以比較好的做法是:隻添加那些确實有必要開機啟動的服務。
相關連結: Ubuntu下添加開機啟動項的2種方法 和 Ubuntu添加和設定開機自動啟動程式的方法
如何編寫初始化腳本(init-scripts)可詳細閱讀該連結: LSB: System Initialization
有關
source
和
.
(點号)指令:使用該指令啟動某個腳本
abc.sh
和
./abc.sh
啟動方式的本質差別在于,前者在同一個shell裡執行腳本,而後者是在一個子shell裡運作的。
相關連結:LINUX Shell腳本中點号和source指令
參考網址
Ubuntu下禁用和恢複觸摸闆
ubuntu下使用腳本自動禁用筆記本觸摸闆和鍵盤
Stopping of unnecessary services during startup
ubuntu下設定開機啟動服務
版權聲明:本文為CSDN部落客「weixin_33801856」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_33801856/article/details/91622427