創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2020年1月11日 星期六

淺談AppImage與Flatpak

前言

在使用qTox期間,原採用AppImage格式,但無法用小小輸入法在該軟體上打中文,於是改試Flatpak格式,因此引發了對這兩種軟體包裝格式的探索。

AppImage的形式較像是單一包裝檔的可攜式軟體;Flatpak的使用較像APT,但它可通用於各種Linux發行版,這點會與Snap較類似。

本文將以一般使用者而非開發者的角度來簡單談一下AppImage與Flatpak的使用,這兩者都是Linux上包裝軟體的形式,其目的都是可通用在各種Linux發行版。

以下就做一下Flatpak與AppImage使用方面的介紹,附帶談一下對中文輸入法的影響。使用環境是Ubuntu MATE 18.04。

(本文是去年10月寫的,一直沒發佈,內容也許會與現況稍有不同。)

※2023-5-15:本文某些描述已與現況相當不同。

2020年1月4日 星期六

snap入門

摘要

Canonical公司在幾年前開始進行一種稱為snap的軟體包裝方式,可適用在眾多Linux流通版。它的運作方式與傳統的APT並不一樣,以下對其使用做點簡單介紹。(本文是去年7月寫的,一直沒發佈,內容也許會與現況稍有不同。)

Snap簡介與特點

簡介

雖然使用者主要會使用到的指令只是snap一支小程式,這裡還是稍描述一下整體。這套軟體包裝與分發deployment系統稱為Snappy,所做的軟體包裝稱為snap(指令程式也採用此相同名稱),在背景運作的程式是snapd,而發展製作snap package的則是稱為Snapcraft的工具。

Snap的發展在目前還算相當新,也許還會有較大的變動。在正式服役的服務器上還是建議使用APT來管理軟體;snap則可用在桌面環境,做為另一種取得軟體的管道。

本文會著重在snap的幾個入門用法,像尋找、安裝、移除應用軟體,展示環境是Ubuntu MATE 18.04。

2019年12月21日 星期六

ccal自製有農曆的日曆

摘要

自己已連續好幾年都使用“自製有農曆的日曆”這個網站來產生月曆,原本使用它的網頁功能,近年改用該網站的後端程式(ccal.exe),直接在自己電腦中做。

本文簡單介紹一下這網站與其後端程式的使用。如果發現該網站上有許多頁面連結失效,先別慌,先複製所要的連結網址,瀏覽器開新空白頁,貼上網址即可。

2019年12月14日 星期六

以Python與無頭式Firefox或Chrome做網頁抓取

前言

以程式來抓取網頁內容從中取得有用資料的工作早已不是件困難的事,而現代網頁的產生方式也有許多種方式,其中一種是執行過JavaScript才產生的。這類網頁在程式中僅由一般取得靜態網頁的方式來取得是行不通的,必須透過像瀏覽器的運作,執行過其中的JavaScript後,真正的網頁內容才會產生。

若要以Python抓取由JavaScript所產生的網頁內容,有一種作法是透過Selenium[1],驅動瀏覽器來進行。Selenuim支援多種瀏覽器,其中包含了Firefox, Google Chrome。但在某些應用的環境中,啟動瀏覽器來抓資料可能不太適合,因為桌面環境就不方便同時再進行其他工作,或是根本沒桌面環境可用。在這種情況下,像PhantomJS這類無需圖形環境的Scriptable Headless Browser[2],無頭(意指沒有圖形畫面顯示)的瀏覽器就相當適合,而Selenuim也支援它。以往PhantomJS在這方面使用的領域佔有重要的一席之地,自己也用了很長一段時間,且得心應手。只是Selenuim後來的版本因某些因素不再支援它,想用Headless瀏覽器,得改用其他像Firefox Headless Mode或是Chrome Headless Mode。

本文簡單記錄Python中以Selenuim驅動Headless Firefox/Chrome的方式、幾點相關建議、提醒以及相關參考。不涉及Selenium與Headless Browser之詳細用途說明,這類請查閱後面所列的參考。內容僅屬粗淺的入門指引,也算不上教學文,文末所列的參考可查到這方面詳細資料。

本文適合的讀者對象是已經會使用Python來抓取一般網頁,但對於以JavaScript或Ajax所產生的網頁資料一籌莫展者。要做這工作,最好熟悉HTML,能懂點JavaScript更好,會使用瀏覽器的開發者工具來檢視HTML元素可方便鎖定想找的東西,以及瀏覽器主控台。

如果想學習如何以Python抓取網頁資料(俗稱網路爬蟲),市面上已有數本這類書籍,像Web Scraping with Python。有Python基礎者可利用Requests, Beautiful Soup, lxml(選項)的組合,或者Scrapy來達成一般的網頁抓取工作,前者的組合可做一般應用也可做爬蟲,較容易入手;Scrapy則專門用於建構爬蟲。在必要時才採用本文所說的方式來抓取由Javascript產生的網頁資料。

2019年12月7日 星期六

尋找重複圖片檔

摘要

前一篇談過〈尋找重複音樂檔〉,本文則談尋找重複的圖片、照片檔案這類的點陣圖檔[1],其格式有多種,像BMP, TIFF, GIF, JPEG, PNG[2]。這些並不同於向量圖[3],後者並不在本文的討論範圍。這類工具同樣也不算少,在本文也會簡單介紹筆者慣用的工具。

2019年11月23日 星期六

尋找重複音樂檔

摘要

當電腦中存放了太多重複的音樂檔(或音訊檔),這類重複的檔案可能會佔用掉不少磁碟空間,若要以人工方式逐一找出這些重複檔案刪掉以節省儲存空間也未免太累人。幸好有不少針對這方面工作設計的軟體工具,不論尋找重複的音樂檔、圖片檔或是一般檔案,都有相關軟體可使用,本文會較著重在音訊檔這方面做介紹。

如果使用Apple iTunes撥放、管理音樂媒體庫,該軟體本身就有在自身音樂媒體庫中尋找重複音樂檔的功能。但這僅適用於被納入其媒體庫的音樂檔,以下另外提供幾個較常見的相關軟體。

本文不會詳細介紹尋找重複檔案的運作方式,只是純粹談些軟體方面的使用。

2019年11月9日 星期六

幾款CUE編輯相關工具軟體

摘要

之前曾寫過與CUE[1], [2]使用相關的文章:
本文則簡單介紹幾款CUE編輯相關的工具軟體,像編輯器與產生器,以可以免費使用的為主。以下的分類與排列順序只是為方便撰文工作而為之,並無任何推薦與貶損之意,其中有幾款並未實際仔細用過。軟體設計者寫軟體時所著重的功能與設計思維,也許會與一般使用者所想的不同,使用者可嘗試從幾種不同軟體之中挑選自己合用的。

以下所列軟體的網站大半也會附有CUE方面的說明。