因應 bash shellshock ,直接移除 bash 也是建議事項

關於 bash shellshock 的漏洞風波愈演愈烈,一波未平一波又起。好像有補不完的完全漏洞。關於這件事,我任職公司也有討論過因應之道。因為我任職公司屬於系統整合商,按照公司的產品性質,我給出的建議處置方式是「直接移除 bash」。

事實上, bash 只是一般使用者登入後使用的命令列介面。但大部份 shell script (指令稿) 的預設解譯器不是 bash ,而是 /bin/sh 。包括 PHP/Python/Perl 以 system() 呼叫外部指令時,也是如此。 /bin/sh 是 ash/dash 的符號連結,這個輕量型命令列介面並不受此 shellshock 影嚮。

在準系統或嵌入式系統中,為了追求輕量化且沒有讓使用者登入之必要性,實務上大多僅安裝 dash 或更輕量的 busybox

香港佔中,民主必須在民族之上

中共在香港特首選舉制度中,加上候選人必須「愛國、愛黨」的集體意識認同資格,進而引發了日前的香港佔中運動。在我看來,佔中運動的訴求本質就是民族不應淩駕在民主之上,民主必須在民族之上。舉凡愛國、愛黨、愛台灣或愛XX這類想像的集體意識訴求,其本質都是強將個人約束在集體意識之下,妨礙自由意志與民主運作。

Protests in Hong Kong © Patrick Chappatte, The International New York Times.

上圖來源: Protests in Hong Kong © Patrick Chappatte, The International New York Times。泛民主派與親中派正好象徵本文提及的兩種不同訴求。重視普世民主價值的一方,以及重視中國意識價值的一方。

BENQ GW2450-F 不閃屏螢幕使用心得

月初時,趁著某店出清展示品時,買了一台 BENQ GW2450HM-F 螢幕回來,打算放在公司用。因為公司之前配的螢幕壞掉了,只剩下 20吋 TN 面板的舊螢幕可用。我也不想再忍受 TN 面板了,幹脆自掏腰包買一台來用。

BENQ GW2450HM 先後出了三種型號。最早型號會閃屏(LED PWM 調光)。第二代型號則換成不閃屏背光(LED DC 調光),型號尾數加 -F 。第三代型號則是不閃屏加低藍光,型號尾數加 -FL 。參考其他人的評測文章,第二和第三代的面板與不閃屏背光規格都相同,只是第三代多了一顆直接切到低藍光模式的按鍵。我買的是第二代,但我不用低藍光,所以使用上與第三代相同。

農民跨縣檢舉餿水油事件反應地方封建狀況

前陣子爆發的餿水油事件,大家對這篇《獨家專訪 文盲農 勇揭餿油》新聞應該不陌生。老農向屏東地方政府檢舉四年,當地政府幾無作為。最後是連跨數縣,跑到台中市報案才破案。

在我來看,除了食安問題,這件事還反應了一個法治體制的問題。本地官吏不抓,要跨縣找外地人來辦。頗有明清時期封建社會的感覺。

Debian 8~10 (jessie~buster) 安裝筆記 中文環境篇

我在「基礎安裝篇」就提到我安裝 Debian 時,預設的 LANG 是 C 或 en_US 。就算裝了桌面軟體套件,也全是英文訊息介面,也沒有中文輸入法。所以接下來就要說明如何安裝正體中文語系環境。包含下列項目:

  • 中文語系基本套件
  • 選擇語系環境
  • 中文輸入法: ibus, hime, fcitx
  • 字型字體

Debian 10 於 2019-07-06 正式釋出。

Debian 8 於 2015-04-25 正式釋出。

Debian 8~10 (jessie~buster) 安裝筆記 基礎篇

Debian 10 於 2019 年 7 月 6 日正式釋出。

Debian 8 於 2015 年 4 月 25 日正式釋出。

我習慣安裝簡單環境,所以總是先安裝基礎套件,並設定預設語系為 en_US 或 C 。安裝完成後,再利用套件安裝工具,安裝視窗與桌面環境。所以我會仔細列出我裝了什麼工具及其用途。一般人或初學者就按預設方式安裝吧。

安裝基礎套件,並完成第一次系統啟動工作後,在 apt repository 中加入 contrib 和 non-free 組別。

本篇說明與安裝下列項目:

  • KDE 與 GNOME3 的外觀風格
  • 安裝精簡型 KDE
    • 必要套件
    • 選用套件
  • Flashplayer 音效輸出
  • Firefox 與 Iceweasel
  • 手機與 MTP
  • gnome-commander 與 konsole

最近更新日期: 2019-07-15 。

其他安裝筆記:

2014 IBM 開發者大會高雄場記事

9月2日,我參加了 2014 IBM 開發者大會,高雄場。副標題「開發速戰,行動速決!」。Innovate 2014 <Innovate@SPEED>。

我連續幾年都參加了 IBM 開發者大會,這幾年的內容趨勢大概都了解,於是今年本來想偷懶,不去了。但八月中收到郵件通知竟然開了高雄場。難得在地辦了一場,就又報名了。今年就不用去台北了。不過比起台北場,高雄場的議程有所簡化,只有一間會議室,一組議程。不像台北還分成A,B組。人數也少許多。我目測現場大約有五十人左右吧。我以往到台北參加時的人數大約有三百多人。

蘭嶼(達悟)應該獨立自主

上星期蘭嶼要建立7-11超商的事,竟然可以吵到頭版新聞,實在令我莫名奇妙。當時我就想蘭嶼應該獨立。我週末從台北參加 COSCUP 2014 回來後,才知道後來又扯出蘭嶼違建的事。真是夠了。

蘭嶼的前途由蘭嶼人民決定。

COSCUP 2014 遊記

今年的 COSCUP 2014 ,我照樣用源碼開發者身份提早拿到入場券,不用去推票亭。報到方式又進化,變成四根感應門柱,掛著識別證從門柱中間走過去,再拿過大會手冊小袋子就好。

COSCUP 2014 手冊與識別證

我對 Swagger 的評價

我同事向我介紹了 Swagger (https://helloreverb.com/developers/swagger)。經過簡短評估後,我認為 Swagger 的想法不錯,但實務上是壞的。

Swagger 嘗試為 RESTful API 服務提供一個自我描述的方法並配合一個有用的客戶端工具,以便 RESTful API 的使用者了解服務內容與調用它。

Kiosk Designing 續篇 - 在 x86 PC 上,以 mplayer 替代 omxplayer

在前文「Raspberry Pi Kiosk Designing - based on HTML5 and OMXPlayer」中,我曾提到在 x86 PC 上也實作了一個相同設計的替代品。其實我一開始就是在 x86 PC 上實踐這個設計想法。

在 x86 PC 上,我使用 mplayer 作為 omxplayer 的替代品,除此之外的所有條件都一樣。由於 Raspberry Pi 的執行效能並不好,在上面直接開發產品會浪費不少執行等待時間,所以我將此替代品視為在 Raspberry Pi 開發 Kiosk 產品的模擬器。當然將此設計方案作為正式產品對待也無不可。可以搭配 Intel Atom 或 AMD APU 的廉價組合,而且 HTML5 介面的操作流暢度遠勝 Raspberry Pi。

2014高雄國際Hi-End音響大展參觀記事

今年3月20日到23日間,在高雄國際音響展又在老地方高雄國賓飯店舉行。我今年當然挑了週末連去了兩天。不過一時事忙,到今天才想起寫篇記事。

年度特色

今年的高雄音響展,有三個特色。第一是發行了「黑膠」版本的大會示範唱片。第二是有許多的小型發燒話題與現場演奏活動。第三是在 7 樓畫了一塊耳機專區,讓耳機族不必四處打遊擊,就可以聽個過癮。

Raspberry Pi Kiosk Designing - based on HTML5 and OMXPlayer

大約半年前,我發佈了「omxplayer-dbus」套件,以便在 Raspberry Pi 上控制 OMXPlayer 播放高畫質影片。我最初的目的,是想結合基於 HTML5 的 UI 引擎設計在 Raspberry Pi 運作的嵌入式桌面環境,更具體的說法,就是一套 Kiosk 環境。我中間去做了工作上的一件軟體專案後,又有時間繼續了。在經過一陣比較後,我覺得用 iceweasel (Firefox 的 Debian 分支) 就足夠實現我的目的。所以我就用它結合 omxplayer 實作了一個具備 kiosk 要素的簡單範例。本文設計架構之宗旨,就是要無縫地銜接瀏覽器與 omxplayer 的協同合作,讓設計者可以像使用 HTML5 的 video 標記一樣地輕鬆處理影片播放工作。

我在 Raspberry Pi 上安裝的作業系統是 Raspbian 7 ,就是 Debian 的 Pi 分支。它提供的 iceweasel 版本足夠支撐我的實作需求。至於它上面的 webkit 引擎,則略顯老舊,有些 HTML5 規格的支援度不如 iceweasel ,故被我捨去了。此外, FirefoxOS 也有 Pi 的版本,我想此文的實作概念也能應用在 FirefoxOS for Pi 。

apache-session - startup apache server on X Window

在 Unix 類系統(Linux)下,如果你曾經嘗試用 Apache + PHP 撰寫一段程式去執行 mplayer/vlc 等影像播放程式,將會得到 Audio: no sound Video: no video 這類的錯誤訊息;又或者執行各種視窗 GUI 程式,也都會得到類似 Can not open display 的錯誤訊息。這些都是 X Window 的安全限制所帶來的影響。

X Window 的設計架構,一開始就允許在同一台主機上登入多個使用者且擁有各自獨立的視窗桌面環境。既然如此,那麼 X Window 就必須提供隔離不同視窗桌面環境的安全性。總不能讓甲使用者執行的視窗程式的畫面顯示在乙使用者的桌面上。如果你或週遭朋友熟悉 X Window 的各種使用途徑,就知道這些事都做得到。我不解釋細節,各位在此只需要了解系統啟動的 Apache 服務被隔離在 X Window 的視窗環境之外,所以透過 Apache 調用的 PHP 程式自然也被隔離在外,而無法再去執行依賴視窗環境的各種 GUI 程式。

Debian Jessie use mplayer with VAAPI

VAAPI (Video Acceleration API) 是 Linux 環境下的其中一種利用 GPU 加速視訊播放(硬解播放)的程式介面。在 Linux 常見的影像播放程式中, vlc 是很早(v1.1)就支援 VAAPI ,反倒是 mplayer 遲未正式支援。本文記錄我在 Debian jessie 上安裝 mplayer 支援 VAAPI 之事。

Rasbperry Pi 電視解析度設置與 omxplayer 顯示座標校正

日前,我將 Raspberry Pi (以下簡稱 Pi) 透過 HDMI 接上一台 LCD 電視時,發現它在 X Window 環境下的解析度錯誤。明明電視的 OSD 顯示目前顯示狀態為 1080p@60 ,但 X Window 中執行 xrandr 時,卻顯示 18??x9?? 這種奇怪的解析度。此外,我還發現使用 omxplayer 播放影片時,影像內容顯示的座標與長寬比例有微妙的偏差。舉個例子來說,我指定 --win "10 10 1290 730" 的播放座標,預期應該會在 X Window 的範圍內完整顯示。但結果卻是影像內容超出了整個 X Window 範圍,甚至有一部份影像內容被切掉(超過電視可見範圍)。這也讓我發現 X Window 並沒有佔滿整個電視可見範圍,實際上留了一段黑邊。

我需要設置 Pi 連接電視的正確解析度,以及校正 omxplayer 顯示座標錯誤這兩件事。

公民不服從也要守法

朋友轉了一篇關於 ptt 鄉民對羅瑩雪「公民不服從也要守法」的回應內容給我看(http://www.ptt.cc/bbs/Gossiping/M.1397565075.A.E46.html)。文章發文者貼出了現在高中公民課本中的其中一段內容,課文寫著 「公民不服從是一種挑戰法律的公開違法行動,行動者往往會與國家執法者發生衝突,甚至可能付出沉重代價」。

但是看完這段課文,再看 ptt 鄉民的回覆內容,我真心為現在大學生的閱讀能力感到憂心。

318 學生佔領立法院

我看了「黑色島國青年陣線」發的聲明稿說「持續民主失靈,統治正當性蕩然無存」。若說立法院議事效率不彰、密室協商不符民主原則,這我同意。但是說「民主失靈,統治正當性蕩然無存」,我當時就對朋友說這些人「目中無人,抬舉自己」。「黑色島國青年陣線」言下之意「彷彿眾人皆醉我獨醒」。但我要說,我就算喝了兩罐啤酒,也比他們清醒。

陳長文於 22 日投書聯合報「王院長,立院接下來怎麼辦」,其中論點就是我說「目中無人,抬舉自己」的理由。節錄幾點於下:

夏朝發源地與水書文字

今天在看維基百科時,無意中看到一個「水書」條目,其中記載: 水族文字與河南偃師二里頭遺址夏陶上的符號有相通之處,水書先生甚至可以大致解讀其含義,這引起了考古學界的重視。進而提出了水族先民來自北方和夏陶符號是一種文字的可能性。這是早些時候的考古研究。

從菅原道真信仰轉化,了解參拜靖國神社的爭議

今年由於日本首相安部晉三參拜靖國神社的舉動,再度激起了東亞諸國的抗議,在混亂的東亞安全局勢中,又增加了不安因素。美國也對日本首相此時的舉動表示不滿。

靖國神社的參拜爭議由來以久,幾乎每年都會吵上一陣。不只是日本國外吵,日本國內也有。 不過吵歸吵,許多外國人(就是我們),僅知道靖國神社內有祭拜二次大戰戰犯,並不了解為何而吵。 週遭朋友就有人問靖國神社和我們的忠烈祠有什麼不一樣?為什麼年年吵?