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 慢動作分解教學; 笑傲紅塵路 有更多關於虛擬化技術的詳盡解說。 這篇我只想簡單筆記一下我的使用方式, 特別是對外網路的部分。

2020年9月3日 星期四

(幾乎不談指令) 概念性的 netplan 簡介

netplan 指定到底要用 NetworkManager 還是要用 networkd 來實作網路連線 Ubuntu 18.04 (還是更早?) 棄 /etc/network/interfaces 改用 netplan 以來, 我一直不敢面對, 一直還是堅持用 懷舊網路設定。 最近 移民 mint 20 ulyana, 總算搞懂 netplan: 它只是一個最高階層、 負責出一張嘴的空殼, 在它的設定檔 /etc/netplan/*.yaml 裡面有一句最重要的 renderer, 由這句話指定到底要用 NetworkManager 還是要用 networkd 來實作網路連線 -- 它們才是真正做苦工的程式。 有點像是董事長 (呃,我剛剛說了什麼~) 決定要請哪一位來當總經理/執行長: 沒有太多選擇, 大概就只有這兩位, 而且最好不要請兩位同時上任。 爬文時, 有人也人把這兩個選擇稱為不同的 backends。 很棒的 stackexchange 問答

2020年8月28日 星期五

GPT 硬碟切割, 以及如何 「模擬傳統 BIOS」 的方式開機 (legacy boot)

切割硬碟有兩種方式。 已沿用幾十年的舊式 MBR 分割方式 最多只能切成 3+1 個主分割區且只支援容量 2T 以下的硬碟。 較新的 GPT 分割方式則可切成最多 128 個分割、 支援硬碟容量是 MBR 限制的 2^32 倍 (約 40 億倍)。

另一方面, 主機板的韌體也有新舊之分。 二十世紀的板子採用 BIOS; 近十年來的板子幾乎都是較新的 UEFI。 新舊不同方式切割的硬碟, 搭配新舊不同的主機板韌體, 會產生四種組合。 本文關心其中一種組合 (表格左下角) 的 linux 開機設定方式。 (表格畫法參考 這篇)

主機板
BIOS/模擬 BIOS UEFI
硬碟 MBR 2TB 限制 <== 請模擬 BIOS
GPT 要設定分割屬性 大廠逐步奪權陰謀

2020年8月27日 星期四

貴哥實驗室 ulyana 版

xfce 版的 ulyana (mint 20) 桌面 2020 年的暑假, 又是跟隨著 ubuntu 新版 LTS 升級作業系統的時節。 在 20.04 focal fossa 版當中, 因為 ubuntu 強勢推動 (實用, 但也便利無原始碼軟體入侵 linux 的) snap 技術而引發自由派社群的抗議, 所以 (基於 ubuntu 的) mint 20 (代號 ulyana) 決定把 snap 割掉, 於是我也從 ubuntu 移民到 mint ulyana, xfce 版。 安裝完成後, 再度 用 debian live 技術製作 live CD、 製作 kvm 映像檔 ulyana-g20?.qcow2 跟 virtualbox 映像檔 ulyana-g20?.vdi, 通通放在 這裡, 歡迎大家下載。 以下是我的客製化的一些重點摘要。

2020年7月27日 星期一

vim 改顏色不必太認真研究細節

vim 設定顏色 前幾天用 vim 在 校閱/翻譯 gnu 網站的文章 的時候, 覺得字串的顏色好暗, 看不清楚。 本來以為需要修改 vim 輔助檔案 /usr/share/vim/vim版本/* 當中定義 .po 檔案格式的語法標示 (syntax highlight) 設定檔 syntax/po.vim, 或是要改顏色風格檔 color/*.vim。 後來找到 alvin alexander 的文章, 原來超簡單, 只要在 ~/.vimrc 裡面加一句: hi Constant ctermfg=yellow 並重進 vim, 字串顏色馬上變成亮亮的黃色, 舒服! 顏色風格檔 color/*.vim 裡面很多這樣的設定; 當然, ~/.vimrc 裡面的設定優先蓋過風格檔裡的設定。 指令 hi 是 highlight 的簡寫。 至於後面的部分呢?

2020年7月20日 星期一

離線萬國字典 QuickDic

QuickDic 畫面

我不時會把手機切到飛航模式 (例如在高鐵上), 專心閱讀文章。 可是讀英文文章總會遇到陌的生單字... 這時候就需要離線萬國字典 QuickDic

字典檔要另外下載 (太多排列組合了)。 可是在 app 裡面下載, 一直失敗, 即使手動開放 「儲存空間」 權限也沒有用。 找到 這個 issue 看來最簡單的方式是手動下載。 於是用電腦瀏覽 萬國字典庫、 下載我要的幾本字典、 用 primitive ftpdadb 把檔案傳到手機上, 直接放在這個目錄底下: /sdcard/Android/data/de.reimardoeffinger.quickdic/files/ (保留原來的 .zip 格式, 不要解壓縮)

裝好之後, 回到 quickdic 還是看不到字典。 改開啟檔案總管, 點選字典檔, 再選用 QuickDic 開啟, 那本字典就會出現在 「Dictionaries on device」 清單當中。 點進一本字典, 就可以搜尋單字囉。 字典的內容來自 wiktionary , 經常會有一兩個例句, 很有幫助。 可以自己產生/更新字典檔嗎? 產生字典檔的程式碼 沒有註解, 懶得研究。 沒關係, 現在沒在教英文課, 對我來說, 這樣就夠了; 需要知道更多的話, 等連上網路時再來 google。

2020年6月27日 星期六

nextcloud 搬家升級重點筆記

我的 nextcloud 所在的那部 ubuntu 18.04 伺服器掛掉了, 還好硬碟資料都還在。 乾脆 (1) 作業系統升級到 ubuntu 20.04 (2) nextcloud 從 15 版升級到 18 版。

又忘記 root 密碼之 mysql 8 版

忘記 mysql 的 root 密碼是日常; 可是 去年找到的方法 今年又不適用了, 煩吶! 今天處理的是 ubuntu 20.04 上面的 mysql 8.0.20。

寫完才發現 8.0 的官方「重設密碼」教學文件。 算了, 這篇 「google 爬文自學版」 還是留著以防萬一。