2020/09/27

計算日出時間、日中時間、日落時間不求人


Calculate Your Own Sunrise, Transit, And Sunset Times


【摘要】
提供計算日出、日中、日落時間的程式,並說明使用方法。


【前言】

▪此處提供計算各地日出、日中、日落時間的程式。因本程式是依各地的座標來計算時刻,所以只要給予精確的經緯度,即使小地方的時刻也能算得出來,譬如某間學校、某地寺廟、某戶民宅等。


▪本程式可以計算的範圍是:

  • 年份:公元 ±3000 年之間
  • 經度:±180° 之間,東為正
  • 緯度:±72° 之間,北為正

  相信這個範圍應能滿足絕大部分人的需求。

2020/08/19

如何在 Debian GNU/Linux 10 系統用服務顯示 Wifi 狀態與查詢傳輸量

Notify Wifi Status And Query Statistics Using Service On Debian 10


【摘要】
敘述在 Debian 10 系統用 systemd 的 Service 顯示 Wifi 狀態,
以及記錄與計算收發量的方法。


【目錄】


    【前言
    【抽取 syslog 的內容
    【監視記錄檔
    【連結的 .service 檔
    【處理 Wifi 狀態的指令
    【記錄 Wifi 傳輸量
    【查詢 Wifi 傳輸量
    【查詢 Wifi 傳輸量的累積圖
    【後語

【前言】

一、現在的智慧型手機大多有顯示或控制上網使用量的程式,因為不是每一個用戶都是申請上網吃到飽的付費方案。試用了手機本身的和幾個另外安裝的應用程式,發現較簡單的程式只顯示每個月的量,較詳細的可以顯示年、月、週、日的量。但似乎沒有一個可以查詢自訂時段的量,譬如某日上午八時到下午五點的傳輸量。所以就想出了本文的方法,特將結果記錄於此。


二、本例的手機沒有 rooted,無法存取手機的系統資料,所以沒有辦法在手機端動手腳。但因本例目前大多用電腦發送 Wifi 讓手機上網,所以就變通地在電腦端想辦法。雖然電腦 Wifi 的收發量都比手機的上網量要大一些,但因差距不大,做個參考,還是可以的。當手機使用 SIM 卡上網時,心裡才有個底,會用掉多少 $$。


三、本文的內容大致分為:

  1. 抽出 syslog 有關 Wifi 狀態的記錄
  2. 用 systemd 的服務(service)監視上述的記錄檔,當狀態改變時,顯示通知
  3. 在 Wifi 的啟用期間,定時記錄傳輸量;Wifi 中斷,即顯示通知並停止記錄
  4. 查詢某時段的 Wifi 收發量

2020/07/09

插入隨身碟即自動備份的方法

Auto Backup Files After Inserting A Storage Device


【摘要】
敘述將指定的隨身碟連接到電腦後,即自動備份檔案到隨身碟的方法。


【目錄】

    【前言
    【方法
      【規則檔
      【序號
      【程式檔
    【後語

【前言】


定期備份檔案是非常重要的事。如果是誤刪檔案,還有機會用復原軟體救回來。但硬碟若突然故障,會令人欲哭無淚的。


個人每天都會將重要檔案備份到隨身碟,每週則將整個系統備份到外接硬碟。偶而遇到檔案發生問題時,都會非常慶幸有按時備份。


本文敘述將特定的隨身碟插入 USB 插座後,會自動備份的方法。作業系統是自己組合的 Debian GNU/Linux 10。

2020/07/02

評比免費網站之部落格


【摘要】
比較十二個可免費建站的網站所提供的部落格,項目包括:
是否有中文界面、建立網站的情形、使用部落格的狀況、是否被大陸封鎖等,共三十餘項。


【目錄】


    【前言
    【特性比較
    【文章編輯界面
    【Ping比較
    【搜尋比較
    【後語

【前言】


一、台灣有很多免費的網誌(Blog),但其中也有不少被大陸封鎖。如果沒有要和大陸地區的人分享文章,用台灣的網誌即可。若不用大陸的服務又要讓大陸民眾看得到,通常要用外國的網站。


二、全世界有非常多的平台可以建立網站,其中大多有網誌組件。然而撰寫網誌的功能不一,有些很好用,有些卻很陽春。孰優孰劣,如人飲水。為了一窺究竟,最近在十餘個網站建立部落格,將試用心得記錄於此。讓有心人,先有個概念,縮小嘗試範圍,節省時間。


三、本文只包含可以免費建站的網站,略去了十六個必需付費的(依字母排序)如:

  1&1 lonos、bigcommerce、carrd、domain.com、duda、gator、ghost.org、godaddy、homestead、imcreator、shopify、squarespace、ucraft、ukit、web.com、yola


四、十個免費的也不包括在本文之中,各有其原因(依字母排序)略述於此:

  • adobe muse:已中止
  • constant contact:以 email 為主
  • format:較適合相片
  • google sites:大陸看不到
  • imweb:開戶要手機號碼
  • jimdo:網站可能被封鎖,詢問客服,數日才回覆,說是技術性錯誤;大陸看不到
  • medium:大陸看不到
  • tumblr:短文為主
  • webs:不容易發佈
  • webstarts:開戶要用手機確認

五、去掉上面的,本文介紹的十二個(依字母排序)是:

  blogspot、mozello、simplesite、site123、strikingly、webflow、webnode、website、websitebuilder、weebly、wix、wordpress.com

2019/12/20

Conversion between Julian and Gregorian Dates using AWK

以 AWK 轉換儒略日期與公曆日期


【前言】


▪本文介紹儒略日期(Julian Date)與公曆日期(Gregorian Date)的互相轉換。

▪什麼是儒略日期?此處先介紹一些專有名詞。
  • 儒略週期(Julian Period):公元前 4713 年開始,長達 7980 年的紀年法。例如公元 2019 年是儒略週期的 6732 年。
  • 儒略日(Julian Day):自儒略週期開始的日數。
  • 儒略日數(Julian Day Number, JDN):公元前 4713 年元旦午時(儒略週期開始,JDN=0)到某日午時的日數,以世界時(Universal Time, UT)為準。例如公元 2000 年元旦 12:00(UT) 的儒略日數是 2451545。
  • 儒略日期(Julian Date, JD):儒略日數加上時分秒換算為日之小數值,即 JDN+(小時數/24)。例如公元 2020 年元旦,台灣上午十時二十分三十秒的儒略日期是 2458849.597569(UT+8.00)。

本文更新於 WordPress:
Conversion between Julian and Gregorian Dates using AWK

2019/12/03

用 AWK 將 Markdown 轉為 HTML


【前言】


▪Wiki 說 Markdown 是一種輕量級標記式語言,但又似乎沒有中文翻譯,本文姑且將之譯為「輕標記」語言。

▪本文的輕標記與原型的有些不同而且較嚴格,譬如原本粗體字和斜體字都可以用 * 和 _,本文將之簡化,粗體字只能用 *,而斜體字只能用 _,而且只能用一對。再如無序清單,原本可以用 *、+、-,而本文只能用 +。諸如此類地,將一種標記專用於一類,不相混雜,故有不少改變。另外,本文增加了一些輕標記,例如具有捲軸的 <pre>、段落標記、黃底字等。使用前請詳閱語法。

▪本程式的輕標記支援簡單的表格,但不支援直接使用 html 程式碼。


本文更新於 WordPress:
Converting Markdown to HTML with AWK

awk/gawk 入門參考



前言


▪過去為了編輯倉頡碼,收集了網路上許多版本的資料。因各版本的排版不同,就用多個程式將所需資料抽取出來,awk 便是其中之一。但是當時只是以解決問題為主,並未了解 awk 的全部功能。近日特別騰出時間將 awk 手冊從頭看到尾,用中文記錄下來,便產生了本篇網誌。

▪awk 是原版的程式,gawk 是 GNU 擴充的版本,本文以 gawk 為主。

▪本文只是入門的介紹,並不完整,但大部分的內容都包括了。

▪本文故意將參考資料中特定的英文字詞改為大寫是為了區別非特定字詞。

▪本文是入門的介紹,所舉的例子並沒有很深奧。此外,「範例」都是能執行的,可以複製到終端機模擬器中執行看看。

▪例子若有輸出入,會用⬧標出範圍。通常只加在左邊,顯示開頭的位置;若有必要標出結束的地方,也會加在最右邊。

▪參考資料列舉項目時,大多依字母排列;本文為了將類似的項目放在一起,有所更動。

本文更新於 WordPress:
AWK/GAWK Getting Started Reference

2019/10/04

用 Bash 和 Zenity 指令更換 GTK3 佈景

【前言】


一、前一篇敘述了十六種 gtk3 的佈景,每次要更換還要自己改設定檔,頗為麻煩。因此特別用 bash 和 zenity 指令寫了一個很短的程式,以快速更換佈景,在此與大家分享。


二、這十六種佈景的 css 檔要先依前一篇所述的方法一一製作好(都只要改前面十九行即可),才能使用本程式。檔名以紅色為例,深淺分別是 red-dark.css 和 red-light.css。其餘顏色的英文是 orange、yellow、green、blue、indigo、purple、gray。


三、本文假設佈景目錄名是 Green,放在 $HOME/.themes/ 目錄中。Green 目錄裡是一 gtk-3.0 目錄,所有的 css 檔都放在這裡面。


四、完整的指令在【附錄】裡。本例將之存成 change-theme 檔,放在 $HOME/.local/bin/ 目錄中,且設為可執行檔。開啟虛擬終端機,輸入 change-theme 即可。當然 $PATH 需已包含此目錄。


本文更新於 WordPress:
Changing GTK 3 Themes with BASH and Zenity Commands

2019/09/29

GTK+3 Theme

【前言】


過去本網誌曾談到 gtk3 的設定,但都不完全。最近將 Adwaita 的設定 從頭到尾檢查一遍,去除不必要的,修改保留的,新增必要的,完成了深灰色的佈景。

完成後,除了 GTK3 Demo 和 GTK3 Widget Factory(註一)以外,又測試過二十餘個 gtk3 應用程式,大致都沒問題。(註一:這兩個程式來自 gtk-3-examples 程式包。)

以下範例是用 Synaptic 程式,而完整的設定內容在【附錄】裡。


本文更新於 WordPress:
GTK 3 Themes

2019/09/10

GTK+ 3 CSS Nodes

【前言】


設定 GTK+ 3 的樣式時,一定會用到 CSS nodes 和 style properties。但這些資料分散在各個 widget 的說明中,不利查詢。如果集中到一個檔案裡,會比較方便。本文敘述收集 nodes 的方法,另一篇敘述收集 style properties 的方法

來源資料是官網的 "GTK+ 3 Reference Manual",目前的版本是 3.24.11。

收集的方法是用常見的 bash 和 Linux 指令,作業系統是 Debian 10。

本文更新於 WordPress:
All GTK 3 CSS Nodes

GTK+ 3 Style Properties

【前言】


設定 GTK+ 3 的樣式時,一定會用到 CSS nodes 和 style properties。但這些資料分散在各個 widget 的說明中,不利查詢。如果集中到一個檔案裡,會比較方便。本文敘述收集 style properties 的方法,另一篇敘述收集 CSS nodes 的方法

來源資料是官網的 "GTK+ 3 Reference Manual",目前的版本是 3.24.11。

收集的方法是用常見的 bash 和 Linux 指令,作業系統是 Debian 10。

輸出的資料不含過時不用的 (deprecated) 項目。

本文更新於 WordPress:
All GTK 3 Style Properties

2019/08/24

編譯可以傳送加密串流到 Facebook 的 ffmpeg

【前言】


前面曾敘述過用 ffmpeg 在 Facebook 直播視訊的方法。雖然現在還可以傳送未加密的串流,但 2019/11/1 起只能傳送加密串流。目前 Linux 程式包安裝的 ffmpeg 並無法傳送加密串流。如果到時還不能支援,就必需自己下載 ffmpeg 程式碼來編譯才可以。

本例所編譯的 ffmpeg 以模仿官方版本為基礎,另外加上傳送加密串流的功能,所以可以取代官版。

本文更新於 WordPress:
Compiling FFmpeg to Send Encrypted Streams to Facebook

2019/08/12

在 Debian 10 安裝 VirtualBox 6

【前言】


虛擬機器是很好用的工具。當要試用不同的作業系統或應用程式時,先在虛擬機器中進行;等確定採用後,才安裝到主系統,這樣可以保持主系統的乾淨。

Debian 8 的程式庫還包含 VirtualBox (VB),可以直接安裝,而 Debian 9 已移到 backports 程式庫了。大概是因為要用到 non-free 的程式,Debian 10 連 backports 程式庫都沒有 VB 了。

雖然官網推薦使用 Virtual Machine Manager (virt-manager),但試用的心得是和 VB 差太多了,少了很多功能。所以只好自行安裝 VB。本文就介紹安裝方法。

本文更新於 WordPress:
Installing VirtualBox 6.1 on Debian GNU/Linux 10

FluxBox Debian 10 作業系統 - 中文簡易版

【前言】


前面介紹過安裝陽春 Debian 10 的過程,此篇則記錄了圖形界面與應用程式的安裝。
本例示範一個精簡型系統,界面為英文,但可以顯示和輸入中文。主要的系統工具和應用程式有:

圖形界面:Xorg
視窗管理:Fluxbox
檔案管理:Spacefm
磁碟管理:Gparted
套件管理:Synaptic
程式管理:Lxtask
虛擬終端機:Lilyterm
文書編輯:Geany
中文輸入:Ibus
中文字型:Arphic, Noto
檔案壓縮:Xarchiver
清除工具:Bleachbit
工具列:Fbpanel
剪貼簿:Diodon
截取螢幕:Scrot
網路瀏覽:Firefox
音訊工具:ALSA, PulseAudio
多媒體播放:VLC
pdf 閱讀:Evince

本文更新於 WordPress:
FluxBox Debian GNU/Linux 10 - Chinese Version

網路安裝中英文版 Debian 10 的步驟

【前言】


過去發文大都談 Ubuntu 系統。最近突然想到,Ubuntu 來自於 Debian,那為何不試試 Debian 呢?於是就產生了這幾篇的網誌。

、先去 Debian 網站下載網路安裝工具 mini.iso。


、再下載 non-free firmware - firmware.cpio.gz

Debian 官方準備的 firmware 只有 free 版,而每個人的電腦配備不盡相同,很有可能要用到 non-free 版。以本例所使用的筆電為例,若不加入 non-free firmware,就無法使用 Wifi,所以最好要有。


、將 non-free firmware 加入 initramfs 中。

所有的 firmware 最好在安裝陽春系統時就一併安裝,所以必需在安裝前就加入。Debian 官網僅略述其法,詳細方法在下一節。


、將安裝檔安裝到隨身碟(假設是 sdb)。

如果不用 non-free firmware,直接用下載的 mini.iso,可用的指令是:
sudo dd if=mini.iso of=/dev/sdb bs=1M status=progress

但若要用,因步驟較多,所以詳述於下。

註:很多人說此處 dd 要有 oflag=sync,但本人從來不用,所得到的隨身碟一樣可以拿來安裝系統,各位可以比較看看。


、為了方便截圖,本例是安裝在 VirtualBox 中。中文版、英文版各安裝了一次,將相關步驟的圖放在一起,以便對照。使用的作業系統是 Ubuntu 18.04。


本文更新於 WordPress:
Network Installation of Minimal Debian GNU/Linux 10

2019/07/15

用 Wine/PlayOnLinux 安裝 CBETA 閱經器 CBReader2X

前言
安裝
界面字型
悉曇字型及蘭札字型
界面設定
後語

【前言】


前面曾介紹過 2016 版的安裝法。因為很久沒去 CBETA 網站,不知道已經有 2018 版,所以一直沒有更新。本篇敘述 2018 版的安裝,作業系統是 Ubuntu 18.04。


【安裝】


1. 安裝 Wine 和 PlayOnLinux

sudo apt install playonlinux

2. 下載 CBReader 安裝檔


至 CBETA 下載安裝程式 cbreader2x_win_all_v042_20190415.exe。
這是 7Z 自動解壓縮檔,也就是綠色安裝。


3. 在 PlayOnLinux 中安裝 CBReader2X


a. 執行 PlayOnLinux。
安裝時,有包括其 .desktop 檔,所以在程式選單中應該有。

主視窗開啟後,稍微放大一些,不然有些內容可能會看不到。


b. 按上方工具列 [Install] 按鈕;第一次執行會下載最新程式清單。

(清單下載完不要去玩,先安裝好 CBReader 再說。)


c. 點選視窗左下方 [Install a non-listed program] 連結。


d. 會出現以下注意事項:
During a PlayOnLinux installation:

- Leave the default install directory unchanged;
Just make sure to install to the C: drive, which is the only one managed by PlayOnLinux. Check in the wiki how you can manage the host system disk space;

- If asked, don't let the installer launch the newly installed program for you at the end of the installation;

- If asked if you wish to reboot Windows immediately, you may answer Yes, but in no case should you reboot the host operating system by yourself.
第一條是要使用者不要變更預裝的目錄。
第二條是勿讓安裝程式在最後一步啟動剛安裝好的程式。
第三條是若有要求重啟系統,可以答 Yes,但使用者不要自己去重啟。

可勾選左下方 [Don't remind me anymore]。
按 [Next]。


e. 出現以下訊息:
PlayOnLinux is not related to WineHQ.

To ensure that the results will be comparable from one computer to another and to avoid regressions, we specify a working Wine version for each program. This Wine version will quickly become out to date, but we won't change the installer until new tests are made and it takes time.

For those reason, please do NOT send any bug report or ask any support on WineHQ forums if you are using PlayOnLinux.

If you want to help the project to make some tests in order to avoid using out of date Wine versions, do not hesitate to go on our website.

Thank you.
主要意思是:若有問題,不要去 Wine 網站詢問,因為與他們無關。

可勾選左下方 [Don't remind me anymore]。
按 [Next]。


f. 出現 [Manual installation] 訊息。
按 [Next]。


g. 接著是 [PlayOnLinux Wizard] 窗格。
根據上面注意事項第一條,選 [Install a program in a new virtual drive]。
按 [Next]。


h. 輸入虛擬硬碟名稱。
此處以 iDrive 為例。
按 [Next]。


i. 詢問安裝前要做什麼。
都不選,按 [Next]。


j. 詢問虛擬硬碟種類。
選 32 位元者,按 [Next]。

這會新增 $HOME/.PlayOnLinux/wineprefix/iDrive 目錄 。

(試過 64 位元者,無可安裝的瀏覽器。)


k. 詢問安裝程式。
按 [Browse] 選下載的 CBReader 安裝檔。
按 [Next]。


l. 解壓縮目錄請選 C:\Program Files (直接輸入會比較快)。


m. 建立捷徑。
CBReader.exe,按 [Next]。


n. 視個人喜好更改捷徑名稱。
本例不更改。
按 [Next]。


o. 其他捷徑,自己看著辦。
最後,選第一項 [I don't want to make another shortcut]。
按 [Next]。


至此,CBReader 大致安裝完畢,但還缺一些必需零件。


4. 安裝必需組件


a. 在 PlayOnLinux 主視窗選剛建立的 CBReader 捷徑。


b. 按上方的 [Configure] 按鈕。


c. 選 [Install components] 分頁。


d. 安裝 [Internet Explorer 6]。

(試過 IE8,無法安裝。)


e. 完成後,按右上角 X 關閉窗格。


安裝完成


5. 啟動 CBReader


在 PlayOnLinux 主視窗:

a. 雙擊 CBReader 捷徑,或
b. 點選後,按左上方 [Run] 按鈕,或
c. 點選後,按 [Enter]。

當然,用桌面捷徑會比較方便。

啟動 CBReader 後會發現右邊經文窗格可以正常顯示,但界面的中文字都是小方格。這大概是因為它使用了「新細明體」而 Linux 系統沒有此字體之故。

如果出現彈出窗格,那是詢問是否要更新。因為也是一大堆的小方格,所以先關掉。


註:因 IE6 是安裝在 PlayOnLinux 中,所以從 Wine 執行 cbreader.exe 會有問題。


【界面字型】


1. 關閉 CBReader 和 PlayOnLinux


2. 用文書程式開啟 $HOME/.PlayOnLinux/wineprefix/iDrive/user.reg


3. 取代 Windows 的中文字型


在 user.reg 檔末加入以下內容:

[Software\\Wine\\Fonts\\Replacements]
"MingLiU"="AR PL UMing TW"
"PMingLiU"="AR PL UMing TW"
"SimSun"="AR PL UMing CN"

也可以用 Noto CJK 字型,例如:

[Software\\Wine\\Fonts\\Replacements]
"MingLiU"="Noto Sans Mono CJK TC Regular"
"PMingLiU"="Noto Sans CJK TC Regular"
"SimSun"="Noto Sans CJK SC Regular"

可以把 Regular 換成 Bold,如果覺得不夠粗的話。

文鼎的“AR PL UMing”是 Linux 系統很常用的中文字型,有如 Windows 的新細明體。Google 的 Noto 字型則是 Ubuntu 在新增中文語系時附帶的。這兩種字型在大部分的 Linux 正體中文系統中都有。


4. 啟動 CBReader 看看是否有效


如果出現更新窗格,即可更新。若未出現,可按上方的「更新檢查」。


【悉曇字型及蘭札字型】


這兩個字型若直接用 CBETA 提供的,會有問題,所以必需修改成 Linux 可以用的。

1. 安裝 FontForge

sudo apt install fontforge
共 21 M。


2. 至 CBETA 下載悉曇字型及蘭札字型


必需用舊版的。在 2016/2018 光碟映像檔中有舊版的,另外在 2016 版的安裝程式中也有。但將 2018 版的安裝程式在 Linux/Wine 中解壓縮後,倒是沒看到字型檔。

最新針對 Windows 10 和 Mac 系統的字型檔有問題。用 fontforge 無法載入,而用 fontlint 檢查,則有 'name' table 中,Mac 和 Windows 的名稱不一致的警告訊息及以下錯誤訊息:
This font has an illegal format 4 subtable with too little space for all the segments.
This error is not recoverable.



3. 修改字型檔


a. 原檔保留,將字型檔複製到另一目錄;修改字型檔的權限,自己要能 Write;然後用 fontforge 開啟:

fontforge Siddam.ttf


b. 在 FontForge 選:

[Encoding] > [Reencode] > [ISO 10646-1 (Unicode, Full)]

[Element] > [Font Info] > [PS Names] > [Fontname] > 改成 Siddam > [OK]

[File] > [Generate Fonts] > 檔案類型選 TrueType > 檔名 Siddam.ttf > 可取消 [Validate Before Saving] > [Save] > [Replace]

若有任何錯誤或警告訊息,全部略過。


c. 如果想做 .otf 檔:

[Encoding] > [Reencode] > [ISO 10646-1 (Unicode, Full)]

[Element] > [Font Info] > [PS Names] > [Fontname] > 改成 Siddam
[Element] > [Font Info] > [General] > [Em Size] > 下拉選單中選 1000 > [OK]

[File] > [Generate Fonts] > 檔案類型選 OpenType (CFF) > 檔名 Siddam.otf > 可取消 [Validate Before Saving] > [Generate]


d. 關閉 FontForge 視窗,不需儲存。


e. 擺放字型檔的目錄:

如果只有 CBReader 會用到,放在:
$HOME/.PlayOnLinux/wineprefix/iDrive/drive_c/windows/Fonts/

如果自己其他場合會用到,放在:
$HOME/.fonts/

如果系統其他場合會用到,放在:
/usr/share/fonts/ (若有 truetype 或 opentype 目錄,可放其中)。

以上三處任一處皆可,但不要 .ttf 和 .otf 同時有。一方面,內容都是一樣的;另一方面,可能造成混淆。.otf 檔似乎是 .ttf 檔的 3~4 倍大。


f. 啟動 CBReader,找篇有悉曇字的來檢查,如 「事𢑥部類」 T2132 《悉曇字記》(T54, No. 2132)。


g. 蘭札字型檔 Ranjana.ttf 也需做同樣的修改。含蘭札字的經文:「密教部類」 X1079 《持誦準提真言法要》(X59, No. 1079)。


【界面設定】


1. 視窗標題列


CBReader 視窗最上方的標題列預設由 Linux 的視窗管理員控制。如果要由 Wine 控制,改變其顏色和字型,先關閉 CBReader,然後:

a. 在 PlayOnLinux 主視窗點選 CBReader 捷徑。

b. 按上方的 [Configure] 按鈕。

c. 選 [Wine] 分頁。

d. 按 [Configure Wine]。

e. 選 [Graphics] 分頁。

f. [Allow the window manager to decorate the windows] 取消勾選

g. 到 [Desktop Integration] 分頁。在 [Item] 下拉選單選要修改的項目。

使用中視窗標題列:
 左側漸層色是 [Active Title Bar]
 右側漸層色是 [Active Title Bar Gradient]
 文字是 [Active Title Text]
非使用中視窗標題列:
 左側漸層色是 [Inactive Title Bar]
 右側漸層色是 [Inactive Title Bar Gradient]
 文字是 [Inactive Title Text]

註:[Graphics] 分頁的 [Allow the window manager to control the windows] 不建議取消,不然切換視窗會有問題。


2. 其他組件/元件


2018 版的 CBReader 視窗中,大部分都無法由 CSS 或 Wine 改變。除了標題列,只有邊框和捲軸可以由 Wine 設定。這和上一小節一樣,在 [Item] 下拉選單中改變設定值。

下面兩圖是修改前後的比較。下圖特別用紅色標出可以改變的組件,不難看出能改變的部分很少。所以,乾脆除了標題列以外,都用原值就好了。


【後語】


1. 依 CBETA 說法,2018 版改用 HTML5 格式,至少要用 IE11 以上的瀏覽器,而 Linux/PlayOnLinux 只提供到 IE8,所以有許多功能都無法使用。譬如:「主功能區字體」的設定無效,「引用複製」等功能完全失蹤,無法顯示校註。


2. 大藏經某些罕用字會用到 Unicode 10 字型。有兩個地方可以下載含 Unicode 10 的花園明朝體:

第一個是 fonts.jp/hanazono,提供 .ttf 檔,最新版是 2017-09-04 版。
第二個是 github.com/cjkvi,提供 .otf 檔,最新版是 8.030 版。

但是安裝後,Linux 的文書編輯器(如:geany)、瀏覽器(如:firefox)皆可顯示罕用字,如:𮎃([舟*冗]),但 CBReader2X 則無法顯示。即使是用上述的取代法,也是一樣都是小方格。所測試的經文是 A091n1057_p0314a07。

這大概是因為使用 IE6 的關係。這個問題目前好像仍然無解。


3. CBETA 雖然很發心、很努力地想更新 CBReader,但受限於各種因素,仍無法同時滿足各平台的要求;顧得了 Windows 和 Mac,也顧不了 Linux 系統。不過,我們仍應該感謝 CBETA 的各位大德,不應一昧地指責 CBReader2X 的缺點。


4. 結論:還是建議 Linux 使用者先安裝 CBReader 2016 版

2019/02/10

用 Imagemagick 製作陰曆行事曆 (Calendar)

【前言】

本文敘述用 imagemagick 和 bash 指令製作陰曆行事曆的圖片,並將之固定在桌面上。

一般月曆的開頭都是陽曆 1 號,再附上對照的陰曆。本文用陰曆初一做開頭,以陽曆為對照。

除了 bash 以外,會用到的程式有 imagemagick、zenity、Linux 內建的 date。

所有的檔案要放在同一個目錄裡。



本文更新於 WordPress:
Create Calendar with ImageMagick

2018/04/06

Bash 隨機字串程式 (Random String Generator)

有非常多的方法可以產生隨機字串,例如下行指令可以產生 16 個字元的隨機字串:
tr -cd '[:graph:]' < /dev/urandom | head -c 16 ; echo

本文敘述另一種方法,可以依需求選擇字元種類而長度隨意。字元可以是單純的數字、小寫字母、大寫字母,或各種組合,也可加入符號,共有十四種類別。隨機字串的產生主要是靠 shuf 指令。


本文更新於 WordPress:
Random String Generator Using shuf Utility

2017/12/26

用 rsync 複製系統

【前言】


前面已有多篇敘述用 dd 複製系統。這種方法的問題是必需複製整個分割區。也就是說,檔案以外的空白區 (free space) 也要複製。如果用 rsync,就可以只複製檔案,以節省時間、空間。

Linux 系統的分割區可以有很多種分配方式。最單純的是只有一個,也就是把所有目錄都放在一起。其次是兩個分割區,系統一個,HOME 一個。也有人用更多的分割區,把系統目錄分散在多個分割區。本文介紹前兩種狀況。

此外,除了可以複製非使用中的分割區,也可以複製正在使用的分割區。下文都一併介紹。

所以,要複製的狀況有:
狀況一:單一分割區,非使用中。
狀況二:雙分割區,非使用中。
狀況三:使用中系統。


本文更新於 WordPress:
Backup And Restore Debian GNU/Linux 10 Using rsync Commands

2017/12/16

用 Wine/PlayOnLinux 安裝 CBETA 閱經器 CBReader

【前言】


CBETA 的 CBReader 是依 Windows 系統製成,無法直接在 Linux 使用,這是非常遺憾的事。所幸,Linux 有 Wine,可藉此使用 CBReader 閱經器。但是,大家好像很擔心因果似的,沒人詳述安裝過程,致使新手不知如何安裝。

本篇網誌敘述安裝法,以利大眾。因無提供任何程式供人使用,應該沒有侵犯版權。若有因果,欣然接受;只願大眾深入經藏,智慧如海。至於依之而行的人,若有因果,則需自行承擔。

特別提醒:將安裝好的結果供人使用流通,或有因果;若是自用,應該問題比較小。

本文更新於 WordPress:
Linux 系統安裝 CBETA 閱經器 CBReader