google code-beautifer

顯示具有 win 標籤的文章。 顯示所有文章
顯示具有 win 標籤的文章。 顯示所有文章

星期二, 8月 01, 2017

EMACS usb 隨身碟版的配置

有時候想在外寫個無關機密的東西,但是不方便時時帶個筆電出門,湊巧有個安全的windows  機器在那可以讓你用USB碟可是你沒有管理員權限,這時在隨身帶的USB 碟上裝一套可攜版的 emacs 來寫寫文件不錯,不過既然都能跑emacs ,當然會想把自己家裡電腦整套.emacs 配置跟.emacs.d 裡面包山包海的套件也帶過來所以跟自家的環境一樣方便。這要怎麼做?其實不難:

可以在啟動emacs 的batch 檔裡設定環境參數:主要就是下面兩行
set HOME=%~dp0..\emacshome
"%~dp0\winbin\emacs-24.5\bin\runemacs.exe" %*

其中 %~dp0 就是windows 裡現行執行檔的現行目錄, 假如把這兩行寫到USB 碟上根目錄的一個檔案叫runEmacsUSB.bat,不管 USB 碟 是 e: 還是f:.... %~dp0 就是那個碟的根目錄,假定 USB 碟 是 e: 那 runEmacsUSB.bat 的位置在e:\runEmacsUSB.bat 而 %~dp0 就是 e:\
這個可以照自己喜好更動,我在  USB 碟 下開了一個子目錄 winbin ,然後又把整個emacs 隨身版拷貝到 winbin 子目錄下的emacs-24.5 裡,所以執行檔路徑就在e:\winbin\emacs-24.5\bin\runemacs.exe
這就是 runEmacsUSB.bat 第二行的前半段但是用雙引號刮起來 後半段就只是把參數全吃下傳給emacs
這樣這個在根目錄的批次檔就會去子目錄裡找到真正的執行檔
但是這個emacs 配置重點在第一行,他會指定 emacs 的家目錄 ,我是在USB 碟根目錄下開了一個子目錄叫emacshome ,然後把 .emacs 設定檔跟 .emacs.d 目錄全拷貝過去emacshome 之下,這下執行 runEmacsUSB.bat 就可以在USB 碟上跑全套 emacs 服務,在電腦上看大螢幕寫東西的爽度不是用手機可以比擬的

順帶一提,我試過emacs 24 跟25 版,在windows 10上某機器上, 25 版對我特製化的程式碼字型設定顯示不佳,會糊糊的。但是24 版不會,所以為了相容性我就沒有跑25 版

星期三, 6月 07, 2017

用 windows版emacs輸入中文

忘了是 23 版還是24 版之後的emacs 加入了unicode 支援,所以在新的winodws 上輸入中文還是改用unicode 編碼吧

得先安裝unicode-fonts套件
然後把這兩行加到.emacs
(require 'unicode-fonts)
(unicode-fonts-setup)

在windows 下.emacs 他的路徑要放在\User\使用者名稱\AppData\Roaming\之下 (怪異的是我照新的方式在.emacs.d下設置init.el 沒用 )

中文輸入法我目前是用pime ,不過pime 1.10 或0.16對emacs 都有個問題:在按enter 之前,選字buffer 不會出現,但是按enter後選字buffer 的內容會正確送到應用程式裡
可是在其他編輯程式如emeditor下  pime都沒有問題

然後目前cygwin mate desktop下我沒有辦法輸入中文,可能跟它預設的ibus 輸入有關,
cygwin 版emacs其實可以用symbolic link 跟windows版emacs共用設定檔,但是額外安裝套件跟路徑得自己搞定

星期六, 4月 22, 2017

把(emacs下的)程式輸出成 pdf 檔

有時候出門不方便帶筆電,但是得用手機或平板看之前寫的程式,能方便的轉PDF 就很重要,因為現在的機子很多不能跑Linux ,看大程式檔這種的事反而變得很麻煩。  

我因為是在Linux下工作,所是用這個方案。https://genomeek.wordpress.com/2013/03/08/emarch-2-create-a-pdf-with-highlighted-code-source/
他會在你原檔案所在的目錄下產生一個XXX.pdf 的檔案,XXX 就是你的原檔名,比如說hello.c 就會產生hello.c.pdf
假如你有文字有做syntext highlight 這些顏色也會保留。預設值我覺得應付一般狀況還好,不過有時候可能會因個人所好想做一些調整,比如說轉成橫式輸出,或是把每頁的檔頭縮到最小,這就得在postsciprt 輸出時調參數,這以後再談。

要是在windows 下但又沒又裝cygwin 就比較麻煩,這篇的作法是靠GhostView,但安裝也算容易
https://www.emacswiki.org/emacs/PostScriptToPDF

星期一, 10月 17, 2016

餵你的freeCAD 吃蘑菇長大大- 如何安裝addon

Linux 下32d 的CAD 工具還不少,但是能做3d 的卻不多。blender 是可以,但是學習曲線很陡,新手要是沒人帶不易入門。我跟不少人討論過這個問題。一致的結論是,先從freeCAD 這個軟體建些基本的模型上手,再想辦法慢慢學習跟其他自由設計軟體搭配。可是freeCAD 內建的功能實在很有限,讓用過專業軟體的人會有一點抓狂。後來才發現其實freeCAD 也有擴充外掛可以用,甚至還支援繪製爆炸圖這種高級CAD功能,只是一般人都不知道。以下簡短介紹如何安裝addon。

addon 其實可以個別手動安裝,不過我覺得先安裝個替新手設想的addon 管理器來管理是一個不錯的使用方式,首先請下載這個python 檔案
https://raw.githubusercontent.com/FreeCAD/FreeCAD-addons/master/addons_installer.FCMacro
macro 檔的子目錄是可以隨意定,不過既然在linux 下 freeCAD 會在家目錄下新增一個子目錄.freeCAD ,所以我就在.freeCAD下新增一個子目錄叫Macros 來管理這些檔案,把addons_installer.FCMacro這個檔案拷貝進去。這樣之後freeCAD在addons_installer 管理下,會把macro 檔存在~/.freeCAD/Macros
而把其他add on 檔存到~/.freeCAD/Mod 之下

第一次要用時,先到主選單->Macro>Macros 所跳出的視窗最下方,先指定來存放這些macro檔案的子目錄,比如說家目錄下的 .freeCAD/Macros
這樣他就會抓到macro 檔,之後點選要執行的macro 檔,執行addons_installer.FCMacro 會跳出這個

照著螢幕指示就行了,不會很難。執行addons_installer.FCMacro 安裝上面所示外掛之後,選單會列出一堆外加工具,不只限於macro 檔。他會在tool bar 裡的workbench 選單下顯示,比如說齒輪(gear)設計,他提供幾種常用基本樣式,把設定值改改一個齒輪的設計就出來了,很方便

雖說freeCAD尚不若專業CAD 軟體,但一般應用很夠了,比如comboampo說這個電吉他綜合擴大機音箱木工設計 https://github.com/shelandy/comboampo 就是用FreeCAD 做出來的

(This is the 6/20 of my #開放改變20 initiative in this year. )

星期六, 9月 03, 2016

.emacs 除錯

emacs 是個很強大的編輯器,把.emacs 設好就會展現強大功能,但要新手一下就能對.emacs除錯不易。

覺得emacs 起始頁說要你用emacs --debug-init真是胡扯,我照做了,啥都看不見。正解應該是(至少是在v24.4 之類在xwindows 下跑的emacs):不管錯誤先進emacs再說 ,然後用meta-x ielm進入 inferior lisp mode,下面幾乎就跟完整lisp 解譯發展環境一樣隨你跑,打入一個變數,他就會立即顯示他的值,然後去觀察這值為何沒有設定好。emacs 的外掛大部份時候其實就是把變數設正確就成了。理論上不跑 ielm 用熱鍵contrl-h v 也可以,可是變數一多,重複打熱鍵這就會很煩

而且既然是個lisp 解譯發展環境,可以拿來解決一些生活上的小問題,或拿來練練功也不錯

星期日, 8月 28, 2016

gnome 檔案管理員用/media/或/mnt/方式掛載磁碟分割區的考量

以前linux 的磁碟分割區一般都放在/mnt下。現在非native的異類檔案系統比如說osx 的hpfplus或windows 的ntfs可以放在/mnt也可放在/media (而且是預設值)怎樣用才好?一直到我最近把gnome shell整合跑一遍,我才了解一些使用設計細節:

/media/ 設計是給mount on demand 的分割區用的,所以指定掛載點要選/media/或/mnt/的方式,不是看是不是非native 檔案系統,而是看你打算怎樣用他:

在gnome 的檔案管理員,(如nemo) ,按F9 有個側邊欄可以切換顯示
  • 假如是寫/mnt/的方式在/etc/fstab 裡指定掛載點,檔案管理員側邊欄不會特別顯示(除非你特地加書籤) 
  • "外部"(這是相對應用固定掛在/mnt/下而言)磁碟分割區不管有沒有mount,都會在側邊欄裏顯示在"裝置"這一區裏,這跟是不是native的檔案系統無關(比如esata 或usb 行動碟也可以用ext 的檔案系統) 
  • * 但是假如你用/media/的方式在/etc/fstab 裡指定掛載點,一開機他就會mount 起來,但是gnome 的檔案管理員側邊欄會有多一個按鈕可以unmount 

所以有幾個應用模式可以思考:
  • 每次都掛載的固定不動磁碟分割區,請用/mnt/的方式,必要時用gnome 的書籤指定,方便在檔案管理員側邊欄裏顯示存取 
  • *不想在gnome檔案管理員側邊欄老看到某個磁碟分割區礙眼,那就在/fstab裡用/mnt的方式把他掛起來吧 
  • 固定不動磁碟分割區,但是偶一為之才要掛載,請把磁碟分割區的分割區標籤設好(不然在檔案管理員側邊欄只會顯示他的容量大小,不容易看出誰是誰),不要寫進/etc/fstab,系統開機看到他,在使用gnome 的檔案管理員,就會在側邊欄顯示,你可以按右鍵掛載,不過需要root 密碼 
  • 常常要用,但偶而要卸載的磁碟分割區(也許esata 之類的外接硬碟爾而要拿給其他電腦交換資料會有這種需求),就用/media/的方式在/etc/fstab裡指定掛載點

星期六, 11月 07, 2015

用 cygwin 的dd 把光碟安裝iso轉換成USB開機碟安裝

想要把光碟安裝iso轉換成USB開機碟安裝,用linux 下的dd是最直覺,但是運氣不好手頭只能用Windows 的話,也有windows 版dd 可用,不過另一個可行方式,是windows 直接裝Cygwin 然後在Cygwin下用dd 轉換

到window 主選單 cygwin 的文字介面主控台,按滑鼠右鍵 選用Run As Administrator
進入主控台,  下達
$ cat /proc/partitions
看一下對應的路徑

major minor  #blocks  name   win-mounts
    8     0 293000000 sda
    8     1    100000 sda1
    8     2 110100000 sda2   C:\
    8     3  80000000 sda3   E:\
    8     4  40000000 sda4
    8    16   300100 sdb
    8    17   3000000 sdb1   F:\

記得是寫到整個USB碟(F:)所以這裡是/dev/sdb 而非 /dev/sdb1

$ sudo dd if=/cygdrive/c/Users/你的帳號/ubuntu-mate-15.04-desktop-powerpc.iso of=/dev/sdb bs=1M

檔案大可能要一段時間 , 最後看到類似這些訊息出現就完成了
3663+1 records in
3663+1 records out
3841851392 bytes (3.8 GB) copied, 523.668 s, 7.3 MB/s


星期日, 11月 17, 2013

如何在gnome3下把珍貴的 super 鍵搶回來好在別處使用

PC 鍵盤的windows 鍵(osx 裏對應成command鍵 )在unix 下一般是被對應成 super 鍵,這在作coding 時很有用,可以設定成各式各樣的快捷鍵,特別是毫秒必爭的live coding。
但是windows 鍵被gnome 3 搶走當Switch between overview and desktop (類似osx的
expose),尤其是筆電那種縮減鍵盤只有一個windows 鍵一旦被搶走就沒的用了。但是既然系統還有指定了Alt-F1 來達成同樣的功能,沒有必要放著好用的 super 鍵不用。但是要想去gnome 桌面上的系統設定值去改這鍵,會發現到根本就找不到選項可以改。得到終端機下用指令改。
首先先確定看一下到底是不是真的被 mutter 給劫持走了:
$ gsettings get org.gnome.mutter overlay-key
'Super_L'
的確是,所以我們把他用空白字串把這鍵結拿掉
$ gsettings set org.gnome.mutter overlay-key ''
登出gnome 桌面再回來就可以了

不過對osx 跟linux雙作業系統的使用者而言:既然windows 鍵在osx 裏對應成
command鍵,要注意Cmd-A, Cmd-C, Cmd-G, Cmd-M, Cmd-F, Cmd-P, Cmd-V,
Cmd-X,Cmd-Z, Cmd-1, Cmd-2, Cmd-3, Cmd-4, Cmd-/, Cmd-., Cmd-SAPCE,
Cmd-LEFT, Cmd-RIGHT, Cmd-UP, Cmd-DOWN, 這些已經被OSX系統用掉了

延伸閱讀
Linuxer/Emacser 在OSX 下用PC的鍵盤

星期四, 2月 23, 2012

隨身碟版 LibreOffice / OpenOfficce

假如您的學校或辦公室電腦沒有LibreOffice或Apache OpenOfficce,又不能搞個Linux live USB 直接開機用,這裡也有LibreOffice可攜版 :

星期三, 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 為左邊機器,此時滑鼠就可以兩台電腦移動。

星期五, 11月 06, 2009

ispell 與中文環境emacs

中文emacs使用者可能會遇到一個問題:環境是設好了可以用中文。但是用英文打字了半天想要作一下拼字檢查,卻發現錯誤訊息:"No Word lists can be found for language zh_TW",因為找不到對應語言環境的中文字典檔。

要避免這問題,可以下達
M-x ispell-change-dictionary
再指定要用的字典,比如說美式英語是en_US 。或者是在.eamcs 強迫設定變數 ispell-dictionary:
(setq ispell-dictionary "en-US")

ispell 支援中文拼字檢查的可能性


ispell 支援多國語言,但是沒有中文。他的支援語言語言清單設定在變數
ispell-dictionary-alist
裡面沒有中文。只要去看了他的編排方式,就知道至不是很適合中文這種字數是
上萬的語言。舉兩個例子:

("en_US" "[[:alpha:]]" "[^[:alpha:]]" "'" t
("-d" "en_US")
nil utf-8)

("en" "[[:alpha:]]" "[^[:alpha:]]" "'" t
("-d" "en")
nil utf-8)

星期二, 2月 24, 2009

用 Graphviz 畫資料庫設計圖

graphviz 的介紹見,用 Graphviz 畫工程科學說明圖

以一般設計資料庫流程,第一階段畫 ER/EER diagram,第二階段畫relation tables 跟 key constraints,要找免費的工具還真不簡單。大多數最多也只是提供免費試用而已,我也用過dia 跟 xfig 來畫過,總覺得少那麼一點。後來還是覺得用graphviz 來畫最方便。

以我實作EER model 的情況,除了weak entity 的total participation 雙線,跟subclass 的關聯線外。幾乎可以直接全部畫出來,其實可以自行加入向量圖形,不過我很懶。在時間有限前提下,用個近似的方法就交差了。要是有人能把這兩個向量圖加入graphviz ,會是功德無量。

下面用 18分大學的體系為例,用graphviz 來畫一個資料庫設計的EER diagram。既然是18分大學,訛誤在所難免。我故意搞了些手腳,好讓那些懶惰的老師或學生會踩到地雷,但懂的人一眼就看穿。好事者請不要公佈答案,不然就不好玩了。


除了EER model ,畫relation table 也沒啥大問題,唯一的地方是標示composite key 的部份。我是用套疊格子的技巧作出來。其實這些小地方不一定要這樣作,我是依據近年美國資料庫教科書首選Elmasri的fundamentals of Database Systems用的記號為依歸,算是遵循標準吧!這樣一般大學生不用我解釋就可以看得懂我的設計。

下面用海角n億洗錢的體系為例,用graphviz 來畫relation table 設計

我想面對犯罪可以為一己之私,可以用泛政治的理由拉一堆人來替自己洗錢掩護,檢警單位應要學學怎樣用自由軟體來彙整日益複雜的犯罪資料。

一般資料庫先畫ER diagram,正規化Schema後再寫SQL。不過有個java 工具sql2dot是可以把簡單 SQL 檔轉成 dot 語言,用法是
java -jar sql2dot.jar 我的sql檔名
我試了一下,語法解析不夠彈性,有些情況沒辦法解析出來。不過後來又看到一些其他的工具sql 轉dot的工具,等以後試了再來紀錄心得。

用 Graphviz 畫工程科學說明圖

一般而言,工程科學說明圖是網路/樹狀結構但沒有很強的流程方向性的圖我用graphivz來畫,圖是網路/樹狀結構而且有很強的資料流程方向性用dia來畫。其他的我才用xfig來畫。

我覺得graphviz 最大的好處是自動編排。只要用文字編輯器把這些節點,聯接,文字相互關係...的.dot 描述檔寫好後。graphivz編譯會自動產生編排好的圖形。不用拿滑鼠在螢幕上移來移去。這在設計複雜的關聯圖形時很重要,而且這些文字大部可以在後面的流程回收。作過一次標準資料庫設計就知道了。剛開始學習要點時間,但是對理工科的人而言長期的回收絕對划算。

Graphviz 編譯命令長的像這樣子
dot -Tpng foo.sql.dot -o foo.png
,除了png 外,也可以選pdf,ps, gif 之類的格式,或是不同風格的圖形編排,輸出成png 或ps 後可以在openoffice 文件裡當插圖用,用中文的話要記得用utf8輸入即可。

graphviz跟emacs 整合的話,工作會更方便,用emacs 編完Graphviz 的.dot
描述檔之後,直接C-c C-c 編譯。(這跟python是一樣的)C-c C-p 直接在 emacs裡預覽輸出圖形。下圖是在emacs裡預覽的結果。

安裝其實很簡單,在winodws 上也有 wingraphviz 可以用。我試過跟某個用winodws平台的人共同用graphviz 溝通開發資料庫,沒有問題。應用實例後面會另文介紹。

參考
用 Graphviz 畫資料庫設計圖

星期一, 2月 11, 2008

人在曹營心在漢: linux 上使用windows系統的資訊

不要弄錯了,曹營是指M$,漢營是指Linux/BSD等開放OS環境,...我自己除非學校工作逼不得已外,都是用Linux 。這些資訊是給在windows 上處理跨平台開放軟體(如wine/cygwin/samba)的先驅看的,讓開發者windows上的開放軟體可以透過wine, virtual box 等在Linux 上執行。台灣有些人喜歡跑到別人個人網站偷看,毛手毛腳外還自以為奧步硬凹是真理,整個社會價值淪喪至此,只好諸事先打預防針。

察看一些關於windows 系統的資訊


Sysinternals web 是Mark Russinovich and Bryce Cogswell 在1996創立的,後來被M$ 買下來。有很多M$隱藏的系統內容,所有人現在都可以藉由這些工具一窺,如
Process Explorer v11.04 By Mark Russinovich
AutoRuns for Windows v9.01 By Mark Russinovich and Bryce Cogswell
LiveKd v3.0 By Mark Russinovich
Sigcheck v1.4 By Mark Russinovich
FileMon for Windows v7.04 By Mark Russinovich and Bryce Cogswell

開機執行程式


msconfig可以在開機時取消一些不想要啟動的程式。(Win2000 沒有提供,可以
拷貝 Windows 98 或 XP下 的這個程式到 winnt\system32\下用 開始 -> 執行 ->
輸入 msconfig 來執行。

其實也可以直接用 regedit去改(有點像Linux 下的 /etc/ 跟 /proc)。比如
HKEY LOCAL_Machine ->SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Run

批次方式執行程式


Windows 很多所謂的"創新",基本上就是去Unix/Mac 上抄別人真的創新,所以當你發現怎麼內部顯示網路命令也是"剛好"叫 netsate時,...也就不用驚訝其實Windows也可以用批次方式執行程式,當然是比不上Linux 方便,不過勉強用用。用過DOS 的人大概都知道shell (window 2k/XP的cmd)可以執行.exe程式,比較少人知道.dll檔可以透過 Rundll32.exe和Rundll.exe來執行,(Rundll.exe是用來執行16位DLL檔案),有些木馬利用Rundll32.exe載入DLL形式執行,所以要確定所執行的Rundll32.exe是在%systemroot%\system32目錄下沒動過檔名的)

此外微軟出的PowerShell加了不少功能(需要裝 .NET Framework Version 2.0)。
不過呢光下載就需要通過WGAPluginsatall.exe 驗證。要是哪一天Linux 上能夠透過wine 能來作驗證就太好了。

系統服務


不該開的系統服務全關掉。如CDBurnerXP跟Nero Buring ROM 都不用 IMAPI,可以考慮設manual。

RegSeeker個人免費使用,可以來找一些Registry 相關資料

延伸閱讀


http://www.annoyances.org/ 這是鼎鼎大名的 winodws annoyances網站
http://longtx.no-ip.com/ 這個網站有一些中文winodws的系統資訊

星期日, 12月 30, 2007

設定(X)Emacs中文環境參數

1.1 版

前言


在已完善中文化的Linux 系統如Mandriva 2008上跑big5跟utf8中文已不成問題。不過這兩個編碼系統都不夠好。要在Linux上跑CCCII等大字集編碼還有一段路,還是有必要仔細研究一下Emacs對中文設定(X)Emacs中文環境參數,這樣可以用Emacs來作大字集編碼中文的發展測試平台。

這裡針對討論近年來3個版本討論: xEmacs 21.5 及 Emacs22.0.50, Emacs 22.1.5 (支援unicode)。其中 Emacs 22.1.5是在Mandriva 新版(2008)上的測試結果(locale 設定: LANG=zh_TW.UTF-8)。其他是直接引用舊版的測試結果,應該是Windows上的Emacs。我不太確定當初locale 設定,我猜是LANG=zh_TW(意思就是big5)。Emacs以後的23 版的結構應該跟22.1接近,這裡專注在這個版本討論。

基本設定


Mule 在 win32 build 的 xEmacs 21.5 及 Emacs 22.0.50(跟之後) 都有內建。
查看設定值可由選單中選 Edit->MultiLingual "Mule"->Describe CurrentCoding system
( XEmacs 21.5 在 在選單 Options->Advanced (Customize) ->Emacs-> Environment-> I18n->mule
Emacs 22.0.50 在 Options->Customize Emacs->Top level CustomizationGroup -> Environment -> I18n -> mule)

  • Coding system for saving this buffer:
  • Default coding system (for new files):

兩者預設值都是 ISO8 -- iso-2022-8
Emacs 22.1.5 在這裡就看不到這兩個變數,我猜測是因為支援unicode造成的改版,實際上是否移到別的地方,或者可否自行在起始檔(如.emacs) 加入選項,還待研究。

Emacs 22.1.5相關的重要變數有

  • Keyboard Coding Syste (預設值: nil)
  • Default Input Method (設定值: chinese-py-punct-b5)
  • Current Language Environment (設定值: Chinese-BIG5)
  • Utf Translate Cjk Unicode Range (預設值: Cons-cell:
    Integer: 11904
    Integer: 55203
    Cons-cell:
    Integer: 65280
    Integer: 65519
  • Utf Translate Cjk Mode (預設值: t)
  • Utf 8 Compose Scripts (預設值: nil)
  • Enable Multibyte Characters (預設值: t)
  • Selection Coding System (預設值: compound-text-with-extensions)
  • Unibyte Display Via Language Environment (預設值: nil)
  • Describe Char Unicodedata File (預設值: )
  • Leim (預設值: )

XEmacs 21.5 相關的重要變數有

  • Current Language Environmen
  • Default Input Method


Emacs 22.0.50相關的重要變數有

  • Keyboard Coding Syste (預設值: cp950)
  • Default Input Method (預設值: chinese-py-punct-b5)
  • Current Language Environment (預設值: Chinese-BIG5)
  • Utf Translate Cjk Unicode Range (預設值: )
  • Utf Translate Cjk Mode (預設值: t)
  • Utf 8 Compose Scripts (預設值: nil)
  • Enable Multibyte Characters (預設值: t)
  • Selection Coding System (預設值: utf-16le-dos)
  • Unibyte Display Via Language Environment (預設值: nil)
  • Describe Char Unicodedata File (預設值: )
  • Leim (預設值: )

星期五, 12月 14, 2007

免費掃毒軟體

基本上Linux 上沒啥病毒問題。有人問到Windows上免費的掃毒軟體,avast ,antivir 還不錯。http://www.av-comparatives.org/定時有評比。

Avira 的AntiVir 個人使用免費。這裡有中文簡易安裝資料,看圖說故事,小孩也會
http://pcr.tnc.edu.tw/~yh/antivir-ez/

試用的結果,AntiVir 目前比Avast 嚴密一些,不過假警報的案例也偏高,(結果常常更動,不需太在意)。Avast有中文介面。此外AntiVir還有Linux 版,我覺得在Linux 平台上掃毒會比較安全

星期二, 12月 04, 2007

Cygwin 中文環境指南

很多東西靠虛擬機器作事還是不便,Cygwin 可以在windows 上執行unix 原生環境。不知道為何cygwin 很久沒更新了。下面舊資料還是很有參考價值的。

英文使用手冊


位於
http://www.cygwin.com/cygwin-ug-net/cygwin-ug-net.html

Cygwin安裝法:



  1. 連至 www.cygwin.com 下載 setup.exe
  2. 執行 setup.exe
    (註 見安裝技巧)
  3. 選取下載套件(必須要能連上Internet),
  4. 安裝套件
    (註 最好選取 All user)
  5. 點按 Cygwin 的 icon 圖示即可執行此一 Cygwin 環境。
    (註 視窗大小可由icon 圖示右點按 選取調整字型 及佈置)
  6. 執行 Cygwin

安裝Gnome


cygnome2.sourceforge.net 計劃停止,併入cygwin官方發行

  • 我的case 安裝gnome 1.4套件會跟 gnome 2.x 衝突 建議擇一而終

安裝技巧



  • 讓 cygwin 使用超過 128M 記憶體
    預設最多使用 128M RAM. 可用regedit.exe 在
    HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\
    新建一個 DWORD 名叫 "heap_chunk_in_mb" 其值為記憶體最大值 (in Mb)
    注意是 hex/decimal.
    見 http://sources.redhat.com/ml/cygwin/2001-04/msg00141.html
  • 中文字形
    待續...

如何在CYGWIN裡輸入中文


console部分


cygwin 在console下可以用windows 的原生輸入法 xemacs 即可輸入中文
測試環境

  • 中文Windows 2000
  • cygwin 1.5.7-1
  • rxvt 2.7.10-3

到Home目錄(通常是c:\cygwin\home\your login name\)在 .inputrc 檔案用文字編輯器加入下列指令:
set meta-flag on
set convert-meta off
set output-meta on
# set input-meta on
在 .bashrc檔案加入下列指令 (csh 或 tsch 使用者請參照語法自行修改)
export LESSCHARSET=latin1
alias ls="ls --show-control-chars"
alias crxvt='rxvt -fm "細明體-16" -fn "細明體-16" -km big5 -e bash --login -i'
存檔後重新進入後就可以輸入中文了

RXVT


直接執行 RXVT, 字形會變亂碼 改執行 crxvt (之前在.bashrc 加上的alias) 就沒問題了

X視窗


在 Gnome Panel 中 icon 的參數目前無法輸入中文 可改用下列參數
rxvt -fn MingLiu-16 -tn rxvt-cygwin-native -km big5 -e bash --login -i

一些常用的重要資訊



  • M$ window ao磁碟的 如c: 對應到 /cygdrive/c/
    但跳到 c: 也可用
    cd c:
  • 檢視packge:
    cygcheck 的作用類似於 linux 上的rpm 或 dpkg