關於本報

自由軟體鑄造場電子報
報主:中央研究院資創中心
創刊日期:2004-06-03
發報頻率:雙週刊
訂閱人數:3,349
官網:

近期電子報


訂閱便利貼


將貼紙語法置入您的網站或部落格當中, 訪客可以輸入mail取得認證信,並按下確認連結後, 快速訂閱您的報紙。
預覽圖
訂閱自由軟體鑄造場電子報報
自由軟體鑄造場電子報
-----------------------------------------------------------------------------------------------------
Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

自由軟體鑄造場電子報
發報時間: 2010-10-12 16:00:00 / 報主:OSSF
[公益聯播]用「愛」點亮「礙」的成長能量~「十方」需要您伸出愛的雙手,扶持慢飛天使
本期目錄
[OSSF新聞] 中央研究院 10 月 23 日盛大舉辦「99 年院區開放參觀活動」
[技術專欄] 以 logfmon 與 expect 實作登入告知系統
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作
[源碼密技] 利用 Android 手機記錄行程及途經點
[源碼報報] Document Foundation 成立帶領 OpenOffice 分支 LibreOffice
[源碼報報] Canonical 在台舉行第二屆 Ubuntu 硬體大會
[源碼報報] 某些 Android 應用軟體可能濫用使用者私人資訊
[源碼報報] 微軟、WordPress 合作 3000 萬 Live Spaces 部落客移往 WordPress.com
[源碼報報] Firefox 將不會有 iPhone 版本 – Firefox Home 資料同步取而代之
[新進專案] 新進專案列表 10/11
關於本報
[OSSF新聞] 中央研究院 10 月 23 日盛大舉辦「99 年院區開放參觀活動」
OSSF/報導
中央研究院自民國 87 年以來,每年秋天皆舉辦院區開放參觀活動(Academia Sinica Open
House),活動內容涵蓋了數理科學、生命科學、人文及社會科學等不同研究領域的活動,
並設計了「電腦學習單」與「紀念章戳」集章活動,讓參與的民眾, 有機會獲贈限量的紀
念獎品。本年度的院區開放參觀活動,承接傳統精心規劃了 200 餘場精采活動,包括邀請
邢義田院士主講「古代秦漢和羅馬帝國的關係 – 一個待解的謎」,並且安排台灣原聲童聲合
唱團演出 2010「原聲天籟」。這些兼具知性與感性、動態與靜態的活動,不僅拉近了民眾
和學院式研究的距離,也激發了年輕學生更進一步探索人文社會與自然科學的研究興趣。

自由軟體鑄造場(Open Source Software Foundry, OSSF)」設立於中央研究院資訊科
技創新研究中心轄下,亦協同與中央研究院其他單位,於 99 年院區開放參觀活動當天,假
中央研究院資訊科學研究所新館 106 室,就 OpenFoundry 平台操作以及自由軟體常用程式
集進行實機展示,活動內容豐富有趣,歡迎自由軟體鑄造場電子報的讀者們,在當天參與中
央研究院院區開放參觀活動之餘,亦可撥 冗至鑄造場所設置的攤位前,與本計畫各個輪班
的同仁們談天敘舊,或是您對於自由軟體研究應用方面有任何合作推展的想法,亦可透過
Academia Sinica Open House 這個場合與我們當場磋商研議!

◎ 活動時間:2010 年 10 月 23 日 上午 9:00-下午 4:00
◎ 活動網頁:http://www.sinica.edu.tw/openhouse/2010/index.htm
◎ 活動地點:中央研究院院址 – 台北市南港區 11529 研究院路 2 段 128 號
◎ 院區地圖:http://www.sinica.edu.tw/openhouse/2010/guide_10.htm
◎ 導覽手冊 PDF 檔下載:http://www.sinica.edu.tw/openhouse/2010/2010openhouse.pdf
[技術專欄] 以 logfmon 與 expect 實作登入告知系統
老薯條(http://vulscan.wynetech.com.tw)/文


前言

在一般的企業中,伺服器主機通常置於封閉機房中,而系統管理者辦公的地點往往是在另一
個辦公室,系統管理者僅能使用如網頁介面的管理軟體來查看伺服 器狀態,如此,系統管
理者需被動的時時查看網頁以得知目前的系統狀態,而一個當系統觸發某種事件即主動通知
管理者的監控系統,也許是大多數系統管理者所需 要的。因此在本文中,筆者將結合開源
碼社群資源,實作一個當機房中的主機有人登入時,即會傳送相關訊息至管理者所在的電腦
(或同辦公室的其它電腦並發出三 聲 beep 聲)來告知管理者有人登入主機,本系統所需的
套件如下表所示:

 

軟體名稱

說明

官方網站

logfmon

即時監控檔案機制,當所監控的檔案發生變化並符合使用者所設定的條件即執行使用者設定的動作。在這邊,我們將利用此程式來監控 log 檔(/var/log/secure,此檔案會存有使用者登入的資訊)


http://sourceforge.net/projects/logfmon/

expect

一種互動式的語言,在撰寫適當的劇本後,即可使程式自動與系統互動而不需人為的介入


http://www.nist.gov/mel/msid/expect.cfm

sshlogin.pl

部署在被監控端,自撰寫的 expect 程式,一但有人正常登入,即執行此程式,利用SSH與主控端連,並執行主控端的 beep 程式,發出三聲 Beep 聲音,提醒系統管理者

 

beep.c

部署在主控端,發出三聲 beep 的程式來提醒管理者

 

什麼是logfmon

logfmon 主要是利用來監控檔案的變動情況,一旦發現被監控的檔案內容發生變動(如發生
新增或刪改),即將變動的範圍與使用者自定義的正規表示法(Regular ExpressionRE)
規則比對,一但比對成功(match)即執行使用者自定義的指令或程式。比對流程如下圖示:

由於筆者的系統為 fedora 11 系統,系統預設會將安全相關的訊息(其中也包含了登入認
證)等相關的訊息寫入 /var/log/secure 中,而 logfmon 即是利用即時監控 /var/log/secure
檔案,一旦檔案發生變化(即有新的訊息寫入),即需利用以正規表示法表示的條件式,即
時將相關的 log 解析(在此僅需要正常登入的 log 資訊)出來並執行相關的動作(以 expect
自動與管理者所在辦公室的電腦互動並發出三聲的 beep 來提醒管理者,有人已登入主
機)。由於 logfmon 使用正規表示法來設定比對的條件式,以下即簡單介紹正規表示法(由
於本方案僅需模式比對即可達成要求,所以,筆者僅介紹模式比對,其餘更進階的用法就留
待 讀者自行研究了) 正規表示法(Regular Expression)是利用一些含有特殊符號的字
串,來描述或匹配(match)符合某種句型的句子。下表即說明正規表示法所使用的特殊符
號:

  • ^: 符合欄位開頭即符合,如設定為 ^sex,則 sexual 即符合;

  • $: 符合欄位結尾即符合,若設定為 ty$,則 Beauty 即符合;

  • .: 代表任何一個字元,如 (pl.y),則 play 即符合,但 ply 不符合,即 pl y 中間一
    定要有一個字元;

  • *: 重覆零至無限多個的 RE 符號,如只要 pl 開頭的單字均符合,即可使用 pl*

  • \脫逸符號(escape): 用來將特殊符號視為普通字元。如 \^ 即代表 ^ 是字元,而不
    是上述的意義;

  • ( ): 模式比對,用括號內一連串的特殊符號來匹配含有某種句型的句子,這也是本方
    案所要使用的正規表示法模式。如 ipv4 ip 位址型式為數字1.數字2.數字3.數字
    4
    ,如 192.168.2.1,即可用下列的模式比對 (\d+)(\.)(\d+)(\.)(\d+)(\.)(\d+),其中:

    • $0: 全部的資料 (192.168.2.1)

    • $1: 即表示 192

    • $2: 表示 .

    • $3: 即表示 168… 依此類推

在介紹完正規表示法後,接下來即來談談如何安裝 Logfmon,安裝步驟如下: 請讀者至
http://sourceforge.net/projects/logfmon/,下載 logfmon 最新版本。解壓縮後,直接使用
make ,在編譯的過程,筆者曾發生找不到 y.tab.h 的錯誤訊息,如下圖所示:

解決方式即為先利用 make y.tab.c y.tab.h 指令先產生 y.tab.h 後,再重新使用 make &&
make install
logfmon 安裝到系統上。完裝完成後,Logfmon 所使用的設定檔為 /etc
/logfmon.conf
logfmon.conf 參數意義如下所述:

User
執行 logfmon 時,所使用的 user 權限
Group
執行 logfmon 時,所使用的 group 權限
File
設定 logfmon 要監控的檔案名稱
Logregexp
初步的過濾,用來過濾符合格式的字串,logfmon預設規則為 syslog 格式,即表示
被監控檔案符合syslog格式的資料,才可進入使用者自定義的規則,再進行細步的
過濾。
Match
規則設定格式為:match〔條件式〕action〔執行事件
當符合條件式時,即執行 action 後所定義的事件其中 action 事件可分為:
  • ignore: 若符合條件式,則不理會
  • exec: 若符合條件式,即執行後續的指令
  •  write: 若符合條件式,則將該符合的字串寫入檔案中
  •  write-append: 若符合條件式,則將該符合的字串新增至檔案中

接下來,我們即是要確定正常登入的訊息,在 /var/log/secure 檔案中是長什麼樣式,在
fedroa 11 的系統上,相關登入的資訊,都會記錄在 /var/log/secure, 成功登入的樣式如下
圖:

p { margin-bottom: 0.21cm; }pre.western { font-family: "DejaVu Sans Mono",monospace;
}pre.cjk { font-family: "DejaVu Sans",monospace; }pre.ctl { font-family: "DejaVu Sans
Mono",monospace; }

因此我們可以根據樣式,設定下列相關的正規表示法的條件式,來過濾符合正常登入的
log,根據此樣式,我們可設定下列相關正規表示法的條件式,來過濾符合正常登入記錄的
log

(.*)(Accepted password for)(.*)(from )(.*)
    只要列資料中含有 Accepted password for... from… 的樣式即符合條件。

在確定相關的正規表示式後, 我們即可開始設定 logfmon 的組態檔 (/etc/logfmon.conf),如
下所示:

Set logregexp
#
初步過濾,log預設僅解析syslog型式的資訊。可利用 logregexp       來重新設定初
步過濾的條件。在此使用 (.*) 即表示所有的字元都 符合條件,意即不使用初步過濾
的功能。
File "/var/log/secure" tag secure
#
設定欲監控的檔案,並命名為 secure 的代號 (後續的過濾條件即利用 secure
號來設定)
match in secure "(.*)(Accepted password for )(.*)( from )(.*)( port )(.*)$" exec (echo
$0>>/tmp/authlog && perl /usr/bin/sshlogin.pl $5;)"
#
過濾條件 match in secure (針對為secure做過濾,即針對 /var/log/secure 檔案過
濾,其中 (.*)(Accepted password)(.*)$ 意指只要 /var/log/secure 檔案中每列的 log
資料只要含有 Accepted password 的字串即符合過濾條件並執行 exec 後的動作,
在這邊會執行兩個動作:
1. echo $0>>/tmp/authlog #將登入資訊寫入 /tmp/authlog
2. 執行 sshlogin.pl $5(此程式為 expect 程式,負責與管理者的電腦互動,
其中 $5 為登入的來源IP

至此 logfmon 即設定完成,啟動僅需執行 logfmon &。讀者可利用 ps aux | grep logfmon
檢查 logfmon 是否有正常執行。

什麼是expect

Expect unix 系統中用來進行自動化控制和測試的軟體工具,一但設定好適當的劇
本,expect 即會按照劇本的設定,自動的與系統互動而無需人為的介入。安裝 expect 很簡
單,只要執行 yum install expect* 即可將相關的 Expect 程式安裝進去。簡單的 expect
本其實就是利用 expect 送出命令,再期待系統的回應,然後再根據系統的回應來決定下一
步的動作。簡單的範例如下(以自動登入 telnet 伺服器為例)其中:

  • $remote_server:遠端的telnet伺服器位址;

  • $my_user_id:登入的帳號資訊;

  • $my_password:登入的密碼資訊;

  • $my_command:欲執行的指令。

完整範例如下:

pre.western { font-family: "DejaVu Sans Mono",monospace; }pre.cjk { font-family: "DejaVu
Sans",monospace; }pre.ctl { font-family: "DejaVu Sans Mono",monospace; }p { margin-
bottom: 0.21cm; }
spawn telnet $remote_server #啟動一個 telnet 的程序
expect "username:" #假如系統回應含有 username 的字樣,即表示系統需要使用者
帳號 send "$my_user_id\r" #自動將帳號資訊寫入
expect "password:" #
假如系統回應含有 password 的字樣即表示系統需要使用者帳

send "$my_password\r" #
自動將密碼資訊寫入
expect "%" #
假如系統回應含有 % 的字樣,表示已登入成功,% 是系統的提示字元

send "ls\r"
         #自動執行 ls 指令
send "exit\r" #自動執行 exit 指令,離開 telnet 伺服器
expect eof #expect 結束

在這邊 expect 的用途,在於利用 SSH 與管理者的電腦互動,當發現伺服器主機有登入的
事件後,即使用 expect 程式以 SSH 與管理者的電腦互動,並遠端執行管理者電腦上的程
式(發出三聲 beep 聲來告知管理者有人登入機房的主機)。在這邊,由於我們是使用 SSH
與監控端的電腦通訊並執行監控端電腦上的程式,在 perl 的模組即有提供相關的模組
(Net::SSH::Expect) 可自動化執行 SSH 登入並執行相關指令),因此,在這邊我們將使用
此模組來自動登入管理者的電腦並執行相關程式。安裝 Net::SSH::Expect 步驟如下

  1. wget http://search.cpan.org/CPAN/authors/id/B/BN/BNEGRAO/Net-SSH-Expect-1.09.tar.gz
    #
    cpan 網站取得 Net::SSH::Expect 模組
  2. 解壓縮後,利用 perl Make.pl && make && make install 來安裝

pre.western { font-family: "DejaVu Sans Mono",monospace; }pre.cjk { font-family: "DejaVu
Sans",monospace; }pre.ctl { font-family: "DejaVu Sans Mono",monospace; }p { margin-
bottom: 0.21cm; }

接下來,筆者以 perl 搭配 Net::SSH::Expect 撰寫一個簡單的 perl 程式(檔名為
sshlogin.pl),此程式可自動登入遠端的主機(在這裏即為監控端的電腦) sshlogin.pl程式
內容如下:

#!/usr/bin/perl use Net::SSH::Expect; #使用 Net::SSH::Expect 模組
my $ssh = Net::SSH::Expect->new ( #新增一個 expect 的類別
     host => "remote IP"#設定欲連線的主機 ip 位址,請填入監控端主機 IP 位址
     password=> ' remote IP登入密碼'#設定登入所需的密碼
     user => 'root'#設定登入帳號,在此例為 root(這裏特別強調一點,因為
                             LINUX 系統特別的規定, 要執行筆者所寫的 beep 程式,需要
                             root
權限,這方面有興趣的讀者可參考 linux serial program
                             how-to
等文件)
     raw_pty => 1 #預設為1 即可
     );
my $login_output = $ssh->login(); #
設定login(此時 expect 即會使用您所設定的
hostuser password 等相關資訊, 以 ssh 登入遠端主機)
$ssh->exec("/usr/bin/beep "
30); #在登入後,即在 remote IP 的主機上執行 beep
程式,此程式即為 beep 3 聲的程式

而在監控端上的 beep.c 程式內容如下:

#include
#include

#include

#include

#include
Int main(int argcchar *argv[])
{
int fd = open( "/dev/tty10 "O_RDONLY);
       {
            system("echo -e \"\007\" > /dev/tty10" ); #電腦beep一聲
            sleep(1);
            system("echo -e \"\007\" > /dev/tty10" );
            sleep(1);

            system("echo -e \"\007\" > /dev/tty10" );

        }

}

 

僅需使用 gcc beep.c –o beep 編譯,即可編譯出 beep 執行檔,而後將此執行檔置於
/usr/bin/ 目錄下即可,當一切設置妥當後,如果機房主機有人登入,管理者的監控端電腦即
會發出三聲 beep 聲通知管理者,機房主機有人登入。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作
 陳瑞霖、李婉婷/文  Scribus 是一套開源的桌上出版軟體(Desktop Publish Software)。從 2001 年 開始開發,支援 CMYK、分隔線、ICC 色彩管理等專業出版功能,並且也能將檔案輸出成  PDF 格式。可與排版軟體的老大哥  Adobe InDesign、QuarkXPress 媲美。 在這裡要特別說明的是,桌上出版軟體與文書處理軟體的定位有很大的不同。桌上出版軟體 著重在版面的排列,你可以很自由的決定文字、圖片放在頁面的何處。而文書處理軟體的強 項則是在於文字排序、索引方面的處理。      [源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作軟體名稱:Scribus 最新版本:1.3.3.14 軟體授權:GNU General Public License Version 2        (GPL2) or any later version系統支援:Debian and  Ubuntu;Windows 2000/XP/Vista/7; Mac OS X;OS/2 and eComStation;OpenSUSE and SUSE  Linux Enterprise;Red Hat/Fedora;CentOS;Mandriva  
(來源:Wiki Commons
 
官方網站:http://www.scribus.net/
下載網址:http://sourceforge.net/projects/scribus/files/

**以下操作使用 Ubuntu 10.04 版為範例,其他作業系統下的操作大致相同。

本文將介紹 Scribus 的基本功能,如何建立新文件,插入文字、匯入圖片,以及加上簡單的
美工設計。

建立新文件


以下範例要建立兩頁A4 大小的宣傳文件。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

1. 選擇頁面大小,在這邊我們選擇尺寸為 A4。
2. 頁數選擇 2。  
3. 選擇左頁還是右頁是第一頁,這邊我們選擇左頁。


如果發現頁面太小,可以在功能表【頁面】->【管理頁面屬性】,〔頁面尺寸〕中做更改。
假如要插入新的頁面,也是在功能表中【頁面】,選擇【插入】。

建立文字框


1. 選擇〔新增文字框〕。  
2. 用滑鼠拉出你要的文字框大小。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

接下來要使用故事編輯器,故事編輯器是 Scribus 內建的文字編輯器。在桌上出版的領域,
文字通常使用文書處理器處理過後,才匯入桌上出版軟體做後續的編排。但假如只是簡單的
文字編輯,其實內建的故事編輯器就能勝任。

1. 點選工具列上的〔故事編輯器〕。
2. 打開故事編輯器後,先別急著輸入中文。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

1. 對著左邊的欄位按滑鼠,選擇【編輯樣式】。  
2. 選擇〔新建〕。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

**由於 Scribus 處理中文能力不大好,很容易一不小心就當掉。建議不要直接在 Scribus 中
打中文字. 建議先在其他的文書處理器如 gedit 上打上中文,再貼到 Scribus的〔故事編輯
器〕裡。

選擇中文字型,請依據自己電腦系統中安裝的字型選擇,範例中使用 WenQuanYi Micro
Hei(文泉驛微米黑)。要顯示中文字一定要選中文字型,才會正常顯示。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

選擇字體的顏色。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

1. 選擇陰影效果。
2. 選擇文字排列效果,我們這裡選擇[置中]。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

按下儲存後即完成樣式的新增。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

1. 選擇各段落要套用的樣式。  
2. 按下〔更新文字框並退出〕按鈕,即會儲存變更並退出故事編輯器。

[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

從外部文件匯入文字到文字框中


由於 Scribus 是排版軟體,因此我們在這裡匯入已經寫好的稿件,在 Scribus 裡做後續的處
理。

在先前的文字框下面新增一個文字框,按下右鍵,【匯入文字】

**在功能表中也能叫出匯入文字的功能,選擇【檔案】->【匯入】->【匯入文字】。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

選擇要匯入的檔案。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

由於 Scribus 預設的字型不是中文,因此匯入中文會無法顯示。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

依照前面的操作步驟新增樣式,文中新增 Chinese 樣式並套用匯入的文字。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

退出故事編輯器後,顯示一切正常了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

新增形狀


一份出版品,不只有文字,還要有圖片以及其他裝飾,才稱得上完整。接下來我們要介紹在
文字框下加入色塊。

選擇〔插入形狀〕。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

插入後是一團黑的長方形,文字都看不到了,別擔心,按滑鼠右鍵【屬性】。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

挑選形狀的顏色, 以及所挑選顏色的陰影及透明度,在這裡我們陰影及透明度都設 20% 。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

挑選自己想要的顏色,調整陰影及透明度後,我們可以看到文字了。
對著我們剛編輯的形狀,按右鍵選擇【圖層】->【降低】。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

這樣一來形狀就在下面,能點到文字框了。如果要對文字框內的文字做變動,就很方便了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

完成了簡單的文字編排以及加上形狀!接下來要加些圖案來修飾充滿文字的版面了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

匯入圖片


文字稿排好後,美編工作當然也少不了。點選[插入]按下【文字框】,接著拖曳出一個框
框,按滑鼠右鍵選擇【匯入影像】。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

選取你要匯入的圖片。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

插入之後會發現一個問題,剛剛所畫的框可能太大或太小,這時可選擇[物件],點選【調整
框體適應圖片大小】,這樣就可以完整呈現你要的圖片了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

一樣按滑鼠右鍵,選擇【圖像效果】,會跳出視窗。這從裡你可以對剛匯入的圖片做出效
果,像是將圖片做反轉,原本黑色的字就可以反轉成白色的了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

圖形編輯


排版時會用到許多色塊,讓版面不再單調,首先先畫出一個長方形。只要選取剛畫的圖形
後,點選[視窗]找到【屬性】後按下去,會跳出一個視窗,很多有關於圖形的顏色、位置、
形狀就可以在這邊做變化。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

在「屬性」這個視窗裏,點選【形狀】->【編輯形狀】,所有有關於外框形狀的調整都可以
在這裡達成,可以盡情發會創意,可以像這樣按下這個按鈕,把圖形壓扁。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

在顏色部份還可以做漸層,如下圖,在【普通】底下點選其中一個。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

點選之後會出現右邊的長條形狀,可以看到長條底下有幾個小三角形,每個小三角形代表著
不同的漸層的顏色位置,選取後可以改變那個位置的顏色,將小三角形左右移動可以調整漸
層的寬度做出不同漸層變化。還可以自己增加小三角形,做出多種顏色的漸層效果。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

將先前匯入的圖片跟剛做好的圖形疊在一起就完成了。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

要製作出對稱圖形只需要選擇【屬性】->【X,Y,Z】,有個按鈕雙箭頭的按鈕,就可以調
整上下翻轉或是水平翻轉的效果。
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

只要善用圖形跟文字自己就可以做出不錯的文件排版了!
[源碼密技] 用自由軟體 Scribus 來輸出文件(1)-基本操作

**在使用的時候請切記一定要隨時存檔喔!不然辛苦做好的心血很容易就會泡湯,因為通常
排版軟體佔太多的系統資源,常常會有軟體當掉的風險,因此養成隨時儲存的好習慣是不可
少的。
  
[源碼密技] 利用 Android 手機記錄行程及途經點
 線人/文  還記得筆者曾經於 8 月 31 號出刊的第 156 期電子報中,介紹過 GPS Logger for  Android 這套軟體嗎?這套軟體能夠利用 Android 智慧型手機內建的 GPS 功能,將 自己某一段旅程的路線記錄下來,以便日後整理。如果要寫遊記時就能派上用場,喚醒曾 經去過那裡,走過那裡的記憶。可惜的是,這個軟體的功能就只有「記錄路線」而已,如果 使用者希望記下旅程途中有什麼有趣或重要的景物,GPS Logger for Android 這個 軟體未必能夠滿足到使用者的需要。   幸運的是,透過 Android Market 及網際網路,我們可以搜尋到更多類似的 GPS 行程 記錄軟體,而且這些軟體的功能比 GPS Logger for Android 更多,操作介面亦更直 觀。以下名為 OSMTracker for Android 的軟體,除了提供較直觀的操作介面外,亦 容許使用者在記錄行程的過程當中進行錄音或文字記錄,甚至加入各式各樣由軟體提供的 「途經點(waypoints)」,方便使用者日後查閱路線記錄時,能夠輕易得悉旅程中有哪 些值得留意的景點,以及這些景點的確實位置。   軟體名稱:OSM Tracker for Android 最新版本:0.4.3 軟體授權:GNU General Public License (GPLv3) 系統支援:Android 官方網站:http://code.google.com/p/osmtracker-android/  OSMTracker  for Android 軟體可透過 Android Market 直接下載及安裝。使用者亦可透過該軟 體的官方網站下載軟體的 APK 檔案,然後透過 Android 手機中的檔案總管開啟 APK  檔案,便可選擇將軟體安裝至 Android 手機。執行 OSMTracker  for Android 軟體後,會見到如下圖的操作介面。  [源碼密技] 利用 Android 手機記錄行程及途經點  若按下 Android 手機的〔MENU〕按鈕,畫面下方會出現一個功能表。這次我們點選 【Settings】。  [源碼密技] 利用 Android 手機記錄行程及途經點  我們便會進入這個軟體的設定介面。再點選【External Storage (SD)】。  [源碼密技] 利用 Android 手機記錄行程及途經點  OSMTracker  for Android 軟體在記錄行程的時候,同樣會將相關資料放進一個以 GPX 為副檔名 的檔案(GPX, the GPS Exchange Format,較常見的 GPS 路徑記錄檔),並且將 檔案儲存於 microSD 記憶卡裡。透過【External Storage(SD)】設定,使用前可 檢查一下預設儲存 GPX 檔案的路徑及資料夾名稱,是否符合使用者的習慣。  [源碼密技] 利用 Android 手機記錄行程及途經點 

正式開始行程記錄


回到主畫面,開始記錄路徑前,先確保主畫面上方是否顯示手機所在之處,能否搜尋到較強
的 GPS 訊號,再按下 Android 手機的〔MENU〕按鈕,然後點選【Start tracking】。

[源碼密技] 利用 Android 手機記錄行程及途經點

主畫面右上方會亮起紅點,代表軟體正在記錄使用者的行程,在主畫面出現的各款按鈕亦變
成白色背景,代表使用者可隨意按畫面上的按鈕。

[源碼密技] 利用 Android 手機記錄行程及途經點

請 留意主畫面最上方的三個按鈕:〔Voice record〕、〔Take picture〕及〔Text note〕,
這些按鈕在軟體的不同版面都會出現。當使用者到達某個重要景點時,點選〔Voice
Record〕按鈕便可錄一段約兩秒鐘的錄音,已足夠使用者講出該景點的地名。

[源碼密技] 利用 Android 手機記錄行程及途經點

點選〔Take picture〕則會啟動智慧型手機的相機功能,讓使用者即時拍攝該地點的現場相
片。若點選〔Text note〕則可以讓使用者輸入一段用來形容這個地點的文字。

[源碼密技] 利用 Android 手機記錄行程及途經點

為 了方便使用者,其實這個軟體已經提供不同種類的「途經點」文字描述,點選主畫面其
餘九個按鈕,軟體就會顯示集合不同種類「途經點」的版面,使用者只須點選 其中一個
「途經點」的按鈕,這個「途經點」便會自動成為使用者現在位置的文字描述。例如,若點
選主畫面中的〔Restriction〕按鈕,便會出現以下 的版面。

[源碼密技] 利用 Android 手機記錄行程及途經點

這個版面所顯示的是不同車速限制的「途經點」,方便駕駛隨時記下設有車速限制路牌的位
置。點選這些「途經點」按鈕後,畫面下方會彈出訊息,確認軟體已將「途經點」加於路徑
記錄裡。

[源碼密技] 利用 Android 手機記錄行程及途經點

要查閱已記下的「途經點」,可在 OSMTracker for Android 軟體的操作介面中,按下
Android 手機的〔MENU〕按鈕,並點選【Waypoints】。

[源碼密技] 利用 Android 手機記錄行程及途經點

軟體便會顯示已記錄的
轉寄『第 159 期 中央研究院 10 月 23 日盛大舉辦「99 年院區開放參觀活動」』這期電子報

寄信人暱稱  寄信人email
收信人暱稱  收信人email

  • 社群留言
  • 留言報主