google code-beautifer

星期三, 12月 22, 2010

Synergy

Synergy

Synergy 可以想成是軟體做的KVM,讓你在多部不同操作系統的電腦之間共用鍵盤和滑鼠,而仍然以各系統自身的螢幕顯示資料,正常當鼠標移到螢幕邊緣時會停住,而兩台電腦經Synergy 連接後,當滑鼠從一個螢幕滑動超過邊緣時,他會跳到另一個螢幕。而且當滑鼠在另一個遠端(client)螢幕上的時候,本地(server)鍵盤的輸入就會直接送到遠端去,也支援個別互相剪貼功能(不過目前是沒有加密的),而且遠端螢幕上的一些功能如compiz的旋轉方塊預覽也相容。Synergy 透過網路把多部電腦連起來的。除此之外,無需特別的硬體。。這對一些需要即時監控螢幕,但是螢幕更新傳輸的資料量太大,比如說按一個鍵去播放看電影這些不適合用NX 或vnc 方式遙控的場合最好用。

大部份的 linux 發行版都己提供 Synergy 套件的線上安裝。mac 跟 windows的環境去官方網站 http://synergy2.sourceforge.net/直接下載來裝。

編寫Synergy 設定檔


通常儲存在 ~/.synergy.conf 。設定檔的內容,需要設定三組section 參數:分別是screens ,aliases 和links。
screens 裡面填入電腦的名稱, screen代表你整個架構裡有多少個螢幕(screen,其實是指電腦,不論一台電腦接多少台螢幕,還是用一個screen名稱 ),那些電腦在Synergy下叫什麼名字是由你自己定義的,跟什麼網路名無關。本例中有兩個screen , 分別命名為 mdv和macos 。要是screens那裡用的電腦都是用hostname的話,alias那邊就不用指定了

alias 裡面指定 screen 們電腦名字所對應的網路位置代稱,用hostname 或 IP 均可。如例中桌機 mdv 在 192.168.1.1 。在 dhcp 動態分派位址的網路環境中,我們沒有固定的 ip 可對應時,可以用hostname 來設代稱。

links 裡面指定以 right , left , up , down 四個關鍵字代表相對應此電腦右左上下四個位置的對方電腦。指定一旦滑鼠超過了目前螢幕範圍,該跳到對應目前電腦screen 所在(桌面上的)實際位置上的那台電腦:

為方便解釋,假設有兩台電腦要用 Synergy 連接。桌機 mdv (IP:192.168.1.1)在右手邊,macos在左手邊,這樣為例的設定檔是這樣的:

section:screens
    macos:
    mdv:
end

section:links
    macos:
        right = mdv
    mdv:
        left = macos
end

section: aliases
    mdv:
        192.168.1.1
    macos:
        192.168.1.2
end

在Linux 下安裝 quicksynergy 套件,就可以用 Gui 介面方式來方便的設定。

執行


Synergy 是透過網路把多部電腦連起來的。所以要確定電腦之間的網絡連線正常。防火牆參數必需完全正確設定 Synergy 才能運作。 Synergy 預設用 port 24800 ,設定連線前確保 tcp port 24800 沒有被防火牆擋掉。

安裝 Synergy 後我們會得到兩個執行檔 : synergys 和 synergyc ,synergys是 server , synergyc 是client 。在 Synergy 裡的 Server指的是分享出鍵盤、滑鼠的主控端。看是要用那台電腦當 server 分享鍵盤滑鼠,那台電腦當client 被控制。以筆記型電腦跟桌機分享為例,桌機的鍵盤、滑鼠比較好用,所以一般是把桌機當server,但是也可以倒過來用。因為是deamon,倒不用堅持先啟動server 再啟動client。

以下的執行操作適用於 Mac 和 Linux 系統:
要啟動 Synergy server 的話,執行
synergys
用參數 -c 指定 Synergy 參考那個設定檔來啟動 service。比如
synergys -c ~/MySynergys.conf
不加的話預設是參考 ~/.synergy.conf

要從 client 連到 server 的話,我們執行 synergyc 之後接要連去的電腦位址。本例中是
synergyc mdv
啟動時不加參數是預設在背景執行。一開始遇到問題的話,可以在啟動時加上-f參數去看錯誤訊息,如執行 Synergy server是 synergys -f

預設為 scroll lock 為解除狀態,設定好之後 mdv 機器為右邊機器,macos 為左邊機器,此時滑鼠就可以兩台電腦移動。

星期六, 12月 18, 2010

GUI 的檔案管理跟終端機相互運作

就算有在用GUI 的檔案管理軟體,程式設計師常常會需要在終端機下跳到某個檔案所在的子目錄去工作,krusader 可已有一行工作列輸出入,不過那不好用,emacs 也可以開dird 管理檔案也沒錯,但是用到一些東西管理檔案還是用krusader 或是nautilus 比較直覺。所以我需要一個方法把GUI 的檔案管理程式中的檔案icon 用滑鼠拉到終端機裡,就可以讓終端機裡的shell 跳到對應子目錄的方法。目前還沒看到拖拉icon 支援手勢的用法,。所以得自己來。

一般Linux 系統對桌面支援有設定好的話,不管是gnome 或kde的程式如gnome-commander,nautilus 或krusader,只要把檔案icon 用滑鼠拉到終端機裡,就可以讓終端機顯示該檔的完整路徑名。只要自己設定一個程式,去處理後面跟著拉進來的某個檔案icon對應所在的子目錄,這樣就可以了。bash 下有dirname 這個命命是可以傳回檔案的完整目錄路徑名。但是直接用
alias fu='a=`dirname \$1` ;cd $a'
這樣的方式會出問題,我也不太清楚為何類似的方式不去動到cd $a的方式卻就沒事?可能是Eval 出問題。後來我找到可改用所謂shell function 的方式,其實跟alias 的方式很接近,。但是一般書都沒提這個用法。
fu () {
a=`dirname $1`
cd $a
}
這樣就可以了。但是alias 問題的源頭我一時還時間去追溯 。function 跟變數很像,用set 跟unset 來設定。(其實照上面寫法就好,是不用去管什麼set 跟unset的其他細節)

每次都用的話,可以把這定義寫到 ~/.bash_profile 或 /etc/profile 下。我在想等gnome-shell穩定了,配合某種手勢來作這件事是最好不過的用法。

星期二, 12月 07, 2010

OpenOffice.org 的英文文法檢查工具

OpenOffice.org 的英文文法檢查理論上有兩個extension:
LanguageTool
http://extensions.services.openoffice.org/en/project/languagetool
跟After the Deadline Grammar Checker
http://extensions.services.openoffice.org/en/project/languagetool
After the Deadline 也是GPL open source 。網頁有註明編好的OOoextension是 Free for Personal Use

安裝

下載oxt檔之後,在OOo主選單下選Tools->Extension manager->Add ,然後在檔案選取視窗下去下載路徑選檢查工具的oxt檔。然後視情況選開放給所有使用者,還是只給自己用。這樣就可以完成安裝了。

After the Deadline

After the Deadline Grammar Checker 需要OOo 裡設定好 Sun 版本的java路徑,裝完要重新啟動OOo。要是讓OOo 他邊打邊檢錯,會看到除了錯字檢查跟以往一樣會用紅色底線顯示,文法可能的錯誤會用藍色底線顯示。After the Deadline的規則是引用新聞台編輯的法則,我看了一下給我文章的建議,還抓出不少不適合的用法有些是合於文法,但不良的寫作習慣,這得看寫作領域來調整,新聞台編輯的法則不見得適用於理工科寫作。

After the Deadline有一點討厭的是他是網路服務,換言之要是寫作時沒有網路用,那就白搭了,所以最好還是得想辦法把LanguageTool裝好。

LanguageTool

但是 LanguageTool 有問題,我無法讓他正常運作,感覺上可能要調校,所以我目前先關掉LanguageTool ,只用After the Deadline

其他的技巧

我發現用排版軟體寫長篇英文文章,特別是用上了兩欄式又是左右平衡擴張填滿的格式時,往往字與字中間若多或少打空格是很難看得出來的。After the Deadline並不會抓出這個問題來,除了自己去LanguageTool修改文法檢查規則之外,有一個變通方式是把文章匯出成Latex 格式。Latex 格式在超過一個空白之後的連續空白,會需要加上逸出字元 \ 。這個字元在一堆英文字母裡算是相對好辨認的。 用眼睛描一下匯出Latex檔裡,標點符號後面的空白是否接了或少了該有的 \字元就可以抓個九成。

星期二, 11月 09, 2010

印尼Mozilla 社群吉祥物折紙 Kumi

Kumi這是印尼Mozilla 社群吉祥物折紙 。
'Kumi' Indonesian Mozilla fox mascot, cake & papercraft
我覺得很漂亮,這圖左邊好像是蛋糕,右邊才是紙Kumi。我希望台灣也可以有類
似有本土特色的推廣文物。

很奇怪的是這一直沒有見過有人正式的介紹,我是無意間經由台灣Mozilla 社群的柏強在私底
下一張貼圖上,去挖了幾次才追查到出處。最後還是從柏強的線索追到折紙社群再追回印尼Mozilla 社群。

這裡有PDF 樣本下載,跟幾個不同角度的照片

製作過程在此 有圖說明,但是文字好像是印尼文

延伸閱讀

推動自由軟體的流行文化象徵

星期六, 8月 14, 2010

Gnome 桌面面板的設定微調

有時候系統預設給面板的程式啟動icon的參數不合我們意,其實在icon上按右鍵,就可以自己改。我有兩個軟體視窗設定一定會改動的:
假如螢幕解析度是1920x1280 :我會改成
gnome-terminal --geometry=128x60
emacs --geometry=128x79
假如是11280x1024的話:我會改成
gnome-terminal --geometry=128x56
emacs --geometry=128x72

面板工作列定制的按鍵設定會放在
~/.gnome2/panel2.d/default/launchers
比如說"終端機"的設定檔是
'gnome-terminal終端機.desktop'
,就算系統升級之後也可以直接備份拷貝到新系統上使用。

書籤限制的解決之道

 

gnome-panel的 Places menu(位置選單) 只要書籤(~/.gtk-bookmarks)捷徑數目超過5個,位置捷徑就會被放到"書籤"sub-menu 去,這實在是很瞎的設計。解決之道一是自己把原始碼那一個限制改掉,重編譯。可參考
http://ubuntuforums.org/showthread.php?t=1066964
或者另一個方式是用別的面板程式,比如
http://ftp.gnome.org/pub/gnome/sources/gnome-panel/2.30/gnome-panel-2.30.2.tar.bz2
可參考
http://aur.archlinux.org/packages.php?ID=39415

而我自己是用AWN "代替" gnome-panel。

Avant Window Navigator(AWN)

 

AWN 裏面有個叫file Broswer Launcher就沒有位置捷徑數目限制。而且AWN 還有一些其他不錯的特性。

但是AWN有幾個問題。一是假如應用程式沒有對應的desktop file,便無法改icon ,解決方法是先開一個gnome-panel,把應用程式加入gnome-panel面板,再從gnome-panel面板把icon 拉到AWN面板裡。假如要改動程式啟動設定,拉之前記得參數要照前面說的在gnome-panel先改好,再拉到AWN面板裡。

再來是有些人偶爾會用root 身份登入時,AWN預設是不准用root 身份來用的。這個可以用這招來繞過:
How To Use Screenlets, VLC and AWN Manager by Logging In As Root


再來是有些applet 在AWN 上還沒有好的代替品,不過有些AWN作的比較好,所以目前我是gnome-panel,AWN 面板各開一個來用

星期日, 1月 24, 2010

從"極光行動"看開放軟體推展的重要性

自由軟體是一種全民的生活方式,而不只是少數人借以爭奪資源的工具。
這觀念其實很重要,但好東西不見得大家都知道,在還沒因為用了IE 碰到大麻煩前,許多人不並瞭解用IE 與FireFox 功能上的差異。從一個社會的群體觀點來看,如何把這些為IE 奴役的使用者拉到自由軟體的陣營呢?好的宣傳其實很重要。比如說:
"法、德政府警告民眾勿用IE"
http://www.zdnet.com.tw/news/web/0,2000085679,20143808,00.htm
這件事你知道嗎?你也許聽說了google 考慮退出中國大陸市場,你大概沒有想到,IE的漏洞在此一事件扮演了很大的推手。可以去看看這一篇
"Google中國員工可能有內賊"
http://www.zdnet.com.tw/news/web/0,2000085679,20143805,00.htm
但是文中沒有說出的是:
微軟當時為了進入大陸市場,跟中共妥協,讓中共可以檢視他們的原始碼,台灣呢,門都沒有。中共可以在關鍵時期搶在微軟發布Hotfix前對安全漏洞發動(零時差)攻擊。所以呢,你用了IE ,等於是當了網際網路的施瑯,哪一天引清兵入關怎麼死的都不知道。這次就是所謂的"極光行動" (Operation Aurora)可以參考http://zh.wikipedia.org/zh-tw/极光行动

只有IE 6確定受害嗎?去查資料的話,其實IE7 也是有可能的,只是還沒做出來。可以參考http://www.zdnet.com.tw/enterprise/technolog/0,2000085680,20143800,00.htm
裏面那張圖。基本上微軟是想利用這個事件去威脅力誘用戶繼續花錢升級到他的新版。但是那你還要等腳趾頭都流血了,才要承認去用腳去踢鐵板是一件愚蠢的事嗎?與其去用那不安全,要看微軟臉色的IE/windows/office ,還不如現在就轉投向開放軟體的陣營,有全世界的開放軟體工程師在替你當守門員,不會因某個國家或黨派的立場箝制資訊走你的電腦後門。網路上有疑似大陸Google 員工發佈「Google 事件真相」這篇文章。原文出於地址: http://www.brookswelding.com/
我第一天聽到時還網址看得到原文,2天再去看時,已經被被迫河蟹(音同"合諧")掉了連不上,今天再去看變成一個怪怪的待售網域名,我當時沒想到那麼多,現在去whois.net看的資料有一點過時了http://www.whois.net/whois/brookswelding.com
雖然目前沒有人能直接證明brookswelding當時的說法,但是對照前後發生事件的進展,中共此地無銀三百兩的意味非常濃厚。網路上找一找還是可以找到原文。

在微軟靠這壟斷市場所或取的暴利來,操控了雜誌到電視的各種主流媒體的前提下,要與之對抗,最有效的應該就是用大量小眾媒體這種螞蟻吞大象的方式,比如說

義大利有個網友替各大不同的Linux 畫了一系列的美少女Linux Tan,
Linux-tan sketch
http://www.jkhp.it/OS-tan/

http://www.firefoxflicks.com/
是鼓勵網友創作 30秒的廣告短片來推展FireFox閱覽器,在以往電視是唯一的強勢媒體時,網路短片可能效果不張,但是在大家把收視習慣移到電腦上如youtube時,情況就大不同了。

http://explorerdestroyer.com/
是當初google 跟mozila 合作的一個陣營。這個可以對台灣的企業募款做一個參考

http://www.thesourceshow.org/
這個網站只要是教大家如何拿開放軟體來做一些媒體出版,或DIY的事。封面有個很有創意,但是些微超出尺度,卻無傷大雅的照片。對年輕人用輕鬆的方式是比較吸引人的。

要怎樣推廣開放軟體?光靠政府是不夠的,前面8年,政黨輪替後新政府一年,我們只知政府每年砸幾千萬下去到錯的地方,沒有一點成效。現在是要靠大家主動站出來合作,扭轉局勢的時候了。