筆記

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 不是唯一一個中招的:

分類: 

當網路線兩端皆插在同一部交換器上……

雖然網路上或多或少都有相關的討論:

Server Fault - What happens when you plug two sides of a cable to a single networking device?

 

但老實講,DR 還是第一次遇到。話說公司某日出現大規模的網路癱瘓,各終端之間都無法連線,但網路設備卻都有正常啟動。由於公司沒有網管,機房設備平常是個終極三不管地帶……所以 DR 先花了很多時間在釐清紛亂的線路結構。後來發現如果先卸除多部機架式網路交換器(network switch)之間的網路串連,使多數的節點脫離網路拓樸,則剩下的裝置就能夠恢復連線。

 

分類: 

Word 文件的 XML 解析錯誤

前陣子 DR 在 Word 2010 上編輯某份 DOCX 檔案時,因不明原因導致 Word 異常終止。之後再次開啟相同檔案時,便出現「元素結束標記中的名稱必須和開始標記中的元素型別相符」(The name in the end tag of the element must match the element type in the start tag)這項錯誤,並列出錯誤位置。由於錯誤細節好像還算明確,讓 DR 一度覺得這似乎是個有機會人工解決的問題。

 

 

分類: 

文字介面的奇摩字典搜尋工具

繼文字介面的聖經搜尋工具後,DR 再一次設法突破 N900 的應用極限……而這次的目標是試圖做出 Yahoo 奇摩字典的文字介面版本。雖然使用奇摩字典聽起來是個再簡單不過的動作,但由於 N900 的硬體規格相當古老,若透過網頁瀏覽器操作,則其效率很難令人滿意。因此如果能夠用一支更加簡單的工具來送出查詢並取得結果,自然是方便許多。

 

事實上 DR 並不是很喜歡這種用工具擷取網頁資料的方案,由於這類工具規避了使用者直接瀏覽網頁的動作,所以如果網站擁有者擔心此舉損害了自己的利益(例如廣告收益),很容易就可以做出修改來使工具失效,造成程式的可靠性難以保障。不過至少目前為止,這支搜尋工具與伺服器之間是相安無事的。

 

分類: 

離線編輯 Windows 登錄機碼

日前 DR 處理公司一部仍在使用 Windows XP 的電腦,但卻在操作登錄編輯程式(regedit)時,不慎誤刪了一個項目,如下:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4d36e96b-e325-11ce-bfc1-08002be10318}\UpperFilters。結果重開機後便造成鍵盤在 Windows 裡完全沒反應,改插其它鍵盤也是一樣。

 

事實上不只是舊版 Windows 會這樣,後來 DR 也在 Windows 10 上測試過,若刪除該機碼也會有相同的結果。然而只是誤刪一個機碼,鍵盤就完全不能用,毫無自動復原的機制……如此這般設計會不會太誇張了一點?

 

分類: 

頁面

Subscribe to RSS - 筆記