2011年9月12日 星期一

arch linux 軟體清單

由於最近想試玩arch linux,就順便想列出自已未來想使用的軟體,就像自已在Ubuntu 10.10 我所需要的
列的差不多。

注意:由於arch目前還活在vm中,所以本文所列的項目基本上都沒在arch上好好用過,而本清單也會隨時增刪。還有我是vim控XD,所以皆以vim-like為優先考量。

(連結以後補…)

1. 桌面環境:
1.1. wm:
1.1.1. awesome: 自上次看到 tiling wm 的相關介紹就相當心動,基於第一次看到的是這傢伙,所以自然是首選。
1.1.2. i3: 似乎是 vim-like keybinding 的 tiling wm 有點心動。
1.1.3. euclid-wm: 同上

1.2 fm:
1.2.1 ranger: vim-like file manager

n. 各式軟體(喂…也跳太快了)
n.1 網路相關
n.1.1 Firefox + pentadactyl: vim-like + 眾多 add-on,還有什麼比這更好的呢XD
n.1.2 w3m: 純文字瀏覽器的選擇(不過我不常用…)
n.1.3 qbitorrent: 原本是仿照 µTorrent ,不過 µTorrent 也有出 linux 的版本了,所以也會考慮。

n.2 文件處理
n.2.1 vim: vim-like 的文字編輯器,大概是所有 vim-like 中最像的一個(炸
n.2.2 apvlv: vim-like pdf-viewer

n.3 其他
n.3.1 homebank: 記帳軟體
n.3.2 ikog: todo-list
n.3.3 anki: 記憶工具

2011年9月4日 星期日

Ctrl-H和Backspace交換結果及key mapping軟體



先說最重要的結果,要像Vim/Bash等一樣讓CTRL_H(下簡稱^H)和Backspace(下稱<bs>)有相同的效果,甚至交換兩者使用xmodmap是做不到的。

由於Xmodmap所能定義的鍵key的六種不同的輸出[xaw]分別是

1. 單純按key
2. shift + key
3. mode_switch + key
4. mode_switch + shift + key
5. AltGr[altg] + key
6. AltGr + shift + key

可以看到裡面完全沒有Ctrl + key 或Alt + key的設定,而且Xmodmap一般只能設定一個鍵而不能設定組合鍵,因此想改mapping從xmodmap下手是不可能的了。在其他論壇也有人問到類似的問題。[hcim]

不過還是記錄下這次的發現:
一、 Xmodmap [xaw][永u]:
鍵盤到所執行的功能間共有三層 ,分別為
1. 鍵盤上送出的按鍵代碼
2. OS收到該代碼後實際判定為哪顆鍵
3. OS認定的鍵所分別對應的功能為何。


....
[x修]中有特別說明改12間映射或23間的,這篇放很久沒興趣了,有興趣再回來補…




參考:
[xaw] Xmodmap - ArchWiki
[hcim] Vim - General - How can I map to Backspace under X by using xmodmap? 
[永u] [ 永遠的UNIX > 中文man手冊:xmodmap - 在 X 環境中調節鍵盤映射和鼠標鍵映射 ]
[x修] xmodmap修改键映射 - lqk1985的专栏 - CSDN博客
--
blogger的新版面真的看了很舒服啊,我都想多寫幾篇文章了(炸

2011年7月29日 星期五

近日嘗試——rsync, ranger, xclip

最近都偷懶沒更新Orz…果然要學還是不容易的…

有些有說明的部份就直接貼網址了…
 小小工程師的生活雜記: rsync 參數設定及範例
rsync是在上學期上到scp時才注意到的,參數很多一時記不起來,所以就先放著…
是說我也因為一直沒有分出哪些才是我真正該備份的資料而一直沒做事Orz…

ranger - 概要 [Savannah]
Vim-like的檔案管理員(file manager),之前在打造自己的Vim時有看到VimExplorer這個script,但和編輯器混在一起不是很喜歡,所以只有在心中掛念這樣事,最近心血來潮才去找的…

和nautilus(Gnome系統預設的file manager)比:
其實nautilus已經夠符合日常所用(要求還真低…),只是一直對幾點很不滿意:
  1. 自動補齊功能很糟:今天不想用滑鼠點而想手動輸入路徑,因此按下^l跳到位址欄,當輸入/me時natilus自動補齊成/media/,嗯這很好,但是…為何要把補齊的dia/反白啊啊啊(翻桌),既然沒有支援emacs-like的^e(跳到行尾)那每自動補齊一次我不就要按一次end嗎?(重點是很遠!)
  2. 搜尋功能很糟:在同一資料夾下只雖然支援隨打即找(好像是gnome系列(還是該說以gtk寫的)的都是一樣),但是只能從開頭開始找Orz(我知道有find但沒快捷鍵可用)
而ranger身為命令列的檔案管理員在這兩方面都還蠻令我滿意的

xclip(1): CLI to X selections - Linux man page
介紹這個是順便為了解決我自己的問題的,簡單來說ranger沒有提供複製檔案路徑的function…xclip是款讓cmd和xmod下的剪貼簿互動的軟體,安裝後可在ranger下輸入
:shell echo %d/%f |  xclip -selection clipboard

就可將檔案路徑複製到剪貼簿中了。

























2011年5月13日 星期五

11.04 個人修正

打算慢慢補齊
一、移除Banshee播放器的音樂整合並加上quodlibet的音樂整合
參考
Remove Banshee from Sound Menu - Ubuntu Forums
Soundmenu integration in Ubuntu - audio library tagger, manager, and player for GTK+ - quodlibet
二、quicklist(待補)

2011年5月2日 星期一

Ubuntu desktop

放一些有關Ubuntu desktop的相關設定

Ubuntu的預設資料夾位置:
vim~/.config/user-dirs.dirs
其他nautilus設定:
gconf-editor

2011年4月10日 星期日

lvm2

還是跳坑了(嘆,雖然不大清楚真正的優劣…
總之先列一下現在能查到的資料,日後有時間再自己產出一篇…
第八章、 Linux 磁碟與檔案系統管理 鳥哥的 Linux 私房菜 -- Linux 磁碟與檔案系統管理 基本的硬碟管理
第十五章、磁碟配額 (Quota) 與進階檔案系統管理 鳥哥的 Linux 私房菜 -- Quota, Software RAID, LVM, iSCSI 提到有關換新硬碟的問題
Maxsolar's Linux Blog: LVM2學習筆記 提到有關重灌系統的問題

2011年3月18日 星期五

data abstraction

data abstraction(資料抽象化):這個名詞我第一次是在資料庫系統(database management system)中看到的,但那時不是很清楚,因為他定義的方式是「讓使用者看不到資料是如何被儲存的」就能使用該資料,但是程式語言中也提到data abstraction讓programming language讓程式語言有著很大的進步,那時就在卡住了有點想不通,所以就去查了:
data abstraction的確是為了讓隱藏資料的實際實作,使programer能更專注於資料本身,真要說的話「物件」的觀念就是data abstraction的一種,我們不考慮這個物件他用了多少的基礎型別而組合而成這個特定的type,我們只要知道有這個型別,存放的東西有什麼特性即可;即使以非物件導向的觀點來看,基礎型別就是一種data abstraction的概念,不需要考慮整數是怎麼存在記憶體中的(這部份python做更好,python沒有所謂的int是用32-bit儲存的概念,不管多大他都會幫你處理…(因為python的直譯器多是以C實作,所以其實是python會自動幫你做大數法則,不過在使用時不用管這個…)),在使用時可以專心處理整數的問題即可,而不用去管實際上是動到了哪個bit
資料庫也是這樣的,除了剛才所說的「不用讓使用者看到資料是怎麼儲存的」之外,DB的entity和relational的概念也是這種狀況,我只要知道他是代表「系所」即可……
結論:其實資料庫的書一開始就沒有說錯,只是因為自己腦袋一時轉不過來而已……

編譯opencv及後續修正

版本OpenCV-2.2.0、OS Ubuntu 10.10、目前支持的python版本為2.6
預裝:參考OpenCV Installation Guide on Debian and Ubuntu
指令:
在要產生cmake二進位檔的地方,輸入
cmake -D CMAKE_BUILD_TYPE=RELEASE 
      -D CMAKE_INSTALL_PREFIX=/usr/local 
      -D BUILD_PYTHON_SUPPORT=ON 
      -D BUILD_EXAMPLES=ON 
      -D BUILD_LATEX_DOCS=OFF  
      ~/OpenCV-2.2.0/
※排成這樣只是在blog中好看點…實際上一行也是可以的。
各個 -D就是opencv的參數
心得一:cmake是拿來自動產生Makefile的,而Makefile是被系統的make所使用的。
問題一:opencv-2.2.0的BUILD_LATEX_DOCS會因不明原因失敗,因此設定為OFF

接著使用
make

sudo make install
心得二:make沒那麼難,在沒加參數又有Makefile的情況下,預設使用第一個出現target。而網站所寫的make install則是指定install這個參數。也因此用make才會做兩次,因為第一次所用預設的第一個target沒有做install的動作
問題二:雖然BUILD_PYTHON_SUPPORT=ON了,但是在python2.6/site-packages/找不到cv.so。
因此參考這篇:Installing OpenCV 2.1 in Ubuntu 中某讀者的回應,安裝python-dev後就能在/usr/local/lib/python2.6/site-packages/找到cv.so了,也可以順利開啟interface了

題外:第一次成功編成別人的make…

2011年3月14日 星期一

Ubuntu下連接到Windows網路磁碟機

備份用文章,為了怕自己忘記…

案例 :若使用者想連接到\\a.b.c.d\XX2011,其user name 為student,密碼……本題沒差
則:
圖一、「位置」→「連接到伺服器」

 圖二、照上圖輸入,記得加入書籤以後才不用麻煩
 圖三、輸入密碼即可連入…XX應該是XX2011才對,圖沒改好
 
題外:我還是不大會用GIMP…

2011年3月3日 星期四

syntax highlight test


import sys
print ('Welcome to the Number Guess Game!')
upper = 10
lower = 1
if type(sys.argv) != list or len(sys.argv) > 2 :
    print('Usage: guessNum [number between ' + lower + 'to' + upper + ']') )
    exit()
#target = input('Please enter the target number:')
target = int ( sys.argv[1])
if target > upper or target < lower:
    print('Error: out of range')
    exit()
guess = 0

while target != guess :
    guess=int(input('Please enter a number between' + str(lower) + 'and' + 
              str(upper) + ': '))
    if target > upper or target < lower:
        print('Error: out of range')
        exit()
    if guess < target:
        lower = guess + 1
    else:
        upper = guess - 1

print('Bingo!')



--
記念第一支python程式,因為作系系統實驗而開始接觸的python……

看起來還不錯(我不喜歡白底的syntax highlighter…),但是因為我還不大熟pygments的關係(也不大熟CSS和blogger Orz),目前只能手動去改標籤,應該可以花個幾個寫個程式讓他變成我想要的就是了……

話說本來想要把blog的本文寬度調成正好顯示79個字元,不過看來很難(而且也不好看)就算了XD~