第 182 期 NicoFox:一個已經三年的小小開源專案─自由軟體鑄造場電子報─智邦公益電子報
enews.url.com.tw · February 07,2012[自由文化] OSCON 會議介紹
黃崇閔/文
每年七月份的第三週,O'Reilly 公司都會在美國俄勒岡州的波特蘭會議中心舉辦一年一度為期一周的開放源碼大會 Open Source Convention (OSCON )。連續五天的會議分為兩個階段,第一階段均為教學演講,於第一、二天舉行,每場均為三小時。大多數的講者為自由軟體開發團隊的成員,演講中會利用一半的時間舉行許多實際操作的活動,讓與會的來賓能夠直接跟自由軟體開發者互動,從中交流討論相關知識。
Google 員工 Wesley Chun 舉辦了一場名為 Google App Engine 的工作坊,在短短三個小時中,分享在 Google 公司內部的開發經驗,也介紹了 Google App Engine 的實例應用,最後透過 Google App Engine 用 Python 程式語言做了簡單的教學範例。經過一連串的介紹與實際操作,我更加了解 Google App Engine的強大功能。
▲圖2:雲端服務供應商 Rackspace 的攤位
此外,StatusNet 的開發團隊也舉辦名為 Building Social Applications with StatusNet 的演講,創辦人兼開發者 Evan Prodromou介紹了 StatusNet 的創辦過程、如何撰寫 StatusNet 的外掛程式、分享 StatusNet 的 API 開發經驗,最後由 StatusNet 的開發團隊帶領現場聽眾於本機電腦上自行架設完整的 StatusNet,並且撰寫簡單的音樂模組。
▲圖3:供參與者掛在識別證的技術標籤,讓其他人在交誼時能一眼就知道你會什麼技術
從第三天起,OSCON 安排了一系列的自由軟體相關議題探討,包含許多最新技術的分享以及新軟體發表。除了既定議程之外,也有許多自由軟體的開發者及廠商,在活動當天現場預約會議室招集同好加入。這些臨時會議往往吸引更多志同道合的人,我也在這裡認識了來自各國的 PHP 開發者。
OSCON 的眾多演講中,Leif Hedstrom主講的 Deploying Apache Traffic Server 就是針對多重服務網站部署分散流量伺服器 (Apache Traffic Server, http://trafficserver.apache.org/ ) 做介紹,我認為這是目前 OpenFoundry 可以參考的網站系統架構。另外還有 Lance Albertson 所主講的 Ganeti Web Manager: Cluster Management Made Simple 等相關議題,這些講者介紹的內容均是網站主機擴充時所會面臨的問題。這次前往參加 OSCON 2011 的目的之一,是希望藉由跟開發者溝通以解決工作上面臨的問題。我知道許多網站規模成長時,伴隨流量增加,面臨大量同時連線的情況,往往造成系統 IO介面存取效能低落,進而導致服務停擺。若能夠將網站伺服器的流量分散部署,不僅能夠解決這個問題,也能提升網站服務品質。
▲圖4:OSCON 入口的大立牌,上頭的眼鏡猴是 OSCON 的吉祥物
關於程式開發的探討內容更加多元豐富,網頁開發系列議題包含了 Is HTML5 Ready for Production?、CouchApps with CouchDB, JavaScript & HTML5、HTML5 & CSS3: The Good Enough Parts、HTML5: All about Web Forms 等新技術議題。這些新穎的技術雖然無法直接套用在 OpenFoundry 網站,但是在未來的網站開發規劃中,這些技術層面絕對值得納入考量。
OSCON 安排的演講內容除了系統管理、網頁程式開發之外,還有許多不同領域的介紹,其中有些講者針對開發工具做了些介紹,例如 Sebastian Bergmann 講者談了一系列關於 PHP 開發、驗證、調教的相關議題,其中包含了 Reviewing PHP Code、Testing LAMP Applications 及 Integrate Your PHP Project with Jenkins 等,這些議題開發 PHP 程式專案中相當重要。除了 PHP 之外,整場活動也有介紹不同程式語言的演講,但是由於不同領域的演講會同時進行,因此無法參與所有的議題,頗為可惜。參與這次 OSCON 活動後,我除了學習到新技術外,也認識了許多來自世界各地的自由軟體開發者。在短暫的互動中,我向他們分享 OpenFoundry 網站,他們都很驚訝,並讚美 OpenFoundry 在自由軟體的價值:What a powerful weapon!,也希望我們能夠在明年度的 OSCON 介紹 OpenFoundry 給大家認識。
我在 OSCON 介紹台灣的影片
http://www.youtube.com/watch?v=ncU6_jG4P7Q
<iframe width="420" height="315" frameborder="0" src="http://www.youtube.com/embed/ncU6_jG4P7Q"></iframe>
作者簡介
黃崇閔,現任職自由軟體鑄造場,擔任軟體工程師,喜歡透過自動化的程式,解決枯燥乏味的工作內容。
[接案/工作] 自由軟體鑄造場 誠徵工讀生
OSSF/文
【職 務】工讀生
【需求人數】1名
【工作內容】交辦事務處理,例如︰影像處理、網頁編輯、資料整理...等等
【學歷要求】專科以上(夜間部佳)
【工作經驗】不拘
【工作地點】11529 臺北市南港區研究院路 2 段 128 號 402 室(中央研究院 資訊科學研究所)
【必備條件】
- 具電腦基本操作能力
- 需具備HTML語法編輯能力
- 英語能力具一定的基礎
- 負責任的工作態度,以及有學習意願者佳
【工作時段】每週安排約 2~3 個工作天(09:30~17:30)
【應徵方式】
- 請檢附履歷、基本資料(學經歷、照片、可安排之工作時間、聯絡方式等),寄至 [removed] <!-- var prefix = 'mailto:'; var suffix = ''; var attribs = ''; var path = 'hr' + 'ef' + '='; var addy14349 = 'rockhung' + '@'; addy14349 = addy14349 + 'citi' + '.' + 'sinica' + '.' + 'edu' + '.' + 'tw'; [removed]( '' ); [removed]( addy14349 ); [removed]( '' ); //--> [removed]rockhung@citi.sinica.edu.tw [removed] <!-- [removed]( '' ); //--> [removed]這個 E-mail 地址已經被防止灌水惡意程式保護,您需要啟用 JavaScript 才能觀看 [removed] <!-- [removed]( '' ); [removed]( 'span>' ); //--> [removed],洪先生收,標題請註明:應徵工讀生。將擇優通知面試,不適任者恕不退件及函覆。
報主的話
報主的話: 更多自由軟體相關新聞及文章,請按此閱讀或訂閱。 |
[技術專欄] 利用 FreeNAS 打造儲存設備(5)安裝篇(嵌入式USB)
Weithenn ( http://www.weithenn.org/ ) /文
前言
本文主題為 FreeNAS 嵌入式 USB 的安裝及製作方式。主要流程是從 FreeNAS 官方網站取得的最新映像檔,將之解壓縮後寫入 USB 儲存裝置,並且將主機 BIOS 開機順序設定為 USB 裝置開機即可開始使用 FreeNAS。
嵌入式 USB 安裝用於主機環境中無 CD/DVD ROM 光碟機的環境。
實作環境
- 實體伺服器:IBM System x3250 (MT 4365)
- 官方網站提供之最新映像檔:FreeNAS-8.0.1-RC1-amd64-Full_Install.xz
- USB 隨身碟 :至少 2GB 以上的儲存空間
取得 FreeNAS 最新映像檔
請讀者先於官方網站中,取得最新釋出的映像檔,如本篇教學所使用的 FreeNAS-8.0.1-RC1-amd64-Full_Install.xz。
於 FreeBSD 環境下製作嵌入式 USB
於 FreeBSD 環境下製作嵌入式 USB,只需準備前一步驟取得的映像檔及一個 USB 儲存裝置。讀者可在命令列模式中,使用 xzcat 指令,將映像檔解壓縮,同時將解開的內容透過 dd 指令寫入至 USB 儲存裝置。注意!在使用前請確認 FreeBSD 所偵測到 USB 儲存裝置的硬體裝置位置,如本篇環境為 /dev/da0,以避免因打錯硬體裝置位置而破壞了原有 FreeBSD 作業系統的正常運作。
指令操作如下,
# xzcat FreeNAS-8.0.1-RC1-amd64-Full_Install.xz | dd of=/dev/da0 bs=64k
122070+122071 records in
122070+122071 records out
2000000000 bytes transferred in 2604.303148 secs (1625439 bytes/sec)
於 Mac OS X 環境下製作嵌入式 USB
於 Mac OS X 環境下製作嵌入式 USB,除了準備先前取得的映像檔及 USB 儲存裝置外,還需下載及安裝 Keka。Keka 是一款處理壓縮檔的軟體,主要的核心技術採用開放原始碼軟體 7-zip 所支援的 p7zip。
接著開啟 Finder 點擊 FreeNAS 映像檔,並按下滑鼠右鍵選擇「Open With Keka」 ,插入 USB 儲存裝置再依序點選「Applications > Utilities > Disk Utility」。
然後開啟 Terminal,輸入指令「diskutil list」以找尋 USB 裝置代號,如本篇環境為 /dev/disk8。再執行 「diskutil unmountDisk /dev/disk8」 指令確保 USB 裝置已經卸載,並且該裝置只有一個可以自由使用的分割區。最後執行 dd 指令將映像檔寫入 USB 裝置內。如果執行 dd 指令時出現 "Resource busy" 的錯誤訊息,表示 USB 裝置仍處於掛載狀態,需回頭再次執行缷載指令。
開啟 Terminal 後的指令操作如下
sh-3.2# diskutil list
/dev/disk8
(略)
sh-3.2# diskutil unmountDisk /dev/disk8
Unmount of all volumes on disk8 was successful
sh-3.2# dd if=FreeNAS-8.0.1-RC1-amd64-Full_Install of=/dev/disk8 bs=64k
於 Windows 7 環境下製作嵌入式 USB
於 Microsoft Windows 7 環境下製作嵌入式 USB,請先準備壓縮軟體,如本篇使用 7-zip。接著取得映像檔寫入工具 physdiskwrite,此工具支援 Windows NT/2000/XP/Vista/7 作業系統,但是在 Vista / 7 環境中執行前記得要「以系統管理員身份執行」 才可正常執行此工具。
接著請於 Windows 7 系統中建立資料夾,如 C:FreeNAS,並將 physdiskwrite 壓縮包解壓縮後,將取得的 physdiskwrite.exe 執行檔放到此資料夾內,再將 FreeNAS 映像檔解壓縮後也放置於此資料夾內。
以滑鼠右鍵選擇「以系統管理員身份執行 (Run as Administrator)」來開啟「命令提示字元」。接著執行「diskpart、list disk」指令列出儲存裝置清單查得 USB 裝置代號,並使用「select disk」指令選擇 USB 裝置後使用「clean」指令來清空 USB 裝置的內容,最後以「exit」指令離開 diskpart 操作模式,詳細操作過程如下:
▲ 圖1:使用內建 diskpart 工具清空 USB 裝置內容
接下來則是使用映像檔寫入工具 physdiskwrite.exe 配合參數「-u」,將解壓縮後的安裝映像檔 FreeNAS-8.0.1-RC1-amd64-Full_Install 寫入至 USB 裝置內,下列為操作步驟:
▲ 圖2:使用映像檔寫入工具 physdiskwrite 製作嵌入式 USB
調整 BIOS 以使用 USB 儲存裝置開機
本篇實作的實體主機為 IBM System x3250 伺服器。將製作完成的嵌入式 USB 插入伺服器 USB 插槽後開機,於開機時按下「F2」鍵進入 BIOS 設定選單接著選擇 「Startup Option > Startup Sequence Options」項目,並將主機偵測到的 USB 儲存裝置「USB HDD: Silicon-Power (USB 2.0)」項目調整至比內接式硬碟還要前面的開機順序即可。
▲ 圖3:IBM x3250 設定 BIOS 為 USB 裝置開機
若 BIOS 開機順序設定完成後還是無法順利啟動主機至 FreeNAS 作業系統,請檢查 USB 儲存裝置的 UDMA (Ultra DMA) compliant 支援度情況。因為有些使用者反應採用便宜的 2GB USB 儲存裝置無法順利開機,很可能是因使用的儲存裝置不是正確的 2GB Flash Drive,如在 FreeNAS 臭蟲回報系統中的 Installation to CF fails 回報的狀況。
與其它安裝方式不同的是,在此輸入網頁介面 IP 位址後便自動登入管理介面「admin / 不需密碼」,而不再是網頁管理介面預設的「admin / freenas」使用者帳號及密碼。登入後右上角出現「Alert」紅色閃爍燈號,點擊後可知訊息為請您更改網頁登入的管理密碼。
▲ 圖4:嵌入式 USB 順利開機完成
結語
本篇為「FreeNAS 安裝篇」系列文章中的最後一篇,回顧整個安裝篇內容,相信讀者已經了解如何由光碟機安裝 FreeNAS、由光碟機及圖形介面進行 FreeNAS 版本升級,以及本文的製作嵌入式 USB。
之後將進入「FreeNAS 網路設定篇」介紹如何設定 FreeNAS 的基礎網路功能,以及進階的網路功能,如網卡容錯 (Failover)、頻寬合併 (Link Aggregations、EtherChannel)、靜態路由 (Static Route)、及虛擬區域網路 (VLAN) 等。
[源碼新聞] NicoFox:一個已經三年的小小開源專案
笨笨的小B (littlebtc)/文
2008 年的夏天,有個大學生在自己的宿舍裡,一邊熬夜一邊研究 Firefox 套件開發的文件,想要在幾個月之內寫出一個下載「NICONICO 動畫」上影片的工具—這就是現在的 NicoFox 誕生的源起。NicoFox 是由我開發的專案,轉眼之間,這個套件從初次釋出的 2008 年 9 月 17 日至今,已經三年了!
NICONICO 動畫是日本第二大的影片分享網站,廣受日本動漫遊戲愛好者族群所喜歡。其特色是留言會直接覆蓋在影片上面,以字幕或跑馬燈的形式呈現,因此觀看留言成為在該網站瀏覽影片上的一大樂趣。也因此逐漸有了同時保存影片與留言的工具出現,在 2008 年時最流行的工具是日本人開發的獨立瀏覽器 BOON-SUTAZIO,可以將影片與留言的 XML 檔案一同下載後,使用其內建的撥放器,將下載的影片連同留言一同在本機播放。
然而獨立瀏覽器 BOON-SUTAZIO 在 2008 年夏天突然停止開發與釋出,引起了眾人的討論。當時很喜歡在 NICONICO 動畫上觀看影片,也同時是 Firefox 忠實使用者的我,開始思考在 Firefox 上利用擴充套件重新實現 BOON-SUTAZIO 大部分功能的想法。在經過了將近一個月的摸索之後,在 2008 年 9 月 17 號完成了可以下載影片與留言的 0.1 版,並且搶到了 Mozilla 附加元件網站上 8888 的號碼,將原始碼以 GPL 授權方式釋出。
但隨後的開發過程遠比想像中辛苦:為了寫出一個好用而且不需要其他插件就能使用的播放器,首先要利用 Flex SDK 寫出一個 SWF,讓瀏覽器透過 Flash 播放影片。再來要研究 NICONICO 動畫播放留言的方式,將大部分的留言都以正確的位置、顏色、大小呈現。這些東西光是做到大致完成就花了兩三個月,隨後更花了超過半年時間去做效能與錯誤的調整。
▲ 圖1:NicoFox 專案開發首頁
隨後由於自己的生活重心轉移,加上原有的原始碼仍在進行大幅度的重構和效能調節,NicoFox 有一段不短的時間一直沒有新版本。一直到 Firefox 4 即將推出之際,才決定推出重寫的新版本,並因應 Firefox 4 的重大介面更改,重新設計了面板式的新介面、並將縮圖放在影片列表之中。在經過好幾個月的努力之後,今年夏天重新在 Mozilla 附加元件網站放上了一度因為未過審核而下架的 NicoFox。如今的最新版本是 0.8。
NicoFox 除了下載影片和留言的功能以外,也包含了很多面向使用者的貼心設計:攔截 NICONICO 動畫每小時的強迫報時;在遭遇低畫質模式時進行自動預約,到深夜有原始畫質模式檔案再下載影片;指定自訂的外部播放器。功能完整而使用容易,每日使用者達到五萬人。
▲ 圖2:NicoFox 的相關使用數據
NicoFox 套件所有原始碼都以 GPL 方式釋出,雖然還沒有人進行 Fork 或 Patch,但我期待未來這個套件能逐漸轉為協作開發模式,或著在我無法維護後有人繼續扛下來。我在三年前撰寫這個套件時的期望是「他是一個能讓你看 NICONICO 更開心的套件」,而我也覺得我做到了一部分,未來也希望能夠開心地繼續撰寫下去。
如果您想了解 NicoFox,可以到 小B 的網站上閱讀使用說明。
相關網址
1. NicoFox 在 Mozilla 的下載頁面
https://addons.mozilla.org/zh-TW/firefox/addon/nicofox/
2. NicoFox 在 GitHub 的專案頁面
https://github.com/littlebtc/nicofox
[源碼新聞] Hacking Summer Camp-邊玩邊學的自由軟體夏令營
李婉婷/採訪
▲圖1:大溪國小校門口。
每到暑假,總是有許多遊客前往宜蘭頭城的大溪國小,享受它依山傍海、毗鄰沙灘的明媚風光。今年 (2011) 7 月 15 日至 17 日,在坐落於海邊的開放式校園中,聚集了愛好自由軟體的各界朋友,一起共襄盛舉,舉辦了「Hacking Summer Camp 自由軟體夏令營」。Hacking Summer Camp 是由教育部校園自由軟體數位資源推廣服務中心 (OSSACC),以及中央研究院資訊科技創新研究中心自由軟體鑄造場 (OSSF) 共同舉辦,同時邀請許多自由軟體社群朋友一同參與議程內容的規劃,並且親自分享自由軟體開發心得,來傳承經驗及知識。
與一般夏令營不同之處在於,Hacking Summer Camp 可說是有各方英雄好漢共同參與。除了學生之外,還包括對自由軟體有興趣的國中小老師以及社群成員。白天一早開始的課程在大溪國小的會議室進行,有豐富開發經驗的社群朋友向學生及老師講解技術問題,傳授如何參與專案,分享開發經驗;下午接近傍晚的時段則安排了衝浪等水上活動,讓大家能夠暫時將視線離開螢幕,享受陽光、沙灘及浪花。在晚餐後到就寢的時段,大家仍不停歇,繼續分享知識,在榻榻米上分組圍成圈圈,進行實作開發。
▲圖2:透過晚上的實作開發,社群跟學生們有更深入的交流與互動。
▲圖3:自由軟體夏令營除了技術課程還有戶外活動,衝浪是大家最期待的戶外活動。
Hacking Summer Camp 的發想源自於 OSSACC 執行秘書,人稱 Eric 的孫賜萍。Eric 看到台灣參與國際專案計劃核心的人並不多,而自由軟體在地化的工作只能靠本地人獨自努力完成。他感慨的說,我再怎麼努力,我的一天也只有 24 小時,我再怎麼有體力,也沒有像參與的大學生有體力。就算我每個星期四參加 Hacking Thursday 的聚會,我也不可能像成員們一樣厲害。因此 Eric 便興起了舉辦這次交流活動的念頭,希望把有能力跟有潛力的人湊在一起,讓更多人一起加入參與自由軟體專案的行列。
夏令營的議程規劃由主辦單位邀請 Hacking Thursday 社群共同安排議程,並由社群代表 Rex(蔡志展)執行。此次在挑選議程時還特別加入學生的意見,詢問每個技術講題的難易與否以及有趣程度,然後挑選出合適的技術講題。如此一來講師能在台上分享自己專精的主題,台下學生也會更願意主動學習,雙方產生共鳴,得以激發更多的思考與討論。自由軟體所追求的相互交流之精神莫過於此。
除了有 Lazyscripts、ibus-chewing、Python-GTK 等技術講題之外,在這次議程中也安排了如何合作專案和自由軟體中文化開發歷史這類不同面向的講題。講師 Rex的講題-自由軟體專案參與,讓學生知道社群成員平時在玩自由軟體專案時是如何合作、要注意哪些事情;講師小蟲(鄭原忠)的 free talk 經驗談,講述過往自己在參與自由軟體中文化的經過,希望把自由軟體的精神帶給在場的大學生。講者之一同時也是課程安排的負責人 Rex 說,或許這兩天的課程無法帶給學生在技術層面上顯著的進步,但此活動最重要的是社群與學生之間精神的傳承。
▲圖4:講師小蟲是台灣自由軟體社群的代表人物之一,最為人所知的貢獻為領導 Linux 中文延伸套件計劃 (CLE)。這次特別來到現場與大家分享他當初投入自由軟體中文化的經驗及歷史。
台大資工系學生 Rock 說,而最令他印象最深的講題是 Ant(曾義峰)的 SVN 版本控制-以 RPGJS 為例,他表示:「講師厲害的地方在於,運用簡潔的幾行程式碼整合了很多簡單的小技巧,來做出與眾不同的東西,很適合初學者來學習與運用。」跟高手近距離接觸、相處,未來遇到相關的技術問題也比較知道要找誰問。而在非技術講題的部份,Rock 也說,聽到小蟲老師分享他的人生歷練與自由軟體中文化發展的歷史也覺得很有意思,聽完才了解要感謝前輩的付出。因為前輩們在軟體中文化方面盡了相當大的努力,現在的人才有辦法使用這麼方便的中文自由軟體資源。
▲圖5:講師 Ant 的 SVN 版本控制-以 RPGJS 為例,內容精彩有趣,引起台下聽眾許多共鳴。
有別於學校正規教育,夏令營形式的授課方式相較之下輕鬆且自由,而自由軟體社群展現他們特有的協作精神以及主動追求進步的學習態度,經過這幾天充分的與台下聽眾互動交流,也讓在場的學生、國中小老師體驗到另一種知識交流的方式。文德國小陳國全老師表示,講師追求技術上的努力與精進,並願意來到這裡將知識傳承下去,這種自由軟體社群精神是很難能可貴的。
▲圖6:中小學老師們也在此次夏令營的交流中有不少技術上的收穫。
其實類似的自由軟體夏令營活動以前就曾舉辦過,但對於主辦者 OSSACC 以及 OSSF 來說,舉辦夏令營形式的活動算是第一次,未來能發揮的空間非常大。「夏令營比起在電腦教室裡的工作坊,不僅更能讓學生產生興趣,與開發者長時間的近距離接觸,也讓學習變得更容易;社群朋友透過夏令營,接觸莘莘學子激發創意,一邊度假、一邊傳授開發經驗,也是一大樂事。」OSSF 的 Richard(林珈宏)表示:「這是我們第一次合作舉辦 Hacking Summer Camp,所以也算是從做中學。如果今年試辦做的不錯,明年也希望有機會可以繼續做下去。」
社群精神就是對自己有興趣的專案熱情投入並主動學習,講師 hychen(陳信屹)說:「如果以後續辦的話可以考慮減少既定講題,直接在現場由台下決定想要聽什麼,或是當場組一個小 project,然後在場的人一起 coding、一起完成。」有別於演講一對多的授課方式,多一點互動式的經驗傳承會更好。
短短三天的活動,學生、中小學老師、社群朋友朝夕相處,從不認識到熟悉彼此的身影,大夥一起學習、一起衝浪,並且加上大溪國小的陽光、沙灘及浪花的陪伴,這趟不一樣的自由軟體學習之旅讓大伙的腦袋裡不止多了些自由軟體新知識、新體悟,還多了滿滿的美好回憶。活動宣佈結束,腦中的轉變會是最棒的紀念品。
▲圖7:一起烤肉讓大家的心更加貼近。
▲圖8:有大溪國小的陽光、沙灘及浪花的陪伴,使這趟自由軟體學習之旅留下許多美麗回憶。
[源碼秘技] 擷圖與編修一次完成的 Shutter
陳筱婷/文
軟體名稱:Shutter
版本:0.87.3
系統環境:Ubuntu 10.04
Shutter 是在 Ubuntu 底下運行的開源擷圖軟體,軟體介面人性化,支援區域選取、桌面擷圖、視窗擷圖三種擷圖方式。在擷取圖片後能進行編輯,可加入文字、線條、圖案方塊與標誌,並能利用套件進行更多種編修,包含旋轉、灰階、重新定義尺寸等。圖片儲存格式支援常見的 jpg、png、gif,另有 bmp、tiff、ani 等共 15 種格式。軟體預設使用 png 格式儲存,若欲用其他格式儲存,可在偏好設定內改成符合自己使用習慣的圖片格式。
(一)安裝教學與軟體環境
Shutter 這套軟體雖可透過 Ubuntu 內建的軟體中心安裝,但經由軟體中心所安裝的 Shutter 為舊版,建議由終端機安裝新版,其步驟如下:
1.「應用程式」→「附屬應用程式」→「終端機」,開啟終端機。
▲ 圖1:開啟終端機
2. 輸入指令 sudo add-apt-repository ppa:shutter/ppa 並按下 Enter,接著輸入使用者密碼以確認安裝。
▲ 圖2:輸入 sudo add-apt-repository ppa:shutter/ppa 指令後準備輸入密碼
3. 輸入指令 sudo apt-get update && sudo apt-get install shutter 並按下 Enter,由於剛剛已經輸入過密碼,這次系統會直接運行而不會再次詢問密碼。
▲ 圖3:Shutter 安裝中
4. 安裝完成後,便可在「應用程式」→「附屬應用程式」中執行 Shutter 了。
▲ 圖4:執行 Shutter
5. Shutter 的介面相當簡單易懂,上方為功能表列與按鈕列,右下角可設定擷圖延遲秒數,右上角區則提供擷圖之後的編輯、發佈功能。
功能表列由左至右為【檔案】、【編輯】、【檢視】、【擷取】、【開始】、【求助】。
按鈕列由左至右分別為:〔Redo〕(重新擷取上一次執行的擷取動作,在擷取動畫或固定大小的視窗時相當實用)、〔擷取選取區域〕(可自由選取想擷取的區域大小)、〔Desktop〕(擷取整個螢幕畫面)、〔擷取視窗〕(只擷取單一個視窗畫面)。
▲ 圖5:Shutter的環境畫面
▲ 圖6:功能表列與按鈕列
(二)螢幕擷圖教學
1. 擷取選取區域
點下〔擷取選取區域〕右方的小三角形後,可選擇〔進階選取工具〕或〔簡易選取工具〕。若選擇簡易選取工具,在按下〔擷取選取區域〕之後,影像就會立即被擷取、儲存;若使用進階選取工具,在按下〔擷取選取區域〕之後,還能再調整選取區域的大小和位置到滿意為止,之後便不需再使用編修軟體剪裁。
▲ 圖7:選擇簡易選取工具或進階選取工具
▲ 圖8:在進階模式下可調整選取範圍
2. 桌面擷圖
點選〔Desktop〕可直接擷取當前桌面影像。若在擷取影像前需要移動鼠標進行操作,可在右下角輸入欲延遲秒數,再點選〔Desktop〕。Shutter 會在設定秒數倒數結束時才擷取畫面,若沒有要進行複雜的操作,等待 3 至 5 秒便已足夠。
▲ 圖9:擷取桌面圖片
此外,Shutter 也提供擷取 Ubuntu 其它桌面的功能。按下〔Desktop〕右方的小三角形,可選擇擷取其它桌面畫面,或是一次合併擷取 4 個桌面的工作畫面。
▲ 圖10:可選擇擷取其它桌面畫面,或是一次擷取所有桌面。
▲ 圖11:擷取所有桌面影像
3. 擷取單一視窗
點選〔擷取視窗〕,在欲擷取畫面的視窗按下滑鼠;或點選〔擷取視窗〕右方的小三角形,選擇一個目前工作中的視窗,按下滑鼠即完成。這樣擷取下來的影像是一完整視窗而不含桌面背景,十分便利。
▲ 圖12:點選〔擷取視窗〕後,於欲擷取畫面的視窗按下滑鼠
▲ 圖13:或是按下箭頭,選擇一個目前工作中的視窗
最後,若您有需要重複擷取圖片,可使用功能列最左方的〔Redo〕功能。按下〔Redo〕按鈕,Shutter 會自動以上次的步驟再次擷取圖片,省去重新操作的時間。
▲ 圖14:〔Redo〕按鈕
(三)筆記、註記、編號
除了擷取螢幕影像外,Shutter 還提供了影像編輯與註記功能,特別適合撰寫圖說。點選右上方的〔Edit〕功能鍵,跳出另一視窗以編輯剛剛的影像。
▲ 圖15:點選〔Edit〕
▲ 圖16:Shutter 的編輯環境
在視窗的左方有一排工具列,可以在剛剛擷取的影像上畫線、加入文字、進行螢光標注等功能。
1.〔選取工具〕-選取、拖曳物件時使用。
2.〔鉛筆工具〕-任意畫不規則線條。
3.〔螢光標注〕-類似鉛筆工具。筆畫顏色預設為黃色、透明度 50%,適合用於強調某行文字時使用。
4.〔直線〕-加入直線,可於下方工具列改變顏色、線條寬度。
5.〔箭頭〕-加入箭頭,可於下方工具列改變顏色、線條寬度。
6.〔矩形〕-加入矩形方塊,可於下方工具列改變填色、顏色、線條寬度。
7.〔橢圓〕-加入橢圓方塊,可於下方工具列改變填色、顏色、線條寬度。
8.〔加入文字〕-輸入文字,可於下方工具列改變字型、色彩、大小。
9.〔抹去〕-將欲擦去的範圍(如個人資料、帳號密碼)去除。
10.〔馬賽克〕-將欲擦去的範圍(如個人資料、帳號密碼)模糊化。
11.〔數字步驟〕-依序加入數字,適合用於軟體操作步驟說明。
12.〔裁剪〕-若對剛剛擷取的影像大小不滿意,可在此處再進行剪裁。
▲ 圖17:左方工具列,提供各種線條與方塊工具。
▲ 圖18:下方小工具,可調整填色、線條顏色、線條寬度與字型。
若想加入另外的影像,點選【插入圖片】,再選擇從【工作階段匯入】(Shutter 先前擷取的影像)或是【從檔案系統匯入】(本機資料夾)。Shutter 也內建了許多常見的符號,點選〔插入圖片〕右方的小三角形,即可在影像中插入許多的圖章,包括勾選 (apply)、錯誤 (error)、星星 (star)、警告 (warning) 等,若找不到符合需求的符號,在 Cursors(鼠標)、Forms→Callouts(對話視窗)、Tango icon library(按鈕圖庫)中還有更多的標誌可以使用。
▲ 圖19:點選按鈕以插入符號或圖片
▲ 圖20:選擇從工作階段匯入或檔案系統匯入圖片
▲ 圖21:選擇從內建符號庫插入符號
接著我們進行實際操作,將欲擷取的視窗畫面擷取下來,點選右上方的〔Edit〕,開啟編輯功能。
1. 使用矩形工具插入長方形,並去除填色或將透明度調至最小。
2. 點選文字工具,在對話框中輸入想要顯示的文字。
3. 選擇螢光標示工具,在欲強調的重點上畫上螢光色。
4. 使用箭頭工具,由左而右拉出箭頭,使重點處更顯目。
▲ 圖22:擷取下來的視窗畫面
▲ 圖23:插入長方形與圖說
▲ 圖24:加上螢光標記與箭頭
▲ 圖25:完成圖說
(四)進階功能與偏好設定
Shutter 除了在影像上加上記號、文字以外,也能透過套件進行許多編修,例如調整為灰階、泛黃效果、重新定義尺寸等。點選【擷取】→【Run a plugin】,開啟套件模組對話視窗,並選擇想要的效果。以灰階為例,點選「灰階」,並按下「Run」,剛剛擷取的視窗影像便被轉為灰階。
▲ 圖26:【擷取】→【Run a plugin】
▲ 圖27:選擇想要進行的編修功能
▲ 圖28:選擇「灰階」並按下「Run」
▲ 圖29:轉為灰階的影像
點選「polaroid」功能,選擇想要加上的文字,旋轉的尺度,Shutter 會自動加上白框,製造出一張拍立得風格的相片。Shutter 可以開啟本機內的圖片進行編修,並不限於編輯擷圖下來的影像,若要開啟本機圖片,請點選【檔案】→【Open】,再選擇欲開啟的檔案。
▲ 圖30:「polaroid」(拍立得)細節設定
▲ 圖31:「sepia」(棕色濾鏡)細節設定
Shutter 比 Ubuntu 內建的螢幕擷圖功能更豐富,也更彈性化。在【偏好設定】中可調整許多設定,進入【檔案】→【偏好設定】後,即可進行個人化的調整。您可以選擇改變預設儲存的圖片格式、存檔的位置、檔案名稱、是否顯示滑鼠指標、是否在擷圖後自動顯示主視窗、在登入時啟動、最小化至提示列等。
▲ 圖32:改變影像儲存格式、路徑
▲ 圖33:設定是否在使用時最小化、擷圖完是否跳出提示等。
【鍵盤】中提供了設置快速鍵的功能。若您需要大量擷取影像,只要將「擷圖後自動顯示主視窗」功能關閉,並啟用快速鍵功能,即可讓 Shutter 以背景模式運行,並進行連續擷圖,最後再於預設儲存資料夾中存取剛剛擷取的圖片,相當方便。
▲ 圖34:快速鍵設定
比起 Unbuntu 內建的擷圖工具以及其它擷圖軟體(如 Ksnapshot),Shutter 的特色是擷圖與編修合一,擷取完影像之後可立即編輯,且內建許多圖說工具(順序步驟、箭頭、符號等),能省下許多撰寫圖說的時間。下次若想儲存桌面影像、製作簡報、傳畫面給朋友,不妨試試這套簡單易用的擷圖軟體。
[源碼專案] 開源的行動校園和企業內聯網開發平台-Kurogo Mobile Framework
Rita Chao/文
前言
日文 Kurogo 是漢字黑衣的意思。這個開源平台是 2008 年時,由美國麻省理工學院 (MIT) 數位平台經裡 Andrew Yu 和他的團隊開發出來的。架構的基礎是由開發 MIT 和哈佛行動校園 Apps 的過程中建立,秉持 MIT 一慣的開放知識和程式碼傳統,Kurogo 從出世以來,就以開放原始碼之姿,提供其他大專院校和企業自由下載及使用。從 2010 年 4 月至今,有 112 個組織採用。Kurogo 的架構
Kurogo 是以 PHP 語言編寫。主要的目的是傳遞高品質、客製化資料導向的內容給不同的行動裝置,如 iPhone、Android 等手機及平板電腦。主要想解決學校和企業異質資料庫的問題,透過在伺服器 Kurogo 的架構,不同的資料格式和來源,都可以很簡單、很優雅地呈現在手持裝置上。模組
Kurogo 是由許多單一模組建構而成的架構。如下圖所示。▲ 圖1: Kurogo 架構圖
當客戶端的請求送來時,會在相關的資料庫中進行查詢,再透過 Data Controller 解析後送至模組。經模組處理後,返回結果給 Template Engine,並以 HTML、CSS 和 Javascript 的形式呈現在網頁上。
裝置偵測
Kurogo 另外一個重要的功能是可以偵測不同的手持裝置。Kurogo 用網頁形式 (page type) 和平台 (platform) 兩種方式來進行偵測。網頁形式主要是運用 CSS、Javascript 及影像處理方式來選定,平台則是使用特定的作業系統或瀏覽器作為判斷基礎。客制化
Kurogo 可以設定不同的資料來源,甚至在 Kurogo 架構上建立自己的模組。在輸出端也可以依照需求或喜愛,修改輸出的呈現方式。以下為使用者介面呈現範例:
▲ 圖2: Kurogo 使用者介面1
▲ 圖3: Kurogo 使用者介面2
▲ 圖4: Kurogo 使用者介面3
補充
如有興趣,可以進一步參考以下網頁:程式碼下載:http://modolabs.com/download-latest.php?type=zip
開發者手冊:http://modolabs.com/kurogo/guide/index.html
加入 iMobileU Google 群組:http://groups.google.com/group/kurogo-dev
關於
Rita Chao 是個愛好科技和自由的射手座女子,今年剛從麻省理工學院畢業,因為熱愛 MIT Mobile App,畢業後,目前在亞州推廣 Kurogo 平台@Kurogo 是 Modo Labs 公司的註冊商標。
[源碼快訊] 10 月份自由軟體鑄造場活動快報
OSSF工作小組/編述
自由軟體鑄造場於 10 月份在台北舉辦兩場自由軟體工作坊活動,歡迎有興趣的朋友們一同共襄盛舉!
[自由文化] 一年一度的開放源碼大會-OSCON 2011 參與報告
OSSF電子報團隊/文
OSCON 全名為 O'Reilly Open Source Convention,由出版商 O’Reilly Media 舉辦。今年 (2011) 的 OSCON 時間是 7/25~7/29,在美國波特蘭的 Oregon Convention Center 會展中心舉行。原先是屬於 Perl Conference 的一部分,後來到了 1999 年以 OSCON 的名義舉行,原先的 Perl Conference 則融入 OSCON 議程裡。從 2003 年開始,OSCON 幾乎都在美國波特蘭舉行。今年 (2011) OSCON 裡關於 Data 以及 Java 議程從 OSCON 獨立出來,分別叫 OSCON Data 以及 OSCON Java。雖然是另外獨立運作的會議,但舉辦時間與 OSCON 大致相同,地點也相距不遠。
在 OSCON 歷史上,許多公司選擇在會議期間宣佈重要的訊息,像是 Sun 的 Sun Grid Engine (現為 Oracle Grid Engine)就是選在 OSCON 2001 期間發佈的。
▲圖2:OSCON 會場主辦方以及各家廠商提供的徽章
▲圖3:OSCON 的集字遊戲徽章,集滿之後能夠得到限量連帽 T,另外還可以參加抽獎,最大獎是 iPad2
▲圖4:OSCON 吉祥物眼鐿猴的貼紙
▲圖5:技術緞帶 (ribbon),可以貼在識別證上,交際時方便熟悉彼此會的技術。
▲圖6:有很多種技能緞帶
▲圖7:參與 OSCON 同仁的識別證,並且附上很長一串技術緞帶。可以注意到識別證上有面積相當大而且複雜的條碼,會場或是攤位工作人員能藉由掃描該條碼,得知你的個人資料,相當於交換名片。
▲圖8:小手電筒
沒辦法前往 OSCON 會場的朋友,也可以去 O’Reilly Media 的 YouTube 頻道,觀看 OSCON 2011 期間 O’Reilly Media 釋出的影片,內容有專訪以及講者介紹他所推廣的技術。
OSCON 2011 播放清單
<iframe width="560" height="315" frameborder="0" src="http://www.youtube.com/embed/videoseries?list=PL93FC98105B19725C&hl=zh_TW"></iframe>
下次 OSCON 舉辦的時間是 2012 年 7/16~7/20。
相關連結
OSCON 2011 官方網站
http://www.oscon.com/oscon2011
O’Reilly Media
http://oreilly.com/