2024-01-17

新安裝 Debian 12(Bookworm)之後的調整

2023-03-03

Linux 上用 Solaar 連接羅技的 Unifying 滑鼠或鍵盤

在 Debian Linux 上可以使用 Solaar 來管理羅技的 Unifying 滑鼠或鍵盤,可以透過「管理/軟體」搜尋 Solaar 並安裝,也可以透過指令:「sudo apt install solaar」來安裝。

啟動 Solaar 後按照畫面指示插拔接受器,並與滑鼠或鍵盤配對即可。

配對之後,滑鼠的選項中有個「Scroll Wheel HID++ Scrolling」不要勾,不然中間的滾輪會失效。

2022-12-05

Samsung Tab S7+ DeX 模式透過 ADB 安裝嘸蝦米輸入法

前言


我慣用的是嘸蝦米輸入法,但是 Samsung Tab S7+DeX 模式下只能用三星輸入法,也就是只有注音輸入法,使得原本想拿 Tab S7+ 當輕便筆電用,卻因為不順手的輸入法導致工作效率大減。

就在查詢許多文章摸索著安裝完嘸蝦米並使用一段時間以後,一時不慎把 Termux 刪掉了,因此又回到了只能使用注音輸入法的狀態。想要重新來過卻一直遇到莫明的錯誤,在幾個月之間趁著工作空檔陸陸續續試了幾次未果,直到最近查到 Termux 的 Issues 中關於無法與 ADB Server daemon 取得連結的討論,才如願重新安裝嘸蝦米了。

從討論串中可以看到這是 Samsung 手機與平板特有的問題,其他品牌的手機並不會出現這個錯誤。

操作步驟

  1. 到 Google Play 安裝 GCIN 輸入法:它現在的名字是「TW 中文輸入法 注音/倉頡/大易/行列/語音/英數」,嘸蝦米所需要的 .gtab 檔請自行準備。
  2. 啟用「開發人員選項」並打開「無線偵錯」:原本「開發人員選項」是隱藏起來的,參考三星網站的教學,在「設定>關於手機>軟體資訊」連續點擊版本號碼,直至出現「開發者模式已啓用」 進入開發人員選項後,打開「無線偵錯(wireless debugging)」功能。
  3. 在 Termux 中安裝 ADB:apt update && apt install android-tools
  4. 使用 ADB 透過無線偵錯與平板本身配對並連結
    1. 先連上 Wi-Fi,並開啟「設定」視窗和 Termux 視窗,讓它們各佔螢幕的一半,因為等等要邊看著「設定」視窗裡的資訊,邊在 Termux 中輸入指令。
    2. 點選「無線偵錯」中的「使用配對碼配對裝置」就會跳出配對所需的 IP、PORT 以及配對碼,其中 PORT 是隨機跳動的。

    3. 輸入指令  adb pair IP:PORT 後再輸入配對碼,用來配對平板。
    4. 輸入指令 adb connect IP:PORT,用來連結平板。

  5. 修改預設輸入法為 GCIN
    • 查詢現在的預設輸入法指令是「adb shell settings get secure default_input_method」
    • 查詢所有已安裝的輸入法指令是「adb shell ime list」
    • 更換輸入法的指令是「adb shell ime set "輸入法名稱"」
    • GCIN 輸入法的名稱是:「com.hyperrate.gcinfree/.Gcin」
    • 三星輸入法的名稱是:「com.samsung.android.honeyboard/.service.HoneyBoardService」

錯誤排除


概述

這是專屬於 Samsung 手機或平板的錯誤,當發現以下錯誤訊息時,要改以 fakeroot 設定環境變數,以及執行上述各個 adb 指令。

錯誤訊息

* daemon not running; starting now at tcp:5037
* daemon started successfully
* daemon still not running
error: cannot connect to daemon at tcp:5037: Not a data message

解決方法

  1. 安裝 fakeroot:apt install fakeroot
  2. 設定環境變數:
    • export ADB_SERVER_SOCKET=localfilesystem:/data/data/com.termux/files/adb_socket
    • export ANDROID_NO_USE_FWMARK_CLIENT=1
  3. 執行 adb 指令:
    • fakeroot adb pair <your device wifi address:pairing port>
    • fakeroot adb connect <your device wifi address:wireless debug port>

注意事項與改進想法

  1. 一旦離開再重新進入 DeX 模式就會還原成三星輸入法,因此需要重新配對、連結、更換輸入法。
  2. 可以把指令寫成 shell script,這樣就不用特別記輸入法的路徑名稱。

 參考資料

2022-01-09

[VS Code] 美化(Prettify)整個資料夾中的程式碼

 參考網址:

  1. formatting - How do I format all files in a Visual Studio Code project? - Stack Overflow
  2. Format Files - Visual Studio Marketplace

步驟:
  1. 安裝喜歡的 prettier,常見的有:Prettier - Code formatter,我安裝的是 Prettier Now
  2. 將預設的 formatter 設定為安裝的 Prettier,在 VS Code 的「設定」中搜尋「Editor: Default formatter」再從下拉選單中挑選想用的 prettier 就好。
  3. 安裝 VS Code 的 extension:Format Files
  4. 在 VS Code 中開啟欲美化程式碼的資料夾。
  5. 按快速鍵「Ctrl+Shift+P」並搜尋「Start Format Files: Workspace」。
  6. 開始搜尋所有檔案,並且詢問是否真的要美化它們。

2021-10-03

調整 VirtualBox VDI 檔的大小

VM 的硬碟容量不夠用了,所以需要擴大 VDI 檔的大小。假設原來的大小是 10GB,要擴大成 20GB,先以管理員權限開啟一個命令列字元視窗,輸入以下指令調整:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "X:\Need2Extended.vdi" resize 20480

參考網址:

修正 mdadm: No arrays found in config file or automatically 錯誤

前言

最近因為 VirtualBox 的 VM 硬碟空間不夠了,調整 VDI 檔容量之後,利用 GParted 將硬碟分區重新調整一下,原本的硬碟分區規畫為:

/dev/sda1    /
/dev/sda5    swap
其中的 swap 是在 logical partition 裡的,但是我後來調整為
/dev/sda1	/
/dev/sda2	swap
也就是移除了 logical partition,新增一個 primary partition 做為 swap。也就是這個動作使得 swap 磁碟分區的 UUID 改變了,於是開機時出現了以下的錯誤訊息:
mdadm: No arrays found in config file or automatically
同時 swap 也不見了(當然!),因為在 /etc/fstab 中記載的 UUID 找不到了。

釐清了錯誤發生原因,解決問題的方法就簡單分成三個步驟:

  1. 找出現有 Partition 的 UUID
  2. 更新 /etc/fstab 中的 UUID
  3. 更新 initramfs 和 GRUB 的設定
列出各 Partition 的 UUID
sudo blkid -o list
輸出的結果是如下很整齊的表格形式

更新 /etc/fstab 中的 UUID

將原本 /etc/fstab 中的 SWAP 磁區 UUID 改成正確的。

更新 initramfs 和 GRUB 的設定
update-initramfs -u
update-grub
完成之後重開機,在開機過程中就沒看到錯誤訊息,swap 也有 mount 上了。


參考網址:

2021-03-13

將 XFCE 改造成 Mac 外觀

 

在 Reddit 的 Linux Mint 板看到一張 screenshot,覺得介面很乾淨,作者說是參考影片 Customize Your Xfce Desktop Look Like MacOS Big Sur 做出來的,但是有改了些許步驟。


 


 


Manjaro Linux 更新 GRUB 後無法抓到 Windows

最近 GRUB2 因為安全性的關係需要更新到最新的版本,但更新之後原本的多重開機選單就會失效,抓不到原本安裝的 Windows 了,搜尋了一下原來並不是只有我這樣,而 Manjaro Linux 的公告[Stable Update] 2021-03-08- Kernels, Plasma 5.21.2, Haskell, Kodi, Grub, KDE-Dev裡就有寫怎麼解決這個問題了。

  • Grub got some needed security updates 65. Note that os-prober is now disabled by default for security reasons: broken patch 40; fixed patch 61. More infos about it here 176. To restore the old behavior, open a terminal and issue sudo echo GRUB_DISABLE_OS_PROBER=false >> /etc/default/grub && sudo update-grub

如想恢復開機選單,要在 /etc/default/grub 裡加入一行

 GRUB_DISABLE_OS_PROBER=false 
之後執行
 sudo update-grub 
後就好了。