Try   HackMD

安裝與設定 Num Lock 鍵開機自動開啟並禁用功能

#!/bin/bash # 更新軟體庫 sudo apt update # 安裝 xmodmap 和 numlockx sudo apt install -y x11-xserver-utils numlockx # 設定開機自動將 numlock 鍵設為 on # 編輯或創建 ~/.xinitrc 檔案,確保 Num Lock 在登入時開啟 echo "numlockx on" >> ~/.xinitrc # 使用 xmodmap 取消 numlock 按鍵的功能 xmodmap -e "keycode 77 = NoSymbol"

將這段程式碼儲存為 setup_numlock.sh,並賦予執行權限:

chmod +x setup_numlock.sh

自動化腳本監控和同步狀態

可以在實體機上執行一個監控腳本,定期檢查虛擬機中的 Num Lock 狀態,並強制實體機保持一致。

  1. 監控腳本:
#!/bin/bash # 檢查並安裝 xdotool(若尚未安裝) if ! command -v xdotool &> /dev/null; then echo "xdotool 未安裝,正在安裝中..." sudo apt-get update sudo apt-get install -y xdotool fi # 持續監控 Num Lock 狀態 while true; do # 獲取當前 Num Lock 狀態 numlock_status=$(xset q | grep "Num Lock:" | awk '{print $8}') # 如果 Num Lock 為 off,則將其設為 on if [ "$numlock_status" = "off" ]; then xdotool key Num_Lock echo "Num Lock 已被關閉,已重新開啟。" fi # 每秒檢查一次 sleep 1 done

設定開機自動執行
2. 將上述腳本內容儲存為 monitor_numlock.sh
3. 賦予執行權限:

chmod +x monitor_numlock.sh
  1. 創建 Systemd 服務單元檔案
    在 /etc/systemd/system/ 目錄下創建一個新的服務單元檔案,例如 monitor_numlock.service。
sudo nano /etc/systemd/system/monitor_numlock.service
  1. 在檔案中添加以下內容:
[Unit] Description=Monitor Num Lock Status and Auto-enable if Disabled After=graphical.target [Service] Type=simple ExecStart=/path/to/monitor_numlock.sh Restart=on-failure User=your_username [Install] WantedBy=default.target
  1. 請將 /path/to/monitor_numlock.sh 替換為您的腳本的實際路徑,並將 your_username 替換為您的使用者名稱。
  2. 新載入 Systemd 並啟用服務
    執行以下指令重新載入 systemd,並啟用剛創建的服務:
sudo systemctl daemon-reload sudo systemctl enable monitor_numlock.service
  1. 啟動服務
    您可以立即啟動服務,無需重新啟動系統:
sudo systemctl start monitor_numlock.service
  1. 驗證服務狀態
    檢查服務是否正常運行:
sudo systemctl status monitor_numlock.service