tag:blogger.com,1999:blog-153357148178871202024-03-06T00:58:26.654+08:00好馬的部落格Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-15335714817887120.post-29679473016215482692020-01-06T11:35:00.003+08:002020-01-06T11:36:27.647+08:00中華電信光世代 300/100 使用 DASAN H660W/H660WM 數據機的調整這陣子還真是被這台數據機給折磨了好久...<br />
<ul>
<li>設定:</li>
<ul>
<li>小烏龜本身當 Router,跑 DHCP server,Wi-Fi AP 另架不使用小烏龜。小烏龜的 NAT 後面則是一般筆電、手機等裝置,林林總總加起來約 20 台左右。</li>
<li>三台機器架 PVE 串 cluster,上面目前有四台虛擬伺服器,每台伺服器都透過 PPPoE 撥號取得 public IP 再用 DDNS 來對外服務。</li>
<li>連小烏龜本身的硬撥(@wifi.hinet.net)總共五個 PPPoE 連線。</li>
</ul>
<li>剛升上 300/100 時換了一台數據機,使用的是 DASAN H660WM。一切都還可以,直到我開始測試 ipv6... 撥號連線可以拿到 ipv6 2001:: 的 ip,但在小烏龜 NAT 後面的機器全部拿不到 ipv6 2001:: ip。</li>
<ul>
<li>打電話到中華電信客服,客服不知道如何處理,所以聯繫維修工班。</li>
<li>維修人員來的時候拿了一台 H660W 來換,說他聽前輩講,H660WM 是比較新的機器,但是在 ipv6 DHCP 這部份「沒有做上去」,要用比較舊型的 H660W 才行。</li>
</ul>
<li>換上 H660W 後災難開始發生...</li>
<ul>
<li>家裡某些機器開始出現無法連上網的狀況。到小烏龜是斷線的,而且只能 ping 得到某幾台 LAN 內的機器,其他 LAN 內的機器也 ping 不到。</li>
<li>重開小烏龜後原先連不到的機器就好了。</li>
<li>但是過一天以後,又出現其他不同的機器有相同的問題。</li>
<li>維修人員來看,看不出所以然。從機房端看連線的 MAC 數 14 個,也不到他們設定的 hard limit 30 個。於是又換一台小烏龜。</li>
<li>換了之後一開始還可以。此時開始進行協會的 FreeNAS 硬碟重整工程,耗時約一天半,整個伺服器/PVE 等也停工了一天半。等到終於弄好再次打開,卻發現其中一台 PVE 裡的虛擬機無法撥號連線,只能 ping 得到 cluster 內的實體/虛擬機器。PPPoE 就是不通。</li>
<li>這個問題持續了一天左右,直到我把小烏龜再次重開得到解決。至此確定是中華電信數據機在搞鬼。</li>
</ul>
<li>請教節神理事長與 PVE 群內眾神之後,得到 DASAN 數據機「最好單純當小烏龜就好,硬撥不要用,DHCP 不要開,NAT 不要用」的建議。</li>
<ul>
<li>於是開始著手規劃。第一件事先把 DHCP 移到虛擬主伺服器上。結果出現我的筆電拿不到 DHCP 配發的 ip 的問題。</li>
<li>把 DHCP 改到原先架設的 AP 上來配發。有些機器可以拿到 IP 了,但有些機器,包括我自己的筆電還是不行!</li>
<li>於是開始拿著筆電加一條短網路線開始從 AP 測試,最終發現... 我的筆電拿不到 DHCP 的原因是我接的 switch 是直接插在小烏龜的 LAN port 上。把那條斷開接到別的 switch 上,全部搞定!又是小烏龜在搞鬼!</li>
<li>DHCP 搞定,再來計畫接一台 router,從 router 撥號,原先掛在小烏龜 NAT 後面的通通改掛到 router 後面,DHCP 也改回 router 配發。換句話說就是原先眾神建議的,把小烏龜隔離開來。結果測試發現 router 撥 PPPoE 撥不通!</li>
<li>原先懷疑是中華電信端的問題,後來爬文發現是小烏龜上的硬撥設定 PPPoE passthrough,目的是讓 LAN 裡的機器可以直接撥 PPPoE。但 Router 則在這種模式下無法撥號。</li>
</ul>
<li>最後爬文找到這篇寶:<a href="https://www.ptt.cc/bbs/Broad_Band/M.1551888986.A.9D4.html">[光纖] DASAN H660WM Bridge-mode設定教學</a> 。ak雙神的建議把硬撥關掉改用 Bridge 模式,終於全數搞定。</li>
</ul>
<div>
所以目前成就達成:用一台 Router 隔離小烏龜,讓小烏龜專心照顧 MOD 並協助撥號。目前等待測試看過一兩天會不會還有其他機器/手機連不上線的狀況。</div>
<div>
<br /></div>
<ul><ul>
</ul>
</ul>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com3tag:blogger.com,1999:blog-15335714817887120.post-9908276859989153022019-09-15T22:07:00.000+08:002019-09-15T22:07:41.539+08:00今年 LibreOffice Conference 精彩回顧今年度的 LibreOffice 年度論壇於 9/10~9/13 在西班牙的 Almeria 舉行。以下是我看到/聽到的一些精彩回顧:<br />
<ul>
<li>在 Community meeting 中提到 LibreOffice 的翻譯平台從 Pootle 轉移到 Weblate,新站台已經上線測試中,6.4 以後的翻譯將會從 Weblate 取用,6.3 以前的則仍在 Pootle 上更新。</li>
<li>ODF 1.3 版規格書已經整理完畢即將送 OASIS,一切順利的話將於 2020 年底發布。</li>
<li>議程第一天(9/11)時大會(才)公布,在 AULA 08 (Aulario IV) 教室內的議程,因為教室內的投影設備只限接在教室內的電腦,而教室內的電腦未安裝 LibreOffice,所以要求講者準備 PDF 檔。</li>
<ul>
<li>但孫老大要講的是簡報技巧,只用 PDF 檔是不夠的。所以我們兩個在第一天議程結束後跑去教室內試電腦,結果發現:</li>
<ul>
<li>教室內電腦的 Windows 系統連系統設定都鎖起來了,不能安裝軟體也不能設定。</li>
<li>但是可以使用 LibreOffice Portable</li>
<li>然後雖然 Windows 系統鎖了那麼多東西,但 BIOS 沒有鎖,所以用 ezgo 隨身碟可以開進 ezgo 系統內。</li>
</ul>
</ul>
<li>9/11 一場(對我們從台灣來的人來說算滿普通的)大雨,造成西班牙東南部嚴重災情(<a href="https://www.facebook.com/crisisresponse/518975068645626/about/" rel="nofollow" target="_blank">請參考 FB 上的頁面</a>)。我們當時只覺得這雨還好而已,沒想到有六個人死亡(在此致上關懷之意)。</li>
<li>議程第二天一大早,孫老大跟我就跑去把教室內的電腦佈置一下。我用隨身碟安裝了 LibreOffice Portable,確認可以執行後,第一個議程就使用 Portable 版的 Impress 直接進行。然而因為前一天的大雨,第一個議程進行沒多久學校的電力系統就出現跳電的狀況。折騰了一陣子之後,在 AULA 08 的議程直接用筆電進行。<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuFlMDrz6y0akeRvl1XLsRPYWRIM5gASfiiw2aN6oE58QzdDa66Cw732re2MFIXRkj-TxWlYPR3DMgSJMmNNhGZMKiSBXeBYQ-k34PDTwb-PVy3SBLps6MpiUgPZRcxPbSI6o2Aq7MFA/s1600/20190912_095724.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuFlMDrz6y0akeRvl1XLsRPYWRIM5gASfiiw2aN6oE58QzdDa66Cw732re2MFIXRkj-TxWlYPR3DMgSJMmNNhGZMKiSBXeBYQ-k34PDTwb-PVy3SBLps6MpiUgPZRcxPbSI6o2Aq7MFA/s320/20190912_095724.jpg" width="320" /></a><br />至於其他間的議程據說都無法進行下去。</li>
<li>接下來第二個議程是孫老大的重頭戲,還好沒有再跳電。孫老大展示了動畫與聚焦技巧,還借用阿拉丁神燈來表達三個對 Impress 改進的期待。</li>
<li>接著轉移陣地到 SALA DE GRADOS ,林冠廷跟王小武(?)兩位年輕人以小武自身賽德克族的經驗,來介紹運用 LibreOffice 保存台灣原民語言與文化的計劃,引起在場聽眾不錯的迴響。來自巴西、法國等地的參與者都表示有興趣,下午冠廷與小武並與來自巴西的 Gustavo 討論相關計劃。</li>
<li>中午之後孫老大、來自中油的文科跟我先蹺課,跑去 Almeria 古堡一遊(因為我只有這天下午有時間出去晃晃...)後來傳來了消息,下午的議程又出現跳電,然後恢復供電以後,因為我的隨身碟還插在電腦上,電腦就直接開進 ezgo 了。在場的人都搞不清楚為何開機會開進中文的系統中 😆😆 </li>
<li>第二天晚上是年會傳統 Hack Night。晚上七點半大家就進入飯店的會議室裡,卻傳出訂的 pizza 要九點才會到(晴天霹靂!)。晚上安排冠廷、小武跟 LibreOffice 資深開發者,也是董事會成員的 Eike Rathke 討論如何為台灣原住民族增加系統在地化資料庫(locale)的問題。台灣團都跟著加入了討論。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5xYC0n3kWaVSn-P1bM8IbHrIcuCeD0ddYVLJ0wUVlUS2jR1lYIQpVqXMRpY4g8IKUMPgKViy-pvHSNKeuU9ZMdhrAqjAp5yD7eYUOd_ao8MqqSFWxmteJrsgcoxIFbR2UhDHb77hTTA/s1600/20190912_203435.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5xYC0n3kWaVSn-P1bM8IbHrIcuCeD0ddYVLJ0wUVlUS2jR1lYIQpVqXMRpY4g8IKUMPgKViy-pvHSNKeuU9ZMdhrAqjAp5yD7eYUOd_ao8MqqSFWxmteJrsgcoxIFbR2UhDHb77hTTA/s320/20190912_203435.jpg" width="320" /></a></li>
<li>第三天早上是認證委員會的 Workshop。第一天晚上我就接到通知。認證委員會的共同主席 Italo 與 Lothar 要邀請孫老大加入認證委員會,問我可不可行。此時不推坑更待何時?我當然一口答應,拍胸脯保證沒問題。孫老大順便露了一手,給在場的社群朋友看他的講義做法,以及我們如何推廣 ODF/LibreOffice。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTtHOFIsSg-sfkeRU3p5V6_ceDmBRapwMdujvnElQSc4_Do1xCLQYTMjnfs7tJfArg14wf_py8OZcAZgfk53lebddvltEJIaZjUiQev_KvK3ZemZ_EZYqB5iCzoprBBRVwT7exK-Lajg/s1600/20190913_110438.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTtHOFIsSg-sfkeRU3p5V6_ceDmBRapwMdujvnElQSc4_Do1xCLQYTMjnfs7tJfArg14wf_py8OZcAZgfk53lebddvltEJIaZjUiQev_KvK3ZemZ_EZYqB5iCzoprBBRVwT7exK-Lajg/s320/20190913_110438.jpg" width="320" /></a></li>
<li>事後孫老大還特地為了這幾位義大利的朋友補課,因為他們沒能來聽第二天孫老大的議程。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs20zC6rlcTm7UkfEHJ0Tr3_Wxe81oKqizi_m60y4ts3-4kQvmaV2mL_9aYku2IZpwGq1Au5i2ha66-7kbfoKq3eisXk8zPtiWhPPZMCNaMretq9j5ZZEEYBnTdfqTIEE-hURAB27wfQ/s1600/20190913_114730.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs20zC6rlcTm7UkfEHJ0Tr3_Wxe81oKqizi_m60y4ts3-4kQvmaV2mL_9aYku2IZpwGq1Au5i2ha66-7kbfoKq3eisXk8zPtiWhPPZMCNaMretq9j5ZZEEYBnTdfqTIEE-hURAB27wfQ/s320/20190913_114730.jpg" width="320" /></a></li>
<li>最後的高潮就是宣布明年 10/20 的活動了!明年是 LibreOffice 10 週年,也是自由辦公套裝軟體(i.e., OpenOffice.org)的 20 週年慶。所以會在明年的 7/18~7/19 在伊斯坦堡或安卡拉舉行 Free Suite 20th Anniversity,並宣布明年的年度論壇與 10 週年慶將在德國的紐倫堡舉行。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGA2wvPuoVfBYo9truCKgPqulG6hdqtjFyJim-YMJ3jz2uz0TZDgoRkbbxRMyOwoX6-nsuNGiXaaxHlUZHimY2GjWYvNs1GEFOEGtb5MnBYJvlvjBFl2smnNFdthaXBK-XICHtouI7Qw/s1600/FB_IMG_1568556182943.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="640" data-original-width="1139" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGA2wvPuoVfBYo9truCKgPqulG6hdqtjFyJim-YMJ3jz2uz0TZDgoRkbbxRMyOwoX6-nsuNGiXaaxHlUZHimY2GjWYvNs1GEFOEGtb5MnBYJvlvjBFl2smnNFdthaXBK-XICHtouI7Qw/s320/FB_IMG_1568556182943.jpg" width="320" /></a><br />嘛,我仍然是第一時間就知道投票結果(知道太多秘密也不好,沒有驚喜感...)</li>
</ul>
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-60638978730247250622019-08-08T22:08:00.002+08:002019-08-08T22:08:37.677+08:00建立 forward-only mail server<br />
動機就不寫了,這裡只寫重點:<br />
<br />
<a href="https://github.com/huan/docker-simple-mail-forwarder">https://github.com/huan/docker-simple-mail-forwarder</a><br />
<ul>
<li>以 alpine 為基底</li>
<li>在跑 docker run 的時候要指定 SMF_CONFIG 跟 TZ 等環境變數,指定完之後跑起來就可以做 mail forward 了。真的很方便。</li>
<ul>
<li>docker 裡面實際上是跑 postfix,用 virtual user table 做轉寄。</li>
</ul>
<li>自己跑 smf 的主要原因是我要知道轉寄信件的下落... 之前使用 forwardemail.net 在 DNS 裡直接加 TXT 也是很方便,但是有信寄丟時完全沒有線索可以找。所以 mail log 是修改重點</li>
<ul>
<li>跑起來的時候可以看到 syslog-ng 的警告:設定檔版本太舊。可見裡面用的是 syslog-ng,目前的版本用的是 3.13 而設定檔裡的 version 是 3.9。實際上並不會造成什麼問題,不過想去掉警告訊息的話,就把 install/syslog-ng.conf 裡的 version 改掉</li>
<li>syslog-ng 是把紀錄檔整合起來的工具,研究過幾個網頁後可以看到它的設定概念很簡單。指定來源 source { },過濾條件 filter { },還有目的 destination { }。</li>
<li>因為我的重點在 mail log,所以我把 source 調整成<br /><span style="font-family: Courier New, Courier, monospace;">source src {<br /> system();<br /> internal();<br />}</span><br />只收系統跟 syslog-ng 自己的訊息,然後在 filter 區塊指定 mail:<br /><span style="font-family: Courier New, Courier, monospace;">filter f_mail {<br /> facility(mail);<br />}</span><br />再把它寫到目的檔去<br /><span style="font-family: Courier New, Courier, monospace;">destination d_mail {<br /> file("/var/log/postfix-mail.log" persist-name("maillog"));<br />}</span></li>
<li>log 當然不會是寫在 docker container 裡面的 /var/log,所以在跑 docker run 時要透過 -v 參數掛載外部的目錄進去。</li>
</ul>
<li>改好 install/syslog-ng.conf 後,重新 build docker image,用它給的 Dockerfile 即可<br /><span style="font-family: Courier New, Courier, monospace;">docker build -t smf:0807-1 .</span></li>
<li>把 SMF_CONFIG 跟 TZ 等環境變數,還有執行 docker 的指令寫在一個 shell script 裡<br /><span style="font-family: Courier New, Courier, monospace;"># cat smf.env <br /><br />#!/bin/bash<br />export SMF_CONFIG='franklin@sunjun.com.tw:fweng.ef@gmail.com;service@sunjun.com.tw:fweng.ef@gmail.com;'<br />export SMF_CONFIG="$SMF_CONFIG;franklin@sunjun.tw:fweng.ef@gmail.com"<br />export SMF_CONFIG="$SMF_CONFIG;service@sunjun.tw:fweng.ef@gmail.com|wally.lian@gmail.com"<br />export TZ='Asia/Taipei'<br /><br />echo "Running simple mail forward on `date`..." >> /tmp/smf.log<br /><br />docker run -t -d --restart=always <span style="color: blue;">-e SMF_CONFIG="$SMF_CONFIG" -e TZ="$TZ"</span> <span style="color: red;">-v /var/log/docker:/var/log</span> <span style="color: blue;">-p 25:25</span> smf:0807-1</span><br /></li>
<li>把每個 mail alias 分行寫是為了方便維護。實際上它是用分號隔開即可。</li>
</ul>
<div>
搞定!</div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-35675275552983351792019-08-02T16:41:00.003+08:002019-08-02T16:41:55.082+08:00Debian 上 hp-setup 鬼打牆不斷要求安裝 proprietary plugin 的問題<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
HP 的印表機一直算是對 Linux 相當友善的廠牌,所以我選印表機首選都是 HP。而之前跑用 Kubuntu 為基底的 ezgo 時,安裝 hp 印表機的驅動很簡單,只要安裝 hplip 套件執行 hp-setup 後面就通通搞定了。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
不過現在換用 Debian 為基底的 ezgo 時,卻出現兩個問題。第一個是下載 plugin 時,從 pgp.mit.edu 取得驗證公開金鑰時一直失敗,其次就是如下面截圖所示,明明告訴我裝好了,實際上卻仍是紅字告訴我需要安裝 proprietary plugin。</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoCn4H-a1GhMmGWLHUdMZA6glqdi6LpHJQTlEGm1fhgukPJoNk0_hN7vaxIG4_GW9_iWU3D1mrtrJobw47nWB1LnFU_8ddy-kO1JTneibAQz8hv71kR7kfWGRiZKGZ0R0JkQkm51fUw/s1600/Screenshot_20190802_161040.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoCn4H-a1GhMmGWLHUdMZA6glqdi6LpHJQTlEGm1fhgukPJoNk0_hN7vaxIG4_GW9_iWU3D1mrtrJobw47nWB1LnFU_8ddy-kO1JTneibAQz8hv71kR7kfWGRiZKGZ0R0JkQkm51fUw/s320/Screenshot_20190802_161040.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjRskAU6hWm286-hPkQT1bZGH-1cXXASRo6i5JT_PFczCpNDcNPUIw1An-3sH5u1lA73ryk6ljTlor_Jl7QB6kiBVDMpQMVvE_VmlbLzgWs8AUTof7vz0Uib8w_g601YDpjFf3ebDAw/s1600/Screenshot_20190802_161123.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEjRskAU6hWm286-hPkQT1bZGH-1cXXASRo6i5JT_PFczCpNDcNPUIw1An-3sH5u1lA73ryk6ljTlor_Jl7QB6kiBVDMpQMVvE_VmlbLzgWs8AUTof7vz0Uib8w_g601YDpjFf3ebDAw/s320/Screenshot_20190802_161123.png" width="320" /></a></div>
<br />
<br />
先講第一個問題。現在從 pgp.mit.edu 取得金鑰變得很困難,我還找不出是什麼原因,網路上也很少討論。我透過 kgpg 提供的伺服器,找到了另一個可以順利下載金鑰的伺服器 pool.sks-keyservers.net ,並在 gpg.conf 中把預設伺服器換成了這個。但 hp-setup 仍然是去找 pgp.mit.edu,於是我發現他們把下載金鑰的伺服器寫死在程式裡:<br />
<br />
/usr/share/hplip/base/validation.py line 43:<br />
<br />
```<br />
<span style="font-family: monospace;"><span style="background-color: white;">class GPG_Verification(DigiSign_Verification):
</span><br /> def __init__(self, pgp_site = 'pgp.mit.edu', key = 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9):<br />
```</span><br />
<span style="font-family: inherit;"><span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;">臉上頓時出現三條線... 把它改掉就可以順利下載金鑰了。</span></span><br />
<span style="font-family: inherit;"><span style="font-family: monospace;"><br /></span>
<span style="font-family: monospace;">另一個問題則是在這裡找到解答:</span></span><br />
<br />
<a href="https://www.linuxquestions.org/questions/linux-software-2/hplip-keeps-looping-at-plug-in-installation-4175647505/">https://www.linuxquestions.org/questions/linux-software-2/hplip-keeps-looping-at-plug-in-installation-4175647505/</a><br />
<br />
看來是不同系統函式庫放的位置不同所造成... 依照其建議新增路徑與符號連結後就順利安裝成功了。<br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com1tag:blogger.com,1999:blog-15335714817887120.post-79848735481967437112019-07-11T12:59:00.000+08:002019-07-11T12:59:14.191+08:00Debian Stretch 升級到 Debian Buster<br />
Debian Buster 已發布,這兩天把 PVE 上三台 Debian server 通通升級。<br />
<br />
第一台跑的是 Mastodon, prosidy 與 peertube,用的 webserver 是 nginx,資料庫則是 postgresql 與 mariadb。升級過程完全沒有問題,十分順利。<br />
<br />
第二台跑的是協會的線上商店,還有一些實驗用網站(含 docker)。這一台升級完重開後,發現線上商店跑不起來。找了一會兒發現問題出在 php7.0 -> php7.3,apache module 中必須手動打開 php7.3 並關閉 php7.0 的模組。弄完後原有的服務就都順利跑起來。<br />
<br />
第三台是我的主伺服器,上面跑了不少網站像是個人網站、nextcloud、協會官網等等。這台在升級後,先手動去把 php7.3 的模組打開,卻發現 Drupal 與 nextcloud 都出問題無法啟動。然後挖了錯誤紀錄一會兒之後就發現,連同第二台系統的經驗,php7 在 Debian 的 package naming,php7.0 -> php7.3 並不是「升級」,而是「安裝新套件」,所以一堆 php7.0-* 的外掛,像是 php7.3-gd, php7.3-zip, ... 等在升級過程中並不會自動加裝,必須手動安裝才行。<br />
<br />
現在三台伺服器都已經安穩上線運行中。Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com1tag:blogger.com,1999:blog-15335714817887120.post-34826065292904981042018-11-11T17:56:00.005+08:002018-11-11T18:00:38.315+08:00在 Acer One 10 (S1003) 上安裝 ezgo上週拿到一台類變型金剛的小筆電,主人請我在上面裝 ezgo,因為他「受不了 win10 了」,一整個慢到爆。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbp3FFxF1Z3Qp4-kY0w5Jp33rlbiDCSjp_BdCm85KArUfNtM7l_RbXoGsHGqhiIAylU-ytACBvkiQhkwKnJerAG3zBZgJ3lXz-OcZHhyphenhyphenJPIgZ_JCOt72W71jz_aIgMdez9iRpn7viIg/s1600/20181111_163005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFbp3FFxF1Z3Qp4-kY0w5Jp33rlbiDCSjp_BdCm85KArUfNtM7l_RbXoGsHGqhiIAylU-ytACBvkiQhkwKnJerAG3zBZgJ3lXz-OcZHhyphenhyphenJPIgZ_JCOt72W71jz_aIgMdez9iRpn7viIg/s320/20181111_163005.jpg" width="320" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">(啊,不小心露點了~)</span></div>
<br />
宏碁的 Acer Switch One 10 (S1003),外觀看不到 S1003 的型號,是進入原本 Win10 環境中才看到的。我花了一週左右研究,走了很多冤枉路之後,終於把它搞定了。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEIsdRPJ8PsIAr0MeZm6UhmKDPio4mXCIhv2dZ3zkaQtepD5qmGW_0tjx47iFg26oy658sMLTJtyzvLWvWdOyGOGynVzCcDrPTJjhhCdoYL2vFYnaH5iN7weCG9gMRgNMZZTP94_ROOQ/s1600/20181111_131403.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEIsdRPJ8PsIAr0MeZm6UhmKDPio4mXCIhv2dZ3zkaQtepD5qmGW_0tjx47iFg26oy658sMLTJtyzvLWvWdOyGOGynVzCcDrPTJjhhCdoYL2vFYnaH5iN7weCG9gMRgNMZZTP94_ROOQ/s320/20181111_131403.jpg" width="320" /></a></div>
<br />
<br />
這裡紀錄一下發現與做法。<br />
<br />
首先引用底下<a href="https://www.reddit.com/r/linuxhardware/comments/8azizs/running_ubuntu_on_the_terrible_acer_one_10_s1003/" target="_blank">這篇文章</a>裡的一句話:<br />
<h4>
Recommendations</h4>
<b>Don't buy this tablet! </b>It's not a good purchase. This post is for the users that made the same mistake as me.<br />
<br />
如果你還在思考的話,<b><span style="color: red;">不要買這一台!!</span></b><br />
研究了一週之後,發現這類特規筆電,即使原生的 Win10 看起來也不是用最佳的效能在跑。<br />
<br />
而且要試其他作業系統的話真的會變超難搞...<br />
<br />
<h3>
1. 開機</h3>
這台的開機用的是 32 位元 UEFI + Secure Boot。剛拿到這台筆電時,先用自己做的 ezgo 隨身碟試開機,結果發現系統連認都認不到。<a href="https://community.acer.com/en/discussion/542176/acer-one-10-s1003-doesnt-boot-from-windows-bootable-usb" target="_blank">爬了文</a>後才發現這台用的是 32 bit UEFI。Ouch! 原先的認知是 32 bit 沒有 UEFI,後來才知道<a href="https://software.intel.com/en-us/blogs/2015/07/22/why-cheap-systems-run-32-bit-uefi-on-x64-systems" target="_blank">便宜的平板多半使用這種模式</a>。<br />
<br />
所幸 $4 大大先前做過類似的事,留下了<a href="https://fourdollars.blogspot.com/2016/05/32-bit-uefi-bios-ubuntu-1604-amd64.html" target="_blank">這篇文</a>。所以先在我自己的系統上安裝 grub-efi-ia32-bin 套件,然後對著做好的 ezgo 隨身碟做<br />
<br />
<code class="shell plain" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">$ </code><code class="shell functions" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">sudo</code><span style="background-color: white; color: #333333; font-family: "consolas" , "bitstream vera sans mono" , "courier new" , "courier" , monospace; font-size: 14.85px; white-space: pre;"> </span><code class="shell plain" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">grub-</code><code class="shell functions" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">install</code><span style="background-color: white; color: #333333; font-family: "consolas" , "bitstream vera sans mono" , "courier new" , "courier" , monospace; font-size: 14.85px; white-space: pre;"> </span><code class="shell plain" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">--removable --target=i386-efi --root-directory=</code><code class="shell plain" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;"><path_to_USB></code><span style="background-color: white; color: #333333; font-family: "consolas" , "bitstream vera sans mono" , "courier new" , "courier" , monospace; font-size: 14.85px; white-space: pre;"> </span><code class="shell plain" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 14.85px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre; width: auto !important;">/dev/<sdb></code><br />
<br />
就可以開到 ezgo live 模式了。<br />
<br />
值得一提的是,我的 live 是跑 64 bit,原來的 win10 是 32 bit。雖然 UEFI 是 32 bit 但實際上跑 64 bit 的 Lubuntu/Kubuntu 都沒有什麼問題。換句話說原來 win10 用 32bit 其實是便宜行事... CPU 本身是支援 64 位元作業系統的。<br />
<br />
然後,Acer 筆電最討厭的就是 Secure Boot 往往找不到如何關掉。Secure Boot 對 Ubuntu 影響很大,如果沒有關掉,連安裝 driver 時跑 dkms 都會卡住。<br />
<br />
這次倒是誤打誤撞,在我不小心打開 Erase all Secure Boot Settings 後,它居然被我關掉了。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVCmkEOsljOy_Ry6d8kWmZ9Hkvm9MjylAfqkCf5TPeoTFiOieIUXvgSbU-DSRPpUc0iehoplXWISPjXH03od6U0VssjJ3C_mJbU5Ju4_hlfM6fHJV3wBVU8CdxefM9YIBseYahvrVkyQ/s1600/20181111_171251.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVCmkEOsljOy_Ry6d8kWmZ9Hkvm9MjylAfqkCf5TPeoTFiOieIUXvgSbU-DSRPpUc0iehoplXWISPjXH03od6U0VssjJ3C_mJbU5Ju4_hlfM6fHJV3wBVU8CdxefM9YIBseYahvrVkyQ/s320/20181111_171251.jpg" width="320" /></a></div>
<br />
印象中之前處理的 Acer 筆電並沒有這個選項。無論如何,光是這個 BIOS 跟 Secure Boot 就已經讓我把 Acer 列在黑名單中了。<br />
<br />
<h3>
2. 硬碟</h3>
這台筆電裡<b>沒有硬碟</b>。<br />
什麼?沒有硬碟?<br />
是的,沒有硬碟。因為它<b>也是平板</b>啊!實際上整個主機都藏在螢幕下,裡面只有兩張 SD 卡,沒有硬碟。這可能也是它跑 Win10 的效能更加杯具的原因之一。<br />
<br />
不過,這裡衍生出一個問題。原先我試著把第一個 SD 卡的 Windows 保留下來,把系統安裝在第二張 SD 卡。結果順利安裝完成之後,卻發現開不了機。grub 的錯誤訊息顯示它找不到我的根分割區。<br />
<br />
後來推斷,應該是第二張 SD 卡是外插。grub 啟動時,driver 還沒載入,對它而言第二張 SD 卡是不存在的。所以要把兩個系統都裝在第一個 SD 卡 (mmcblk0) 中才行。<br />
<br />
(不過後來發生了一些意外,所以我<strike>很高興地</strike>別無選擇把 Win10 清掉惹。)<br />
<br />
<h3>
3. 無線網路</h3>
這是個有點悲情的部份。它的 wifi 是 Broadcom BCM43430 (14e4:43e2),但走的不是 PCI,而是 SDIO。<br />
<br />
在第 N 次安裝時,我在 live 系統上照著<a href="https://forums.linuxmint.com/viewtopic.php?t=263728" target="_blank">這一篇說明</a>把內建的無線網路啟動成功了(當然還有安裝像是 bcmwl-kernel-source 這類必要套件)。不過這第 N 次安裝也就是上述裝在第二張 SD 卡的那一次。<br />
<br />
結果發現 SD 卡問題後,我要回到 win10 切割磁區,卻發現進不去了。推測可能是第 N-M 次安裝時不小心把開機磁區寫到 /dev/mmcblk0 去了。所以連 windows 也開不了了。<br />
<br />
那好吧,我<strike>很高興地</strike>別無選擇把 Win10 清掉,重新分割再安裝 ezgo,mmcblk0 上切一個 efi 磁區跟根分割區,把第二張的空間都給了 home。<br />
<br />
結果發現,此時我再也無法喚醒 bcm43430 了。開機時完全不會去找 sdio,firmware 也無法載入,安裝模組也沒有作用。試了一個早上之後決定放棄,直接接 USB wifi adaptor。<br />
<br />
(李組長眉頭一皺,發覺案情並不單純。難道在原來 Windows 的分割區中藏了什麼嗎?為何清掉原來的分割區後會連 SDIO 都找不到呢?)<br />
<br />
<h3>
4. 顯示</h3>
這部份是花我最多時間的。一個禮拜大概有一半以上都在這個問題上打轉。因為這台平板筆電的解析度:1280x800,並不在 VBE (Vesa Bios Extension) 規範內。<br />
<br />
在前面發現 32 bit UEFI 問題,並看過 $4 大大的文章後,想說既然 grub 檔要從 debian 拿,都要下載 debian-9.5-i386 的 iso 檔,那就乾脆裝 debian 吧!反正一樣可以裝 KDE 或 LXDE 等桌面系統。<br />
<br />
用 unetbootin 把 debian-i386 裝進隨身碟,果然可以順利開機!可是......<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNaIvQf7ldsLMF7UkuaT84BX6kl58f3Hrg8qiilx0A3Be5S49GYtyEZjE12D51mcvubXP72BVsmACuRF_fMMG-CAq9zNiSxQKqjOrq_14Gf1Rn0vhNWoL3B_JJE7R6YSu5xOMl4JgwJg/s1600/20181111_172547.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNaIvQf7ldsLMF7UkuaT84BX6kl58f3Hrg8qiilx0A3Be5S49GYtyEZjE12D51mcvubXP72BVsmACuRF_fMMG-CAq9zNiSxQKqjOrq_14Gf1Rn0vhNWoL3B_JJE7R6YSu5xOMl4JgwJg/s320/20181111_172547.jpg" width="320" /></a></div>
<br />
哇咧,奇妙地躺了 90 度。我猜是因為平板預設模式的關係吧!進去隨身碟中的 boot/grub/grub.cfg 看看。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkCso0p1DjtX_G2CIDbNrGMLiypX37iL0Mg6R0nyfG2njWwIn7UPUpudIXG8hV8G5GsFbWdKRzQJvXOhx2YCKF-_AIgEre8trT6iDihXJ_CjEJisuXulu7Aep6uTSPvGEBmqKO2Pbs7A/s1600/Screenshot_20181111_172707.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkCso0p1DjtX_G2CIDbNrGMLiypX37iL0Mg6R0nyfG2njWwIn7UPUpudIXG8hV8G5GsFbWdKRzQJvXOhx2YCKF-_AIgEre8trT6iDihXJ_CjEJisuXulu7Aep6uTSPvGEBmqKO2Pbs7A/s320/Screenshot_20181111_172707.png" width="320" /></a></div>
<br />
gfxmode=800x600,應該是它在作怪?不過解析度要怎麼設定呢?<br />
<br />
在 <a href="https://www.gnu.org/software/grub/manual/grub/html_node/gfxmode.html#gfxmode" target="_blank">grub 的手冊</a>中有說明。於是我把它調整成 auto。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62Flg0u0X3KNVvSNCBWbD8enqsRNTzAlnRoM3_yturoqTcNxK3Jkc1Qn1osL6RQYug1SaejnkCVVTACEari2vjoZ2vi4ub1QTcLRkXvYx4_WRONzY8WIA41o6K4udnFKQMl4S2DWc-g/s1600/20181111_171735.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62Flg0u0X3KNVvSNCBWbD8enqsRNTzAlnRoM3_yturoqTcNxK3Jkc1Qn1osL6RQYug1SaejnkCVVTACEari2vjoZ2vi4ub1QTcLRkXvYx4_WRONzY8WIA41o6K4udnFKQMl4S2DWc-g/s320/20181111_171735.jpg" width="320" /></a></div>
<br />
成功了!試了兩天以來繼 32 bit UEFI 後的第二個進展!按下去準備安裝!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimFr3pSZeu451-xsJGYNTgSwWk6OUlvfEHogx3jcLp1L6JS3nCYwn5LNAOAAtfa5Vd_z9jBwLT63dtRYm3I1VjUZNlY9A5BxR02PVDmOD5bcFMM1OLqxvmPTNB_qdllCXLfYMfmWMwAA/s1600/20181111_172618.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimFr3pSZeu451-xsJGYNTgSwWk6OUlvfEHogx3jcLp1L6JS3nCYwn5LNAOAAtfa5Vd_z9jBwLT63dtRYm3I1VjUZNlY9A5BxR02PVDmOD5bcFMM1OLqxvmPTNB_qdllCXLfYMfmWMwAA/s320/20181111_172618.jpg" width="320" /></a></div>
<br />
解析度還是不對!再繼續啃 Manual,找到 gfxpayload 這個參數。所以在開機裡加上<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrBS0sfIsIEQ8b1P2rYl9aCgcE2idI7nipl8OPBybNnkyhZ6Dmk1Kl6dZt1oiQX-34w6p4ogUukqsBShi72vLvl1Q-KBXbo-CiLCVoDBV7wakjtMUf6PwJOMp39cWzjQrx6npY7zsnmg/s1600/20181111_172836.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrBS0sfIsIEQ8b1P2rYl9aCgcE2idI7nipl8OPBybNnkyhZ6Dmk1Kl6dZt1oiQX-34w6p4ogUukqsBShi72vLvl1Q-KBXbo-CiLCVoDBV7wakjtMUf6PwJOMp39cWzjQrx6npY7zsnmg/s320/20181111_172836.jpg" width="320" /></a></div>
<br />
答案是一點用處也沒有。<br />
<br />
這裡應該卡了我三天吧!嘗試著找 vga= 的值所代表的意義(<a href="https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers" target="_blank">VBE</a>、<a href="https://www.kernel.org/doc/Documentation/svga.txt">svga.txt</a>、<a href="https://www.kernel.org/doc/Documentation/fb/vesafb.txt">vesafb.txt</a>),不用 vga= 改用 video=1280x800x32 等,各種組合都嘗試了,但始終沒有成功。<br />
<br />
這中間發現了一些好玩的功能,例如在 grub command line 中的 videoinfo 跟 videotest。要先 insmod videoinfo,所有 grub 可用的模組都放在隨身碟系統中的 boot/grub/i386-efi/ 中。<br />
<br />
試了幾天準備放棄時,再回頭看 $4 大大的文章,最下面那一段發現原來用系統上的工具就可以加上 i386-efi ,決定再試一次。這次如第一段所述,直接對著 ezgo 做 grub-install,竟然就順利開到 live 模式了。<br />
<br />
啊諾~<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UWFhIz-Gad_lMXnNYAkvXK3Hg0KDU-r0btd1LSdQxypqGOI670FkN9oOJy4PZ44d3R-oJhOObao8eLDTkh4IhZQtJ9ZjfhPDT685uNzpVl82LgDhKBDyzYAU19Cdh-JSPR9v_aOJvQ/s1600/20181111_174601.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UWFhIz-Gad_lMXnNYAkvXK3Hg0KDU-r0btd1LSdQxypqGOI670FkN9oOJy4PZ44d3R-oJhOObao8eLDTkh4IhZQtJ9ZjfhPDT685uNzpVl82LgDhKBDyzYAU19Cdh-JSPR9v_aOJvQ/s320/20181111_174601.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpYS8ckpp8Quu0E8JZcZn0AVfK3gDYKxOHebEftjePXecfv0fehZWNO2lz7s-baFl0fDVfohjWHymHip8s0_oCl1p1rufgs7RMALZGf3HKo6sWA7RmHI6ZpUwA0JqTo94-4t5QOyoWw/s1600/20181111_174524.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNpYS8ckpp8Quu0E8JZcZn0AVfK3gDYKxOHebEftjePXecfv0fehZWNO2lz7s-baFl0fDVfohjWHymHip8s0_oCl1p1rufgs7RMALZGf3HKo6sWA7RmHI6ZpUwA0JqTo94-4t5QOyoWw/s320/20181111_174524.jpg" width="320" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;">(此時狀態顯示為:想殺人)</span></div>
<br />
嘗試用 xrandr 來解決。 xrandr -o right 向右轉 90 度。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmweEkW8eDdB5tzzzMtNVunvhbuYJiJ6xUvl_trmrdzFjA-gCE02_LB4CPyI0YBlwxuzf8S8niqNJpIWZ2VRUxz2iam3WMQePpZGxOw75FOz3hkWQzI7LUq1WEPj9i5u3LsZFeBfxjLQ/s1600/20181111_174545.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmweEkW8eDdB5tzzzMtNVunvhbuYJiJ6xUvl_trmrdzFjA-gCE02_LB4CPyI0YBlwxuzf8S8niqNJpIWZ2VRUxz2iam3WMQePpZGxOw75FOz3hkWQzI7LUq1WEPj9i5u3LsZFeBfxjLQ/s320/20181111_174545.jpg" width="320" /></a></div>
<br />
成功了!終於可以好好安裝。<br />
<br />
不過安裝完後,它預設抓的模式仍然是 800x1280,嘗試著改成 1280x800 結果是亂七八糟。所以只能讓它用 800x1280 再轉 90 度。但總也不能每次登入都手動調整吧!於是繼續<a href="https://wiki.archlinux.org/index.php/xrandr#Adding_undetected_resolutions">爬文</a>。透過 cvt 把 800x1280 的 Modeline 紀錄下來,再寫到 /usr/share/X11/xorg.conf.d/10-monitor.conf 中:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Section "Monitor"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Identifier "DIP-1"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Modeline "800x1280_60.00" 85.25 800 856 936 1072 1280 1283 1293 1327</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> -hsync +vsync</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <span style="color: red;">Option "Rotate" "right"</span></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">EndSection</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Section "Screen"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Identifier "Default"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Monitor "DIP-1"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> SubSection "Display"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Modes "800x1280_60.00"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> EndSubSection</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">EndSection</span><br />
<div>
<br /></div>
<div>
開機進入就自動轉過來了!</div>
<div>
<br /></div>
<div>
當然這樣做其實還有些問題,例如切到 console 時看到的還是倒過來的模式。不過一般使用至少正常了!<br />
<br /></div>
<h3>
5. 結論</h3>
<div>
印象中之前有幾台 Transformer 要裝 ezgo 都裝不起來,我猜 32-bit UEFI 作梗的機率最高。不過這類筆電與平板二合一的,都是特規中的特規,然後看起來筆電模式其實都並沒有很好地運用硬體效能。目前這一台 Acer One 10 跑起 ezgo 來,我測是除了 wifi 要用 USB dongle 以外沒什麼其他問題,音效也正常。等筆電主人試過再評價囉!</div>
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com3tag:blogger.com,1999:blog-15335714817887120.post-52739717639075431482018-03-11T11:56:00.000+08:002018-03-11T11:56:34.420+08:00強者我朋友的故事最近看到一些討論,讓我想到一個強者我朋友的故事。<br />
<br />
這個朋友從蠻久以前就是個車奴。其實說到車子,對我來說它就是個交通工具,當然我現在手上這台 TIIDA 也是我生活賺錢的重要夥伴。不過我除了一般保養,有問題時找認識的車廠維修,有時甚至自己想辦法搞定以外,我並沒有特別挑惕一定要哪個廠牌的車子,或是車子要能夠跑多快,外型有多炫,內部操作有多方便。我這台車已經為我服務了快廿七萬公里了。<br />
<br />
而我這朋友則不一樣。他從可能二十幾年前吧,我們剛考上駕照那時,他就堅持一定要用某個廠牌的跑車。他也真的是有錢啦,而且不只是每週洗車,不管到哪裡他一定要開這台車去。隨著這台車一代又一代的推陳出新,他也真不吝嗇每出一代一定更換。<br />
<br />
然後還有一件很妙的事。他不管到哪裡都要開車,即使是到 T 點(那裡其實有許多人三不五時都會要去那邊辦點事,不過到底是哪裡並不是重點,就讓我隱匿其名吧),他也堅持一定要開他那寶貝車。他常常跟我炫耀他開那台車只要三分鐘就可以到 T 點,然後問我幹嘛不跟他一樣弄一台跑車,多省時啊。<br />
<br />
可是對我來說,去 T 點開車不一定好,主要是不好停車啦,我也不像他不是那麼忌誨停在非標準的停車格裡,(然後很神奇的在那邊的交警對他那款車好像也一向網開一面,我也不知道為何)所以我多半選擇坐公車去。<br />
<br />
去那邊坐公車的話,要轉一次車,下車後再走個五分鐘吧,全程大約 30 分鐘。其實對我來說只要能到 T 點就好啦,但對強者我朋友而言怎麼到達那邊好像是件很重要的事。我有時也會跟他說坐公車也蠻有趣的啊,他偶而聽說公車換了內裝好像比較舒服,或是換了新車之類的,他也會跟我嘗試一下,但每次都是一樣的結果。他受不了三十分鐘的車程,受不了轉車加走路,有幾次幾乎要跟我翻臉。我這個人比較重視友誼(這不代表我會投票給侯友宜喔),所以後來我也就不特別邀他了,他喜歡開車就讓他開吧。我還是跟著我的老夥伴,偶而坐捷運、火車或公車去辦我的事。<br />
<br />
然後最近出事了。原本他的車有一個很酷炫的功能,就是買車的時候必須跟原廠登錄指紋,並由原廠在車上植入一個秘鑰。這部車只能強者我朋友開,其他人開車的話,原廠就會用一個特殊暗號通知警察,好像叫海盜還是什麼的。我朋友原本也頗為自豪,但那一天這部車不知道哪裡不對勁,把我朋友認定成海盜啦!他的車不但不能開,還勞動到警察來看怎麼回事。<br />
<br />
我朋友當然很生氣啊,他花了那麼多錢買的車,怎麼能說他是海盜呢?他打電話給原廠。原廠查看了一下,給了他一個回應:「我們這邊目前愛莫能助。有兩種可能性,一種是你的指紋跟我們這邊資料庫的對應不正確,可能是車內電腦的問題;另一種是我們這邊中控室認定你的車有問題,所以不讓任何人開。這些都不是現在可以解決的,要花上一段時間。」<br />
<br />
我朋友很生氣地說:「我現在要去 T 點啊,我有很重要的工作,不去那邊那資料不行!現在我沒車開也不能去哪裡,你要我怎麼辦?」<br />
<br />
原廠仍然給了他一個制式回應:"Sorry, There's nothing we can do."<br />
<br />
他打電話來向我發洩了一頓,但我能怎麼辦呢?我說:「不然你那麼急的話就先坐公車去啊!」<br />
<br />
不說還好,一說他好像更火大。「公車那麼 low 的東西,我才不坐!」<br />
<br />
「好好好,不坐就不坐,不過我也不知道怎麼辦。或許你再買一台新的?」<br />
<br />
我朋友就掛電話了。<br />
<br />
後來我沒再追這件事。不過我內心總是祈禱著,希望我朋友不要一時衝動跑去偷別人的同款跑車,只為了去 T 點......Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-28228612905839581202017-09-03T19:34:00.003+08:002017-09-03T19:34:22.336+08:00open ftp passive mode with ufw<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">ufw allow ftp</span><br />
<br />
/etc/proftpd/proftpd.conf:<br />
<span style="font-family: Courier New, Courier, monospace;">PassivePorts 50000 51000</span><br />
<br />
<span style="font-family: Courier New, Courier, monospace;">ufw allow proto tcp from any to any port 50000:51000</span><br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-66499152721579698642017-08-07T11:27:00.001+08:002017-08-07T11:27:35.636+08:00Akademy 2017<br />
Being absent in Akademy 2016, this year when starting calling for paper I almost immediately submitted two topics. Fortunately two proposals were all accepted. BTW, this time a young community friend also submitted a topic and was accepted, so I was no longer travelling alone. Plus KDE and The Document Foundation are partners now, being a member of both KDE e.V. and TDF it was my honor to be the bridge between the two important community.<br />
<br />
This time the travel was not as twisted as in 2015. We arrived Almeria smoothly and met Lydia in the bus to the hotel! It was a happy time meeting old and new friends and that's supposed to be the fun of having open source conferences.<br />
<br />
In this year I had a long and a short talk. The long talk was about customizing Kubuntu 16.04. The way I used to customize Kubuntu 14.04 was almost useless in 16.04, which made me very frustrated. I used to call for help in mailing lists and IRC channels but didn't get too much help. So in my talk, I listed some important issues like the environment variables of XDG menu specs were of no use in Plasma 5, and the configuration structure in Plasma 5 was totally different but no enough documents available. I have to say that, face to face communication is really good because we can see the problems and discuss together. After my talk some issues were confirmed and I got to know the new "look-and-feel packages" way to customize.<br />
<br />
In another short talk it was about Calligra suite. In these two years I mainly work on helping the Taiwan's governments to adopt ODF and LibreOffice. Since an important advantage of using open standard is that users will have different choices for software, I hope that Calligra can be improved especially for the CJK issues so that users in Taiwan can have more choices.<br />
<br />
In the BoF session I helped Gabriele Ponzo and Xisco Fauli, who were from TDF to register BoF sessions talking about the LibreOffice community and announcing the release of LibreOffice 5.4. I also registered one talking about to form a total solution composed with free software, for public administration in all the countries. Being an excellent desktop environment KDE can and should play an important role in it.<br />
<br />
Another important issue I raised in the "Ask us everything" sessions of KDE e.V. board members was the member electing system we are using now. I was elected as a KDE e.V. member as well but these years I keep wondering if it is an appropriate system. Someone apply for e.V. member because he contributed to KDE and would like to get involved more. Why should he get a certain number of current members to agree? Besides, in this system the "+1" scheme is problematic too. I hope that we can together discuss and think about the member system more to improve it.<br />
<br />
Though the time was short but I really had a great time in Akademy 2017. Wish to see you all in Vienna next year!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://community.kde.org/images.community/5/51/Akademy2017_banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="196" data-original-width="800" height="78" src="https://community.kde.org/images.community/5/51/Akademy2017_banner.png" width="320" /></a></div>
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-20063004160714839742017-07-09T12:53:00.000+08:002017-07-09T12:53:59.582+08:00convert pdf to CMYK把 pdf 檔改成 CMYK<br />
<br />
gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite \<br />
-sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK \<br />
-sOutputFile=output.pdf input.pdf<br />
<br />
<br />
確認圖檔或 PDF 檔的 color profile<br />
identify -format '%[colorspace]' [input-file]Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-3222944257298062812017-05-29T20:25:00.000+08:002017-05-29T20:25:06.445+08:00openvpn<br />
被搞好幾次囉<br />
<br />
1. install openvpn, easy-rsa<br />
2. vars 修改,. ./vars<br />
3. build-ca<br />
4. build-key-server <server_name><br />
5. build-dh<br />
6. build-key <client_name><br />
7. openvpn --genkey --secret ta.key<br />
<br />
<br />
<br />
https://openvpn.net/index.php/open-source/documentation/howto.html#examples<br />
server/client config example<br />
<br />
server 端:走 tcp, ta 打開 (0)<br />
<br />
client 端:放 ca.crt, ta.key, <client_name>.* 到 openvpn 設定目錄內<br />
走 tcp, ta 打開 (1)<br />
<br />
重點:<br />
防火牆打開<br />
<br />
ufw allow 1194/tcp<br />
ufw allow 1194/udp<br />
<br />
/etc/ufw/before.rules 內最後面加上<br />
<br />
<span style="font-family: monospace;"><span style="background-color: white;">## NAT table rules
</span><br />*nat
<br />:PREROUTING ACCEPT [0:0]
<br />:POSTROUTING ACCEPT [0:0]
<br />
<br /># Port Forwarding
<br />-A POSTROUTING -s 192.168.95.0/24 -o ppp0 -j MASQUERADE
<br />
<br /># don't delete the 'COMMIT' line or these rules won't be processed
<br />COMMIT
<br /> </span><br />
/etc/ufw/sysctl.conf 裡打開 net/ipv4/ip_forward=1<br />
<br />
然後要把來自 tun0 的封包都預設 allow 不然 client 丟過去的 ip 不一樣就會被擋<br />
ufw allow in on tun0<br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-41241340324897458752017-02-26T15:18:00.001+08:002017-02-26T16:24:05.039+08:00ezgo 使用者還原改寫為 systemd 系統<br />
因為從原本的 SysV 改成 systemd,結果以前的使用者還原 script 全部要改寫。<br />
研究了一下 systemd 的運作,終於改寫成功。<br />
<br />
使用者還原:<br />
<br />
產生兩個檔案:<br />
/lib/systemd/system/multi-user.target.wants/recover_ezgo.service<br />
<br />
內容:<br />
<span style="font-family: "courier new" , "courier" , monospace;">[Unit]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Description=Recover user home contents #systemd service 的描述</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Before=sddm.service #因為使用者家目錄的修改要在啟動 sddm 前做好,否則會出大亂子</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">[Service]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Type=oneshot</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">ExecStart=/usr/share/ezgo/recover/restore_ezgo.sh #restore_ezgo.sh 是依據使用者選擇的帳號而產生</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">[Install]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">WantedBy=multi-user.target</span><br />
<br />
<br />
然後把它連結到 /etc/systemd/system/multi-user.target.wants/ 裡。這樣開機時就會在 sddm 執行 /usr/share/ezgo/recover/restore_ezgo.sh。<br />
<br />
另外一個檔就是真正執行還原的,也就是 restore_ezgo.sh。裡面就是清掉家目錄的內容,再將先前備份的檔案放回去。<br />
<br />
<br />
還原系統初始值:將家目錄整個砍掉重建,再把 /etc/skel 裡的內容放進去。<br />
一樣放在開機時 sddm 執行前:<br />
<br />
systemd 的部份要建立一個檔案: /lib/systemd/system/multi-user.target.wants/skel_ezgo.service<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">[Unit]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Description=Recover factory default for ezgo users</span><br />
<span style="font-family: courier new, courier, monospace;">Before=sddm.service</span><br />
<span style="font-family: courier new, courier, monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">[Service]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Type=oneshot</span><br />
<span style="font-family: "courier new", courier, monospace;">ExecStart=/usr/share/ezgo/recover/skel_ezgo.sh </span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">[Install]</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">WantedBy=multi-user.target</span><br />
<br />
一樣把它連結到 /etc/systemd/system/multi-user.target.wants/ 中。這樣就能在 sddm 前執行。<br />
<br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-27832777276511920102016-11-12T13:16:00.001+08:002016-11-12T13:17:58.672+08:00debian server login 變慢的問題<br />
已經有好一陣子,連到自己的伺服器,不管是做 sudo su - 或是用 ssh 連過去,或是用 scp 拷東西過去,都要等上十幾秒才會回應。今天去爬了文,找到原因。d-bus 有變化時,要重新執行<br />
<br />
systemctl restart systemd-logind<br />
<br />
就解決了Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-57202134361801289982016-10-30T20:40:00.004+08:002016-10-30T20:40:33.774+08:00Running gcin on ezgo13 (kubuntu 16.04, qt5 問題)<br />
雖然裝上了 gcin-qt5-immodule 但是發現 qt5 的程式一直都還是無法叫出 gcin<br />
<br />
後來研究之後成功了<br />
我的做法是:<br />
<br />
1. 移除 fcitx (我不確定是否必要,但放多個輸入法在裡面反正是不會有好處) 並安裝 gcin,記得要安裝 gcin-qt5-immodule<br />
<br />
2. 修改 /etc/default/im-config 中 <span style="font-family: Courier New, Courier, monospace;">IM_CONFIG_PREFERRED_RULE </span>把 fcitx 通通改成 gcin (我也不確定這個步驟是否必要)<br />
<br />
3. 執行<span style="font-family: Courier New, Courier, monospace;"> im-config </span>選擇預設 default<br />
<br />
5. 重點:/usr/share/im-config/data/26_gcin.rc 中,在<span style="font-family: Courier New, Courier, monospace;"> QT4_IM_MODULE=xim</span> 下面加上一行<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">QT5_IM_MODULE=xim</span><br />
<br />
重新登入,搞定!<br />
<br />
不過我發現重新開機之後 KDE 第一次會無法登入,卡在 splash ,要切到 console 去重啟 sddm 才能順利登入。後來再爬了一下文,修改 /usr/bin/startkde 中<br />
有一個決定 $qdbus 的地方,在 else 的地方<br />
<span style="font-family: Courier New, Courier, monospace;">qdbus=qdbus</span> 改成<span style="font-family: Courier New, Courier, monospace;"> qdbus="qdbus -qt=5"</span><br />
<br />
至少剛剛重新開機有順利登入了!Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-5669348316143846132016-10-29T22:16:00.003+08:002016-10-29T22:16:34.970+08:00pptpd server on debian<br />
在 debian 設定 pptpd server 時,要注意除了 port 1723 要開之外,protocol gre 也要打開。<br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-6188028132657841882016-10-10T15:29:00.003+08:002016-10-10T16:05:56.473+08:00OOXML / 微軟舊封閉格式轉成 ODF -- 為何不要用微軟的 Office 來做這件事?<div>
<br /></div>
雖然國發會的說明會投影片中告訴大家微軟也支援 ODF,但是就幾個手上的例子,還有我跟國際社群實際接觸觀察到的現象,在此分享給大家。<br />
<br />
先說結論:想要將微軟格式轉成 ODF,最好還是用新一點版本的 LibreOffice (5.1.x, 5.2, 5.3...) 轉出來的結果成功率較高。<span style="color: red;">不要用微軟的 Office 來另存新檔。</span><br />
<br />
進入正題:<br />
<br />
1. 大約半年多前,我請目前台灣 ODF 第一把交椅的講師幫我用微軟 Office 2010,將幾個簡單到略微複雜的微軟 docx/pptx/xlsx 另存成 ODF 檔給我測試。不過當時因為國發會想要找到的是一個可以驗證 ODF 格式合法性的工具,所以我拿到這些檔案的主要目的是要測試這個:<br />
<br />
<a href="https://odf-validator.rhcloud.com/" target="_blank">https://odf-validator.rhcloud.com/</a><br />
<br />
<div>
我拿這兩者做對照實驗:<br />
<br />
第一組:講師給我的微軟 Office 原檔與直接另存新檔產生的 ODF 檔 <br />
<br />
<a href="https://goo.gl/qAGYlP" target="_blank">https://goo.gl/qAGYlP</a></div>
<div>
第二組:2016 年宜蘭縣政府 ODF 教育訓練公開招標文件,這時經過去年我們對宜蘭縣政府一年的教育訓練與工作導入輔導後,他們直接採用 LibreOffice 產生的 ODF 檔<br />
<br />
<a href="https://goo.gl/y3vHxL" target="_blank">https://goo.gl/y3vHxL</a><br />
<br />
測試方式:選擇 ODF 1.2 Extended conformance 並開起 Log verbose</div>
<div>
<br />
結果:</div>
<div>
<br />
第二組中,LibreOffice 直接產生的 6 個檔裡有一個未通過。我以此發了一個 bug issue:</div>
<div>
<a href="https://bugs.documentfoundation.org/show_bug.cgi?id=98520" target="_blank">https://bugs.documentfoundation.org/show_bug.cgi?id=98520</a></div>
<div>
<br /></div>
<div>
測試結果:<a href="https://goo.gl/TH80vM">https://goo.gl/TH80vM</a><br />
<br />
而第一組中,微軟 OffiCe 存成的 ODF 則全軍覆沒,沒有一個檔案通過。<br />
(測試結果附在壓縮檔裡)<br />
<br />
另外有興趣的朋友可以自己用微軟 2010 或 2013 來試試看。<span style="color: blue;">直接拿微軟開啟微軟自己產生的 ODF,跟拿 LibreOffice 開啟微軟產生的 ODF ,結果是否有所不同。</span>我自己沒有微軟的 Office,所以沒做過這方面測試。但講師測過,結果相信也不需要我多說。<br />
<br />
2. 去年九月微軟台灣葉光釗技術長在 COSA 舉辦的開放系統論壇上親自承認微軟存成 ODF 時有加料。我人在現場,也有懂這方面的社群朋友在場。雖然他的投影片裡並沒有放這部份,而是只講到這裡:<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih3djDDpNpdsTBHn06c4jYpIK-pNo9TteCjo9EpWdl7p90RF1YLrL4ZZA7NYtqUAa5OmQmjiLrf4pbs7kzBQnTlxHnzpF4yL4oFtaVHX2Dck7uD5hKw4MU4ebGoAbNze3vRdY1J421Mw/s1600/screenshot5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih3djDDpNpdsTBHn06c4jYpIK-pNo9TteCjo9EpWdl7p90RF1YLrL4ZZA7NYtqUAa5OmQmjiLrf4pbs7kzBQnTlxHnzpF4yL4oFtaVHX2Dck7uD5hKw4MU4ebGoAbNze3vRdY1J421Mw/s320/screenshot5.jpg" width="320" /></a></div>
<div>
<br />
<div style="text-align: center;">
<span style="font-size: x-small;">(來源: </span><a href="http://www.cosa.org.tw/images/104OSS/04-%E8%91%89%E5%85%89%E9%87%97MS%20ODF%20Overview.pdf" style="font-size: small;">http://www.cosa.org.tw/images/104OSS/04-%E8%91%89%E5%85%89%E9%87%97MS%20ODF%20Overview.pdf </a><span style="font-size: x-small;">)</span></div>
<br />
實際上 ODF 並非 "provides no extensibility mechanism". 它們有<a href="https://wiki.documentfoundation.org/ODF#ODF_Extensions">一套流程</a>,在你使用 extension 後必須與 OASIS 申請,經由<a href="https://www.oasis-open.org/policies-guidelines/tc-process#OASISstandard">數道程序的討論</a>後,進入 ODF 標準中。這裡是 LibreOffice 目前所使用的所有 extension:<br />
<br /></div>
<div>
<a href="https://wiki.documentfoundation.org/Development/ODF_Implementer_Notes/List_of_LibreOffice_ODF_Extensions">https://wiki.documentfoundation.org/Development/ODF_Implementer_Notes/List_of_LibreOffice_ODF_Extensions</a><br />
<br />
舉一個比較新的例子,大家可以搜尋 Core commit 9c2a80,對此 issue 經過<a href="https://issues.oasis-open.org/browse/OFFICE-3860">一番討論</a>之後,最後投票決定接受為 RESOLVED 並進入 ODF 1.3。<br />
<br />
至於微軟有沒有遵循這個規範?<br />
<br />
我剪一小段我跟另一位 LibreOffice 核心開發者,也是這次推動英國政府以 ODF / LibreOffice (GovOffice) 為規範的推手 Michael Meeks 跟我的一小段對話。因為英國政府曾經下令要求微軟儲存 ODF 時必須遵循英國政府所使用的 ODF 規範(含 extension),而:<br />
<br />
<blockquote class="tr_bq">
Me: (And I'm very curious, do Microsoft *really* obey this list and export only the extensions list here?)</blockquote>
<blockquote class="tr_bq">
Michael: <span style="color: red;">Certainly not =)</span></blockquote>
</div>
<div>
<br />
3. ODF Committee 成員 Jos van den Oever,也是荷蘭政府在 ODF Committee 的代表,跟我討論今年 ODF Plugfest 時說,微軟每年都會參加 plugfest,但從未下海做過任何測試。</div>
<div>
這封信的部份原文(前面是關於我參加今年 ODF plugfest 的事)如下:<br />
<br />
<blockquote class="tr_bq">
At the plugfest we usually have a talks part and a testing part. At thelast plugfest we wrote a long report with interoperabilty issues [1]. Weappreciate if attendees contribute tests. You can send them to mebeforehand and I'll make sure the issues will be discussed.Ideally, we'll run the issues through our testing system. If you havesoftware which you want to have hooked up into that let me know.If you join, it would be great to have talk by you of about 20 minutesabout the status in Taiwan. </blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">Microsoft employees have attended a few times but usually do not join inthe the technical part and neither do employees from Apple or Google.This is a clear message from them that they do not care aboutinteropability. </span></blockquote>
<blockquote class="tr_bq">
<span style="color: red;">Microsoft does attend the weekly ODF standardization teleconference.They are usually simply observing. You are right to advise people to notuse MS Office for ODF. Google Docs is even worse.</span></blockquote>
<br />
再拿葉技術長的投影片來打臉一下:<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiny1DRFK4hVss42CqUb6Vs-6UTnTjKatvL2xuk6p57eN0I4aRGdKBzPOOU8XdF0XJBUfIQ_YT2dwJiOmuW4I42GGnJaBJ6zVBf32lSrKij0lSnYLdixEVxBtpVVoejGEvSaDCTk6WtSA/s1600/screenshot6.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiny1DRFK4hVss42CqUb6Vs-6UTnTjKatvL2xuk6p57eN0I4aRGdKBzPOOU8XdF0XJBUfIQ_YT2dwJiOmuW4I42GGnJaBJ6zVBf32lSrKij0lSnYLdixEVxBtpVVoejGEvSaDCTk6WtSA/s320/screenshot6.jpg" /></a></div>
<div>
<br />
<br />
可知他們對所謂的 "主動舉辦和參與 ODF interoperability" 是怎麼一回事情。<br />
<br />
其實我在所有我所主講的說明會場合都說得很清楚,撇開預算問題不談,只要微軟能確實遵循 ODF 1.2 規範,儲存成的 ODF 檔不會造成其他軟體讀取與編輯的困擾,那麼大家使用微軟另存 ODF 是沒有關係的。這是最理想的狀況,只是目前微軟並未採取此一友善政策。<br />
<br />
所以,目前為止,還是請大家如果有轉檔需求,請直接使用 LibreOffice(新版的當然表現會比舊版好一點),而不要採用微軟 Office 另存新檔成 ODF 的方式。</div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com1tag:blogger.com,1999:blog-15335714817887120.post-35601417638205037132016-09-27T22:34:00.002+08:002016-09-27T22:34:56.093+08:00LibreOffice Conference 2016<br />
This year LibreOffice Conference 2016 was held again (yes, again) in Brno. I said "again" because that two years before I also went to Brno for Akademy 2014. But Brno is a cute city (more like a town to me) and I like there very much, and this year we had three people going there together.<br />
<br />
The scene in Praha and Brno kept making me recall my memory, like the train station and locked restrooms.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxpeE0TIOL98ihMtNiCODZ4-GbWv7_25YhNLiSoLvds5WbPPSvy6reNzdMcI2lFsMnI07WvKz-znoCT2NmwK7UjfOtuWQutiQAi7nMPfR-seo52IjkazXKAhrfAbJkg2MKI8MyMpoMbg/s1600/001.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxpeE0TIOL98ihMtNiCODZ4-GbWv7_25YhNLiSoLvds5WbPPSvy6reNzdMcI2lFsMnI07WvKz-znoCT2NmwK7UjfOtuWQutiQAi7nMPfR-seo52IjkazXKAhrfAbJkg2MKI8MyMpoMbg/s320/001.jpg" width="240" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79aVBKfZgDSrunjTfuSAUV1H5X7CyGBK0a0AguO9esuPoYBK5U1mXcsFM9AW8MGKbURTD8CWrVvubYW3Mn-u9uEmAgIs3uYDFANGgwHFpBaBHqFV3To1B1xbN4RjdIlBHCnlEJPxhcw/s1600/Brno%25E7%2581%25AB%25E8%25BB%258A%25E7%25AB%2599.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj79aVBKfZgDSrunjTfuSAUV1H5X7CyGBK0a0AguO9esuPoYBK5U1mXcsFM9AW8MGKbURTD8CWrVvubYW3Mn-u9uEmAgIs3uYDFANGgwHFpBaBHqFV3To1B1xbN4RjdIlBHCnlEJPxhcw/s320/Brno%25E7%2581%25AB%25E8%25BB%258A%25E7%25AB%2599.jpg" width="240" /></a></div>
<br />
<br />
In the morning of the community workshop I planned to go to the city center around Brno train station with my partners Jeff Huang and Mark Hung. However I met Italo in the hall of the hotel and he asked me if I would like to attend the certification meeting. It was my honor and I was happy to, so I <strike> kicked my partners out and</strike> attended the meeting.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqQo76AV9PwLwypdm-9uUflvI4kep3gFRg8HFcqyJqSDQZjo15rZtM_Eme8Aaecrwppga-ltD9PukMDcPX8qZ_MOtjQ6zr_irBfbwaNvSKin90Qlw5MN7Nz02E_Yyz44rwRu9WoptQ1Q/s1600/20160906_113229.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqQo76AV9PwLwypdm-9uUflvI4kep3gFRg8HFcqyJqSDQZjo15rZtM_Eme8Aaecrwppga-ltD9PukMDcPX8qZ_MOtjQ6zr_irBfbwaNvSKin90Qlw5MN7Nz02E_Yyz44rwRu9WoptQ1Q/s320/20160906_113229.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Certification Meeting</div>
<br />
In the meeting Italo mentioned that the ODF/LibreOffice migration in Taiwan is important because it proves that ODF/LibreOffice is not only suitable to European and American countries. We also talked about some important issues like to make trainer's certification more localized, and to make sure that being a TDF member is NOT a need to apply for certification.<br />
<br />
This year the venue was very beautiful. Actually it is the most beautiful venue among all the conferences I have ever attended.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxilMFjY0bZjr4UCqZtlT1BgjVyOjC0pjmiBc5lKPUKVp02nIQIr0GyPQwk4Z6iRzYMRSQtUto7JuBkkESKFrzlFWlsKtA4PNOXC-BEpRbTIfMZ7R6UKJ1WwE1bYXrLvQ_uGII8QuzQ/s1600/20160906_164623.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxilMFjY0bZjr4UCqZtlT1BgjVyOjC0pjmiBc5lKPUKVp02nIQIr0GyPQwk4Z6iRzYMRSQtUto7JuBkkESKFrzlFWlsKtA4PNOXC-BEpRbTIfMZ7R6UKJ1WwE1bYXrLvQ_uGII8QuzQ/s320/20160906_164623.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
The venue of LibreOffice Conference 2016</div>
<br />
In the welcome party we met friends from Japan, Naruhiko and Shinji. But poor Naru spent some day in the hospital... Fortunately he is okay eventually.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0mpTB6bTxrAgBQvvESMO2hgFvlLBRtMvlZcMp3yTmPwauDtR0ete-HgrnSa3pV7j1K9GnIplei00Dmupy5cZi6uJb-nX1ObExMA_VQYj9RDC07unxzL2Si-fZLHaBXifuQN80DITtNg/s1600/20160906_180725.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0mpTB6bTxrAgBQvvESMO2hgFvlLBRtMvlZcMp3yTmPwauDtR0ete-HgrnSa3pV7j1K9GnIplei00Dmupy5cZi6uJb-nX1ObExMA_VQYj9RDC07unxzL2Si-fZLHaBXifuQN80DITtNg/s320/20160906_180725.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Jeff, Mark, Shinji and Naruhiko</div>
<br />
This year I gave two talks. One is about the LibreOffice macros. I told people how I found the documents and then realized that we need some more tutorials which are appropriate for newbie macro coders. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUB4zhPZwDxgjDu1E-NyD6QyeVPmelqXtPnteLqYLvxD1AbZG0QF7car_s1VPFXLXCJcPfeQWRTWrXMjEUHm5CGORWJWpDRRrM0T02fCnXMVL3lozxGLztP4PHzawzfUTefgtDXqqyzQ/s1600/FB_IMG_1474979635640.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUB4zhPZwDxgjDu1E-NyD6QyeVPmelqXtPnteLqYLvxD1AbZG0QF7car_s1VPFXLXCJcPfeQWRTWrXMjEUHm5CGORWJWpDRRrM0T02fCnXMVL3lozxGLztP4PHzawzfUTefgtDXqqyzQ/s320/FB_IMG_1474979635640.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
My first talk</div>
<br />
My second talk was still about the progress of ODF/LibreOffice migration in Taiwan. Since my presentation last year more and more city/county governments started their training courses and communication phases.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA2f_HyXzAkmU_qkXw-lvqNhNPulXrBFjX9ehSrXPk8jinSDArubhX8LJjWu8W1P93Jp7v0Nzy0AsULiHAsxIsfhbTcqovww5fOFX7CHq1dviqqCalSEDFiAkorsE8UMeQlELlh_cSbw/s1600/20160908_121414.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA2f_HyXzAkmU_qkXw-lvqNhNPulXrBFjX9ehSrXPk8jinSDArubhX8LJjWu8W1P93Jp7v0Nzy0AsULiHAsxIsfhbTcqovww5fOFX7CHq1dviqqCalSEDFiAkorsE8UMeQlELlh_cSbw/s320/20160908_121414.jpg" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
My second talk</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEMZFiyS8hpCMHLmHWfeoHrk4XUmYnaklr9RMN9WOfwbMaCb-MqU4rJdFHsKWHiL5gCkAjaU3q738hAAPJekeD2MBBmccjiYzL1CLKd43vTds58GlFWyj7NPW_PGa7tzA6R5DFrU7KSw/s1600/Taiwan_local_gov_odf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEMZFiyS8hpCMHLmHWfeoHrk4XUmYnaklr9RMN9WOfwbMaCb-MqU4rJdFHsKWHiL5gCkAjaU3q738hAAPJekeD2MBBmccjiYzL1CLKd43vTds58GlFWyj7NPW_PGa7tzA6R5DFrU7KSw/s320/Taiwan_local_gov_odf.png" width="221" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
ODF migration map in Taiwan</div>
<br />
The most exciting thing in this conference for me was that Italo showed this slide:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmkBrwedSL_2WlHhru8yMyR4dPkQq7_B0K1g1bMUYtNgIa_Sy_r4ClA4r27ezRa2jJ0L95ALp0m4ArWunOUV_XrUi4ZzM-Ccc-03vCKUgPpcusAT6AnNo6hhX_rG9F94OnaJiNoGsXcg/s1600/20160907_145542.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmkBrwedSL_2WlHhru8yMyR4dPkQq7_B0K1g1bMUYtNgIa_Sy_r4ClA4r27ezRa2jJ0L95ALp0m4ArWunOUV_XrUi4ZzM-Ccc-03vCKUgPpcusAT6AnNo6hhX_rG9F94OnaJiNoGsXcg/s320/20160907_145542.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Our hard work of promoting and migrating ODF in Taiwan was seen in the world. I hope that in a few years the migration map can be all green, and the world can see that ODF and LibreOffice are the most appropriate choices.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So, I'll keep going my work on this, and wish I can give you more good news in Rome next year!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK8ayMjPmtwbFvsbGt79yiKy9HFo51h3irQ-BNjVPgvqYjxaEQPwFsaXQkFmianVJWa7IM-1MWTNJpV-AyeE_KfxERcI5LtuJJ_gQp8Fl9A5zaSWvGyro1dgcgAfOl15TzTcw8ezuKnQ/s1600/20160909_171010.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK8ayMjPmtwbFvsbGt79yiKy9HFo51h3irQ-BNjVPgvqYjxaEQPwFsaXQkFmianVJWa7IM-1MWTNJpV-AyeE_KfxERcI5LtuJJ_gQp8Fl9A5zaSWvGyro1dgcgAfOl15TzTcw8ezuKnQ/s320/20160909_171010.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-50167642586706906082016-09-17T23:34:00.002+08:002016-09-18T23:17:19.755+08:00用 7za 解開 Windows 上 Big5 編碼的 zip 檔<br />
關鍵是在使用 ppa:frol/zip-i18n 裡面,加入 libnatspec0 支援的 p7zip-full, zip & unzip<br />
<br />
<br />
7za x -o{Directory} <zipfile><br />
<br />
用<br />
<br />
7za x -o`kdialog --getexistingdirectory $HOME` <zipfile> 就可以先開一個對話框選擇存放目錄,再把它解出來。<br />
<br />
<br />Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-30124490559902925242016-09-17T22:44:00.004+08:002016-09-17T22:44:58.529+08:00在 kububtu 16.04 上裝 KDE applications 16.04 <br />
<br />
<br />
1. 套件庫: ppa:kubuntu-ppa/staging-kdeapplications<br />
2. apt-get update; apt-get dist-upgrade<br />
<br />
但是有三個重要套件會被移除掉:calibre, musescore, fcitx-frontend-qt5<br />
原因是 kubuntu 16.04 中這三個套件是相依於 qt 5.5.1,但 kde applications 16.04 用的是 qt 5.6.1<br />
<br />
所以被移除之後,要到開發中套件庫把它們加回來:<br />
<br />
echo "deb http://mirrors.kernel.org/ubuntu/ yakkety main universe" >> /etc/apt/source.list<br />
<br />
apt-get update; apt-get install calibre musescore fcitx-frontend-qt5<br />
<div>
<br /></div>
<div>
kubuntu 獨立後,感覺整個 QA 品質變好差 :( </div>
<div>
<br /></div>
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-53338204276289656052016-04-07T23:19:00.001+08:002016-04-08T11:54:17.505+08:00為什麼要學習程式語言?<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
說真的,檯面上那麼多人喊得那麼大聲,我覺得我來推正當性比其他檯面上的人都高多了...</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-2EyPTZccvBc4q0caoKZ555gB0kNhDETbRfcCdHW_Lr3jy512B37OcoceceVsgbFWDUNer6J1NbY-LSIf9TXJPtuRFr2F3hOa-X_hKNUrWxvQHZQ1SnFJnu5sTy4aRAA0k0itvZgbw/s1600/program.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-2EyPTZccvBc4q0caoKZ555gB0kNhDETbRfcCdHW_Lr3jy512B37OcoceceVsgbFWDUNer6J1NbY-LSIf9TXJPtuRFr2F3hOa-X_hKNUrWxvQHZQ1SnFJnu5sTy4aRAA0k0itvZgbw/s400/program.png" width="400" /></a></div>
<br />
<div>
<br /></div>
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-14489199268793720122016-04-05T23:11:00.000+08:002016-04-05T23:11:09.281+08:00ezgo13 (LXDE) develop note從 Original Lubuntu 16.04 開始:<br />
<br />
<br />
<ul>
<li>locale-gen zh_TW.UTF-8</li>
<li>locale-gen zh_TW</li>
<li>/etc/apt/source.list</li>
<li>/etc/resolv.conf</li>
<li>recv-keys 4CD565B5 from pgp.mit.edu</li>
<li>add ezgo.list to /etc/apt/source.list.d</li>
<li>echo "blueman hold" | dpkg --set-selections # 因為在 chroot 環境下無法 reload dbus 所以會更新失敗</li>
<li>apt-get install vim vim-runtime vim-gtk vim-scripts # 純粹拿個人喜好強加在使用者身上,爽</li>
<li>apt-get dist-upgrade #記得先 mount proc, sys, dev/pts</li>
<li>change ubiquity-slideshow-ezgo</li>
<li><span style="font-size: 12pt;">apt-get install oxoffice5 oxoffice5-writer oxoffice5-calc oxoffice5-impress oxoffice5-math oxoffice5-base oxoffice5-zh-tw</span></li>
<li><span style="font-size: 12pt;">apt-get install firefox-locale-zh-hant language-pack-zh-hant language-pack-gnome-zh-hant </span></li>
<li></li>
<li>apt-get install fcitx-googlepinyin fcitx-chewing fcitx-libs-qt5 fcitx-libs-qt fcitx-table-array30 fcitx-table-array30-big fcitx-table-cangjie3 fcitx-table-cangjie5 fcitx-table-boshiamy fcitx-tools fcitx-ui-light</li>
<li>apt-get install ezgo-lxde ezgo-menu # pidgin.desktop 會造成錯誤</li>
</ul>
<br />
<br />
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-79317403638025013782016-04-04T16:20:00.000+08:002016-04-04T16:20:44.559+08:00ezgo13 KDE develop note<br />
來寫點開發紀錄吧<br />
<br />
<br />
<ol>
<li>之前 ezgo12 用 Kubuntu 14.04,legacy mode 開機畫面只要改 isolinux/gfxboot.cfg 把 hidden-timeout=2 拿掉,加上 foreground=0xFFFFFF 即可。但是用 16.04 做 ezgo13 時,同樣的方法卻失效了。後來發現是要改 isolinux/bootlogo。它本身是一個 cpio 起來的壓縮檔,所以要<br /><br /><span style="font-family: "courier new" , "courier" , monospace;">mkdir aa<br />cd aa<br />cpio -i < ../bootlogo</span><br /><br />解開來之後,之前在 isolinux 下修改的通通變成在這裡改(例如 lang, splash.pcx 等檔案),然後<br /><span style="font-family: "courier new" , "courier" , monospace;"><br />find . | cpio -o -H bin > ../bootlogo</span><br /><br />壓回去,結果就成功了。</li>
<li>Plasma5 的 config 不再集中在 /usr/share/kde4,而是通通分散放到 /usr/share 下。家目錄中的 config 也是,之前都集中在 ~/.kde 或 ~/.kde4,現在則是通通放到 ~/.config 下。照開發團隊說法這樣「才符合標準」,但這樣要整個 reset 回一個 clean 的 KDE Plasma 5 環境變得非常麻煩...</li>
<li>Plasma 5 似乎不吃 XDG_MENU_CONFIG,所以要手動改 menu :( 把 ezgo-applications.menu 連到 kf5-applications.menu</li>
<li>安裝 ezgo-kde5 之後,還要修改以下地方:</li>
<ol>
<li>/usr/share/plasma/desktoptheme/*/metadata.desktop ,把下面 [Wallpaper] section 的 defaultWallpaperTheme 改成 ezgo,大小改成 1920x1080</li>
<li>/usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js 把它用 /usr/share/ezgo/ezgo-kde5/defaultPanel.layout.js 覆蓋掉。注意不能用 symlink。</li>
<li>/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/artwork/background.png 把它用 /usr/share/ezgo/ezgo-artwork/default-dm/1920x1080.png 換掉。</li>
<li>/usr/share/plasma/shells/org.kde.plasma.desktop/contents/layout.js 把它用 /usr/share/ezgo/ezgo-kde5/desktop.layout.js 覆蓋掉。注意不能用 symlink。</li>
</ol>
<li>安裝 oxoffice 的指令:<br /><span style="font-family: "courier new" , "courier" , monospace;"><br />
</span><!--StartFragment--><span style="font-size: 12pt;"><span style="font-family: "courier new" , "courier" , monospace;">sudo apt-get install oxoffice5 oxoffice5-writer oxoffice5-calc oxoffice5-impress oxoffice5-math oxoffice5-base oxoffice5-zh-tw</span></span><!--EndFragment--></li>
</ol>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-50806834622314702582015-11-03T12:11:00.000+08:002015-11-03T15:32:52.923+08:00Taiwan Launched a 3-year Project In Order To Adopt Open Document Format<br /><br />Although the central government in Taiwan had worked out a national file format standard named CNS-15251 in 2009, they didn't push and force government bodies to use it. Nevertheless, since UK government selected Open Document Format to meet user's needs in July 2014, the National Information and Communications Initiative Committee (NICI), a working group composed with many departments under Executive Yuan in Taiwan, started a series of meetings and made a resolution to include ODF into the national standard (named ODF-CNS15251, which is actually ODF 1.2) and actively migrate this national standard in all government units.<br /><br />In NICI's resolution, they defined "open files" as "files which don't need to rely on a certain software to open." They also mentioned that all the government bodies should use ODF-CNS15251 for editable document file, and PDF or HTML for uneditable document file.<br /><br />Therefore, National Development Council (NDC), a first level unit under Executive Yuan, launched a 3-year project and split the migration into three stages:<br /><br />Stage 1: Before the bottom of 2015, all the downloadable files on web sites which belongs to any government unit, should use ODF-CNS15251 or PDF file format. All the old files on web sites should be converted to ODF-CNS15251 or PDF too.<br /><br />Stage 2: Before the bottom of 2016, all the files provided and exchanged between government bodies, or between government units and non-government units or enterprises should use ODF-CNS15251 or PDF file format.<br /><br />Stage 3: Since 2017, ask all the government bodies to use software which can create and edit ODF-CNS15251 and can be downloaded freely forever.<br /><br />This project was launched in August 2015. NDC entrusted the Software Liberty Association Taiwan (SLAT), which is an NPO targeting on promoting free and open source software, and Gjun information Co., Ltd., which is a software cram school, to execute this project. In this project, 13 explanation sessions are held in different counties and cities of Taiwan, including outside island counties like Penghu, Kinmen and Lienchiang (aka Matzu). Lecturers and open source community members from SLAT are responsible to explain why and how to migrate to ODF. Besides, many real training courses are held too. The FOSS experts from SLAT are responsible for planning the course guidelines and examples in these training courses, and training lecturers in Gjun. Then lecturers of Gjun will be responsible all the training courses.<br /><br />Besides NDC's project, there have been several successful stories migrating OpenOffice and LibreOffices all over Taiwan. Coretronics is a successful example for big enterprises to migrate LibreOffices. In the project of Coretronics, OSS Integral Institution Company, which was founded by a senior open source community and is experted in Open Office and LibreOffice customization and service, is responsible for helping them since 2010. Fo-Guan-Shan, which is a very big Buddist group, also migrated to OpenOffice successfully in 2014. Eric Sun, the execute secretary of Open Source Software Application Consulting Center, which is a project under the Ministry of Education and executed by SLAT, helped Fo-Guan-Shan to migrate OpenOffice. Finally, in March 2015, Yi-Lan County government also launched a project to migrate from Microsoft Office to LibreOffice. This project is led by the Office of Information Administration, Planning Department in Yi-Lan County, and is executed by Sunjun Information Service Company, which was founded by many open source community members and experts. In LibreOffice Conference 2015, Franklin Weng, the President of Board of Directors in SLAT, shared the successful stories of Yi-Lan County and Coretronics in Migration track, also shared the status about the ODF migration in Taiwan.<br /><br />SLAT will then cooperate with The Document Foundation, to help this migration project.Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-12286465465469372722015-10-28T21:15:00.002+08:002015-10-28T21:15:27.944+08:00Yi-Lan County Announced That No More Microsoft Office Will Be Purchased<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdggIoT-A-X23lUp18RZgPPFg1ZNjI0bE9v3wpi1gcU3ELooOQ5Ave91Rul3yPRD7bqxZQmTlxmLicY6fYZbugrqfAgBI4DuKBnAYO9xHeT9TqG5XVhwcrgXEcmQ8we1xD_uQ03RDlA/s1600/12185135_10207695958215197_3471154117237599609_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIdggIoT-A-X23lUp18RZgPPFg1ZNjI0bE9v3wpi1gcU3ELooOQ5Ave91Rul3yPRD7bqxZQmTlxmLicY6fYZbugrqfAgBI4DuKBnAYO9xHeT9TqG5XVhwcrgXEcmQ8we1xD_uQ03RDlA/s320/12185135_10207695958215197_3471154117237599609_o.jpg" width="221" /></a></div>
<br />
<div>
<br /></div>
<div>
The above image is an official document from Yi-Lan County, Taiwan. The subject of this document is to reiterate that all the users in Yi-Lan County, including teachers in schools, employees in the offices in all the villages and cities in Yi-Lan, and colleagues in Yi-Lan County Government, need to send documents in ODF or PDF format instead of Microsoft Office's format. </div>
<div>
<br /></div>
<div>
Yi-Lan County Government also announced in this document that they will not buy and install Microsoft Office in newly purchased computers. All the new computers need to install LibreOffice which can be downloaded in the inner file server in Yi-Lan County Government.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOHYB852dC81PuCSyIFEkKaS6aRTo1HmQRDc1KdgFLLFTqZunO-Z8pm3U1ZqHW0h8at0sXxlr_zdiAXLcFjEEr7cVAoMGUpwEtbT42GFDq2BIXb2b7yCSspEKhxHbVeas9x-o5jD18xw/s1600/12063471_1230182896996109_8500194124777841027_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOHYB852dC81PuCSyIFEkKaS6aRTo1HmQRDc1KdgFLLFTqZunO-Z8pm3U1ZqHW0h8at0sXxlr_zdiAXLcFjEEr7cVAoMGUpwEtbT42GFDq2BIXb2b7yCSspEKhxHbVeas9x-o5jD18xw/s320/12063471_1230182896996109_8500194124777841027_n.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
Besides Yi-Lan County, Yun-Lin County Government in Taiwan also took actions to warn those users who still upload or send out documents in OOXML or other non-ODF formats. The red part of the above image said, "This attached file does not comply with the formal national standard format ODF-CNS15251" where ODF-CNS15251 is identical to ODF 1.2.</div>
<div>
<br /></div>
<div>
The above incidents show that Taiwan goes a bit further on the road to fully migration of ODF. Let's applaud and cheer on them!</div>
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0tag:blogger.com,1999:blog-15335714817887120.post-49085184945150316792015-10-03T16:55:00.001+08:002015-10-08T07:45:52.424+08:00Libreoffice Conference 2015<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPgz-30jPSeAKdQw5i7_FT75bRUJagmIAA1LJoGK5wi3lxCWNf92WAFyxO7PESUMrymoNdzC8LwCmh4_mWkqhTPV06_UGgMMI74XefD1RXmujR78lWNHFlOl3uHXS6zv5YPSVxsuK3w/s1600/400px-LibOCon-2015-Aarhus-line-300.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="81" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPgz-30jPSeAKdQw5i7_FT75bRUJagmIAA1LJoGK5wi3lxCWNf92WAFyxO7PESUMrymoNdzC8LwCmh4_mWkqhTPV06_UGgMMI74XefD1RXmujR78lWNHFlOl3uHXS6zv5YPSVxsuK3w/s320/400px-LibOCon-2015-Aarhus-line-300.png" width="320" /></a></div>
<br />
<br />
今年三四月份,突然收到一封來自 The Document Foundation 的成員 Sophie 的來信,因為之前曾經在 Libreoffice wiki 上翻譯一些東西,因此邀請我參加今年的 Libreoffice Conference 中的 Community Day 討論一些與翻譯流程相關的事情。因為剛好我也正在執行宜蘭縣 Libreoffice 導入的專案,因此起了念頭,或許可以以此為題,投個稿去參加看看。因此在五月份,就投了一篇 paper,以宜蘭縣導入,還有晟鑫的中強光電導入成功案例為題。<br />
<br />
眼看研討會時間越來越近,我的 proposal 卻始終石沉大海,想著或許沒被選上,但沒選上也該發封信通知吧!於是再發信問了 Sophie,得到的答案卻是他們沒收到我的 proposal。她請我立刻再轉發一次,我找出五月份寄的信給她,告訴她我五月份就提了。<br />
<br />
很快的,她表示 TDF 對我的議題有興趣,因此會啟動「特別程序」盡快通過我的議程。果不其然,不到兩天的時間,我就收到錄取通知與確定贊助,準備前往丹麥。<br />
<br />
在這段期間,國發會也啟動了推動 ODF 相關的專案,也因此這次的 Libreoffice Conference 我除了上台發表我的講題之外,更肩負了橋接國際社群與台灣政府推動相關單位的任務。因此在出發前,也抓住幾次機會與國發會的長官們溝通,並詢問他們想瞭解的事項。<br />
<br />
這次參加研討會有幾個主要的收穫:<br />
<br />
<ol>
<li>瞭解各國社群參與的狀況:<br /><br />第一天的 Community Day 中,讓在場所有人吃驚的是斯里蘭卡。他們在 2011 年舉辦了一個翻譯馬拉松,27 小時的時間,總共有超過 70 個人參與,翻了幾萬個條目。不過其他的國家,主要翻譯者仍然是少數。<br /><br />不過,比起 KDE 來,Libreoffice 在亞洲有較多的國家參與。這次參加 Libreoffice Conference 的亞洲國家的朋友,除了我以外,有來自日本、越南、印度、斯里蘭卡等國家。<br /><br />另外,實際參與到 Libreoffice 開發,The Document Foundation 運作的人,仍然是以歐美為主,CJK 的開發者極少,也因此在 Libreoffice 中對 CJK 語系的一些支援問題,例如這次日本社群的小笠原德彥所提出的直書問題,就一直未完全解決。不過小笠原仍然表示,有許多直書的問題,靠著台灣來的 Mark Hung 所提出的許多 patch 都已解決,讓他十分感激。因此,關於這些中日韓文的問題,仍然要靠我們自己。這也是我這次去的「橋接」任務之一,希望能由台灣政府出一點力,支持在地社群解決中文問題,連帶的 CJK 都可以受惠。</li>
<li>瞭解各國政府推動與參與的狀況<br /><br />因為參與了國發會推動 ODF 的專案,這次我在主講時,也順道提到了台灣的狀況。當我表示 ODF 已經在台灣成為國家標準,並成為政府文件交換的標準格式之後,底下響起了一片掌聲!後來我跟在荷蘭政府推動的朋友聊天,他表示雖然荷蘭政府以 ODF 為文件標準格式的新聞已經發出,但是做的根本還沒有台灣這麼多。因此我們也可以知道,在推動 ODF 做國家標準這件事,目前只有英國與台灣,台灣仍然屬於領先群。</li>
<li>一些重要事項的討論<br /><br />我參加的議程以觀察各國家在地化的狀況為主。不過,也在 Community Day 還有一些議程中一起討論到了 Libreoffice 說明檔的問題。Libreoffice 從 OpenOffice 分家之後,說明檔一直未做大幅修改,導致目前的說明檔與現有的軟體介面、功能等嚴重脫節。會中討論了一些改進的做法。此外,marketing 這件事也是他們十分重視的,特別是積極推動國家導入,與 marketing 息息相關,因此我也提出申請加入 marketing team,希望能進一步積極協助台灣推動。</li>
<li>其他有趣的議程<br /><br />這次有一個非常有趣的議程。<span style="background-color: white; color: #141823; font-family: helvetica, arial, sans-serif; font-size: 15px; line-height: 20.7000007629395px;">今年八月微軟發新聞聲稱義大利的 Pasero 在導入 OpenOffice 四年後,回到微軟的懷抱重新改用 Office 365,因為使用 Openoffice 「實際上成本更高」。根據 Italo,TDF 中負責 marketing 的人,也是義大利社群這次主導義大利國防部導入的人的說法,實際上只是幾個人,佔總數 0.0002% 的人改用,而且微軟估算 Openoffice 成本的方法非常荒謬(「估計」每個人每天要多花 15 分鐘做格式轉換,然後把這 15 分鐘的成本乘上人數乘上四年的天數,得到三十萬歐元這個成本數字)。這個議程就是 Italo 分享這幾個月來,他們怎麼跟微軟打筆仗的故事。</span></li>
</ol>
<div>
<span style="color: #141823; font-family: helvetica, arial, sans-serif;"><span style="background-color: white; font-size: 15px; line-height: 20.7000007629395px;"><br /></span></span></div>
<div>
<span style="color: #141823; font-family: helvetica, arial, sans-serif;"><span style="background-color: white; font-size: 15px; line-height: 20.7000007629395px;">這次覺得收穫挺豐碩的,也吃到了 Libreoffice 5 歲生日的蛋糕!不過接下來的挑戰也很大:如何讓台灣以政府之力推動 ODF 進一步推動使用 Libreoffice / OpenOffice 這件事不會再次不了了之,或變成悲劇一場。除了在台灣推動,也希望能積極促成台灣政府單位能有代表參與 TDF 或 ODF 的開發,形成一個真正健全的生態系。</span></span></div>
<div>
<span style="color: #141823; font-family: helvetica, arial, sans-serif;"><span style="font-size: 15px; line-height: 20.7000007629395px;"><br /></span></span></div>
<div>
<br /></div>
Franklinhttp://www.blogger.com/profile/09106918545616840175noreply@blogger.com0