2020年11月30日 星期一

論文整理參考資料的幫手 zotero

zotero 工作流程 寫部落格比寫論文好玩多了, 而且不必出國開會。 不過今年因為疫情, 有很多不出國就可以發表論文的機會, 那就勉強寫一篇吧。 寫論文時最煩的就是整理參考資料。 這次發現有 George Mason 大學所開發的 zotero 可用, 太開心了!

2020年11月17日 星期二

grml 客製化筆記

Grml 是專門為網管/系統管理員所設計的羽量級 linux, 官網的 small 版只有 350M; 即使是 貴哥實驗室版 (grml64-small-g20?.iso) 也不到500M, 很容易就可以 boot to ram 毫邁帥氣裸奔。 它本身就提供了 grml2usb 指令可以把系統安裝到 usb 上變成可開機隨身碟。 不過我習慣用 extlinux 來處理開機的部分, 因為它的設定比 grub2 簡單很多, 只需要改設定檔、 把檔案放對位置就好。 假設你用 貴哥版的 ulyana 開機、 假設你的隨身碟是 /dev/sdz, 其中第一分割 /dev/sdz1 已經格式化為 fat32。

製作 UEFI 開機光碟 iso 映像檔

找了很久才找到製作 UEFI 開機光碟 iso 映像檔的方法。 Syslinux 官網的描述 看不太懂; 照著 這個 gist 做, 又參考 這個問答 線上版 xorriso 手冊 (電腦版的竟然不太完整?) 才終於理解。

2020年10月25日 星期日

修改/客製 initrd.img

Linux 開機時最早載入的兩個檔案是 vmlinuz (kernel) 及 initrd.img。 較舊的 initrd.img 是一個單純的壓縮過的 cpio 檔; 但較新的 initrd.img (我拿 ulyana 實驗) 則是在主要壓縮檔的前面還放了兩個未壓縮的 cpio 檔, 裡面分別包含了 kernel/x86/microcode/AuthenticAMD.bin 跟 early2/kernel/x86/microcode/GenuineIntel.bin 兩個檔案, 所以如果用 cpio -idv < .../initrd.img 只會看到 AuthenticAMD.bin 。 查到最接近有用的答案是 這個

不過後來想起來/查到有更簡單的方法: mkdir /tmp/initrd/ ; unmkinitramfs .../initrd.img /tmp/initrd/ 這會在 /tmp/initrd/ 裡面解出 early、 early2、 main 三個目錄, 其中 main 才是主要的內容。

2020年10月13日 星期二

十分鐘開始測試 UEFI 救命碟

原來製作 UEFI 版開機隨身碟完全不需要什麼特殊安裝動作, 只要把檔案放對位置就可以了! 請下載 uefi-boot-files.tgz、 移到你的隨身碟根目錄、 解壓縮、 重開機、 按某個鍵進入 UEFI 的開機選單。 在選單裡若看到 「你的隨身碟廠牌名稱」 跟 「UEFI 你的隨身碟廠牌名稱」, 則此時選擇有 UEFI 的那個選項, 然後就可以看到屠龍背景圖版本的 extlinux.conf 選單、 選擇啟動 "mint 20 ulyana xfce g20K forgetful"。 在左下角應該會看到它成功載入 vmlinuz 與 initrd.img, 最後卡在找不到 root file system, 這就成功了! 接下來只要照著 「講師趕時間」 的第二節 「聽眾回家必須自己做的事」 就可以完整開機進入 貴哥實驗室 ulyana 版前半 (只需十分鐘) 與後半所有動作都可以在 MS Windows 或 Mac OS 底下, 用檔案總管完成!

2020年10月9日 星期五

usb 喇叭雜音改用手機充電簡單解決

最近敗了一部新的桌機, 原本在舊機器用得好好的 usb 喇叭, 在新機器上出現了持續不斷的雜音。 換了兩組喇叭都一樣, 原本都快要抱上車送修了, 又突然想到用耳機測試一下, 結果耳機竟然正常沒雜音! 那兩組喇叭都是耳機線加 usb 電源線很便宜的那種, 所以結論很明顯: 雜音是 usb 供電造成的。 於是改用手機的 usb 充電器供電給喇叭, 雜音果然就沒了。 搜尋 「usb 喇叭 雜音」 可以看到不少文章, 很多大大說這種 「usb 只供電不傳訊號」 的喇叭品質較差, 若是 「只有一條 usb 線、 不需要接耳機線」 的喇叭, 因為傳的是數位訊號, 當然也就不會有這個問題, 而且喇叭有內建音效卡, 品質較好。 買較高級的喇叭當然也是一個解決方法; 不過如果同樣的便宜喇叭在某些電腦上可以在另外的電腦卻不行, 那是不是也意謂著有雜音的電腦的主機板或電源供應器確實有雜訊呢? 而且我的耳朵沒那麼好, 只要沒有雜音, 其實真的分不出喇叭的等級。 總之現在多了一個 usb 充電器, 我的接線有點亂, 但反正藏在電腦背後看不見; 不必換喇叭又能恢復不錯的聲音品質, 開心啦!

vokoscreen-ng 桌面活動錄影錄音

vokoscreen-ng 以前需要錄影桌面時, 採用的是 gtk-recordmydesktop ; 但是 它太老舊沒在維護了, 所以現在改用 vokoscreen-ng。

2020年9月15日 星期二

xfce4 之下的中文輸入法卡到陰: nvidia 顯卡

我的新家 mint ulyana 大致上住得很順手。 但是在兩部 nvidia 顯卡的電腦上, 兩大覽器都會無緣無故造成整部電腦死當。 於是把兩大瀏覽器裡的「硬體加速」選項關掉。 是可以上網了, 但換中文輸入法出問題 -- 換過 fcitx、 gcin、 ibus 都一樣 -- 打沒幾個字, 畫面就亂掉、 整部電腦當掉。 我的經驗是: 會讓 linux 死當, 沒什麼好說的, 一定就是 nvidia 顯卡的問題, 因為他們不希望別人幫他們寫自由軟體驅動程式。 最簡單的解法就是在開機命令列加上 nouveau.noaccel=1 選項, 例如我的 extlinux.conf 裡面, live CD 開機模式的部分長得像這樣:

label live:ulyana
	menu label mint 20 ulyana xfce, live CD [broken GeForce 7025]
	kernel /ulyana-g20K/vmlinuz-5.4.0-42-generic
	append initrd=/ulyana-g20K/initrd.img-5.4.0-42-generic net.ifnames=0 biosdevname=0 boot=live live-media-path=/ulyana-g20K/ nouveau.noaccel=1

這只關掉驅動程式 nouveau 的加速功能, 但還是可以看到不錯的解析度。 (如果用 nouveau.modeset=0 禁止更改解析度或更狠的 rd.driver.blacklist=nouveau 禁用 nouveau, 那麼就只有 1024x768 的解析度。) 可是... 開機之後, 自動登入失效, 跳回 lightdm 登入畫面。 輸入帳號密碼, 畫面閃一下看起來好像登入了, 但馬上又跳回 lightdm 登入畫面。

從觀念到實作的 btrfs 入門教學

如果你有至少一顆 ssd 硬碟, 貴哥大力推薦升級至較新版的 linux (kernel 5.4 以上, 例如 貴哥實驗室 ulyana 版), 快來享用可快照、 可容網多個系統根目錄、 省記憶體、 超讚的 btrfs 檔案系統。

2020年9月14日 星期一

Shallow Copy vs Deep Copy

Python 的 Shallow Copy 凡是遇到 「用指標實作深層資料結構」 的程式語言, 一定要知道淺層拷貝 (shallow copy) vs 深層拷貝 (deep copy) 兩者的差別。 網路上文章很多, 但圖畫得很清楚的卻很少, 連英文的也不是很滿意, 只好自己來舉一個例子、 畫一張圖。

2020年9月7日 星期一

android 最重要的幾個分割區及三大開機模式

上個星期手機重刷好幾次, 慢慢從昏頭轉向的逐步操作學習模式整理出一些觀念性的心得, 趕快趁記憶猶新記下爬文網址與心得。 本文的重點不是步驟, 而是解說 (希望可以) 適用於多數廠牌型號的 「分割區」 與 「模式」 這兩個觀念。 本文假設你粗略熟悉 linux 的分割區及開機流程概念 (vmlinuz、 initrd、 root file system) 如果對以下幾篇我的舊文的主題有一點概念, 會有點幫助 (但並非必須):

  1. extlinux 啟動系統的步驟
  2. 要或不要 root/越獄/刷機的理由
  3. Root/刷機之前的知識補給站

建議可以細讀本篇觀念文, 然後從 這裡 這裡 列出的多款 custom ROMs 當中挑一個, 屆時再根據你的手機型號及選擇的 ROM 去搜尋/爬其他教學文, 希望 root/刷機的過程可以因此順利很多、 少走冤枉路。

android 手機三種模式

2020年9月4日 星期五

virt-manager 的虛擬機區網曝光設定

在 virt-manager 裡面指定橋接以便連線至區網 如果說 kvm 是 linux 虛擬機的引擎, 那麼 virt-manager 就是完工的車子。 以前年輕喜歡耍帥直接開著 引擎裸露 (網路連線) 拼裝車 上街拉風; 現在懶惰了, 還是開著完工的成品車比較簡單。 gtwang 的文章 有 virt-manager 慢動作分解教學; 笑傲紅塵路 有更多關於虛擬化技術的詳盡解說。 這篇我只想簡單筆記一下我的使用方式, 特別是對外網路的部分。