筆記

Linux 下使用健保卡報稅前的元件安裝與測試

本文操作環境為 Fedora 30 及 Mozilla Firefox。以 USB 介面的讀卡機(smart card reader)來說,可以先用 lsusb 指令確認是否有正確抓取到裝置。倘若以 DR 所使用的 Dell 鍵盤附掛讀卡機為例,便會顯示例如以下訊息:

Bus 007 Device 002: ID 413c:2101 Dell Computer Corp. SmartCard Reader Keyboard

 

接著安裝與卡片讀取相關的套件:

  • sudo dnf install pcsc-lite pscs-tools

 

安裝完畢後,執行 pcsc_scan 應該會顯示讀卡機當前的狀態,若有插入卡片也會顯示出來。可使用 Ctrl + C 來關閉程式,此外在執行 pcsc_scan 時也會一併啟動 pcscd 服務。

 

分類: 

Linux 下的視訊裝置遠端測試

好些年前 DR 曾試驗過以 ffserver 為基礎的 Linux 直播方案。ffserver 是 FFmpeg 專案的一個附屬程式,其用途是建立一個可接收及輸出媒體串流的多媒體伺服器。當時 DR 的作法是在一部 Linux 主機上安裝一張影音擷取卡,然後用 ffserver 起建一個 HTTP 伺服器。再透過 ffmpeg 指令,將擷取卡的資料流直接送給本機的接收 URL ,而外部客戶端的媒體播放器只要開啟主機 HTTP 位址就能夠播放串流。

 

分類: 

Raspberry Pi 與 WireGuard 應用

近期因設備管理因素,可能需要從外部監控特定場域的網路對外連通性,以及在必要時能夠透過 Wake-on-LAN 啟動區網中的特定主機。這些場域並沒有伺服器的存在,為一般用戶環境。雖然乍聽之下,似乎是挑一台電腦保持上線,再隨便弄一個遠端控制途徑就可以了,但這實在是不怎麼節能又醜陋。於是想了一下,歪腦筋動到庫存裡一顆從來沒用過的 Raspberry Pi(初代,Model B Rev 2)。

 

所設想的方案同時保障了可攜性與延展性。當 Raspberry Pi 開機並預設以 DHCP 接上網路後,便自動以 WireGuard 接上某外部 VPN 通道。如此一來,連接至相同 VPN 的任一裝置都能夠查看它的狀態及進行登入,並且擁有一個完整的作業系統來執行各種遠端操作。

 

分類: 

H.264 Pro Recorder 與 Linux 直播應用

最近碰到了一顆 Blackmagic Design 的 H.264 Pro Recorder,它是一款多媒體編碼裝置,能夠接入諸如 SDI、HDMI 等訊號來源,再轉換為 H.264/AAC 串流並經由 USB 輸送至電腦。雖然這項產品的定位並未包含直播功能,在原廠為 Windows 及 macOS 所提供的專屬軟體套件裡,僅能夠對串流做本地播放或儲存的動作。但由於這年頭線上直播的需求增加了不少,使得 DR 必須研究看看是否有物盡其用的解決方案。

 

分類: 

Linux 使用 VLC 投放媒體至 Chromecast

話說春節期間從自家的硬體庫存裡,翻出了一顆未曾用過的 Chromecast(二代,NC2-6A5),就想說在 Linux(Fedora 30)上思考看看可以如何使用。不過仍需要在 Android 或 iOS 上,使用 Google Home 應用程式來進行 Chromecast 裝置的初始設定,由於這部份並無可在 Linux 上完成的途徑,所以本文也不會對此多做描述。

 

完成 Chromecast 初始設定後,在 Linux 上最單純的應用方式,應該是安裝及使用 Google Chrome 瀏覽器。其內建的投放(Cast)功能,能夠搜尋同一網路下可用的 Chromecast,接著就可以將瀏覽器上所開啟的網頁或媒體,投放至 Chromecast 所連接的電視或螢幕上。除此之外也可以投放指定的應用程式視窗,或者是投放整個桌面畫面 。

 

分類: 

老 Linux 遊戲的函式庫重新編譯

在現今的軟硬體環境上執行老 Linux 遊戲,有時候是件很麻煩的事。雖然由 Alan Swanson 所匯集而成的 loki_compat_libs 套件已經提供蠻大的便利,不過在某些情況下,我們可能會想要自行編譯這些函式庫,甚至是修改其中的實作來改善一些遊戲執行問題。而本文主要是記錄在 Fedora 30 64bit 環境下,如何為幾個常用的 Linux 遊戲開發函式庫(分別是 SDL 1.2SDL_mixer 1.2 以及 OpenAL Soft)編譯 32bit 的版本。

 

分類: 

Bug 44895 - League Of Legends: Unable to log in if behind OpenWRT based router

旨在為 Unix-like 平台提供 Windows 應用程式相容層的 Wine,是一項更新相當頻繁的專案,而每一次的更新,幾乎都會包含大量的問題修正。雖然 DR 不時會利用 Wine 來做一些事情(例如最近在用 Wine 來玩某個 Windows 9x 年代的老遊戲)。不過對於其更新內容,其實 DR 通常都不會太過注意。

 

然而在好段時間前所發佈的 Wine 3.8 裡,有一項已修復的 Bug 卻成功吸住了 DR 的眼球,那就是 Bug 44895 - League Of Legends: Unable to log in if behind OpenWRT based router。由於情節看起來有些特別,所以或許值得在此記錄下來。

 

分類: 

程式化的大量字型預覽方案

雖然文書或繪圖軟體,多半都有字型預覽的功能。然而如果你希望指定一段文字,快速檢視它在所有字型下的顯示結果,以便選出最合適的字型,那麼這些軟體所提供的字型功能就不是很方便了。針對這項需求,先前 DR 在公司裡是撰寫一支 Python 程式(word_font_list.py),它會執行 MS Word,建立新文件,接著多次填入指定的文字,並逐一套用 Word 中的可用字型。如此一來,就會得到一份內含所有字型的樣本清單。

 

分類: 

NTFS-3G 的「unsupported reparse point」錯誤

DR 的家用 PC 是 Windows 10 + Linux(目前是 Fedora 27)雙系統,偶爾會需要在兩個系統之間互相抓取檔案。其中在 Linux 系統上掛載 NTFS 檔案系統的途徑,自然就是透過 NTFS-3G。然而最近 DR 在讀取掛載後的 Windows\Fonts 字型目錄時,卻出現大量的 IO 錯誤。如果針對其中一個無法讀取的檔案進行測試,例如:

  • ls -l simsun.ttc

 

會發現該檔案是指向「unsupported reparse point」。為了進一步釐清狀況,DR 接著將能夠存取的檔案,與不能存取的檔案進行比對。具體的流程是先卸載分割區,然後分別執行以下指令:

分類: 

RHEL/CentOS 6 的 2.6.32-696.18.7 核心修正不相容於 Xen PV 模式

原本 DR 以為面對 Meltdown 和 Spectre 這種史詩級的 CPU 安全漏洞,一般的系統管理人員只需要跑個系統更新就好了。尤其是 Red Hat 對其企業級 Linux 發行版所提供的軟體更新,應該都不會有破壞系統運作的問題發生。結果這次 RHEL/CentOS 6 所釋出的安全性修正(RHSA-2018:0008)並不相容於 Xen 的 PV 模式(雖然 HVM 模式則不受影響),而這就會造成問題了。

 

由於本站是架設在基於 Xen 虛擬化技術的 EC2 主機上,並且是使用 PV 模式。所以一旦執行系統更新,將 Linux 核心升級到 2.6.32-696.18.7 後就無法啟動了……

 

顯然 DR 不是唯一一個中招的:

分類: 

頁面

Subscribe to RSS - 筆記