這裡紀錄一下新學會的Vim Command
1. Vim diff裡尋找上一個與下一個差異
]c 與 [c
2013年1月22日 星期二
2013年1月9日 星期三
讓一般user使用/dev/ttyUSB0
一開始我認為只要把user加入dialout的group就好了, 結果還是遇到permission denied的問題
還好找到了以下的solution
$ sudoedit /etc/udev/rules.d/50-ttyusb.rules
貼上
KERNEL=="ttyUSB[0-9]*",NAME="tts/USB%n",SYMLINK+="%k",GROUP="uucp",MODE="0666"K+="%k",GROUP="uucp",MODE="0666"
參考資料:
How do I allow a non-default user to use serial device ttyUSB0?
還好找到了以下的solution
$ sudoedit /etc/udev/rules.d/50-ttyusb.rules
貼上
KERNEL=="ttyUSB[0-9]*",NAME="tts/USB%n",SYMLINK+="%k",GROUP="uucp",MODE="0666"K+="%k",GROUP="uucp",MODE="0666"
參考資料:
How do I allow a non-default user to use serial device ttyUSB0?
2013年1月8日 星期二
用tcpip來進行android debug
1. 先確認工作站與device在同一個網域內
假設工作站ip為192.168.0.1
device的ip為192.168.0.2
2. 連接device
$ adb connect 192.168.0.2
確認是否正確連接
$ adb devices
List of devices attached
192.168.0.2:5555 device
3. 打開device上的gdbserver
# gdbserver :5039 /system/bin/myProgram
或者是用attach的方法
# gdbserver :5039 --attach myProgramPid
4. 將adb port forwarding 打開,這是要將工作站端的port forward到device 的port
$ adb forward tcp:5039 tcp:5039
5. 打開gdb
$ gdbclient myProgram
註:
gdbclient是envsetup.sh裡的function
所以要先作
$ . build/envsetup.sh
$ lunch
後才能使用
參考資料:
http://www.kandroid.org/online-pdk/guide/debugging_gdb.html
假設工作站ip為192.168.0.1
device的ip為192.168.0.2
2. 連接device
$ adb connect 192.168.0.2
確認是否正確連接
$ adb devices
List of devices attached
192.168.0.2:5555 device
3. 打開device上的gdbserver
# gdbserver :5039 /system/bin/myProgram
或者是用attach的方法
# gdbserver :5039 --attach myProgramPid
4. 將adb port forwarding 打開,這是要將工作站端的port forward到device 的port
$ adb forward tcp:5039 tcp:5039
5. 打開gdb
$ gdbclient myProgram
註:
gdbclient是envsetup.sh裡的function
所以要先作
$ . build/envsetup.sh
$ lunch
後才能使用
參考資料:
http://www.kandroid.org/online-pdk/guide/debugging_gdb.html
2013年1月7日 星期一
加一個remote到android repo
我想要在工作站和本端電腦都建立一個repo,這樣一來就可以在任何地方都可以進行編輯
以圖示來說就是
A(官方repo) <- B(工作站)<=>C(本端)
依照http://www.androidenea.com/2010/06/using-localmanifestxml-file-in-repo-to.html裡的說法我應該可以利用local_manifest.xml達到這個目的,然而我卻沒辦法成功的config出來
於是我就想到了一個方法
我何不再每個git下面建立個別的remote然後利用repo的forall來幫我把所有的git都建好正確的remote對應
因此我寫了下面的小script
/bin/add_remote.sh.html
把script取名為/bin/add_remote.sh
然後我再用以下的command就可以將remote設好了YA
$ repo forall -c add_remote.sh workstation_repo ssh://user@worksation localrepo remoterepo
以圖示來說就是
A(官方repo) <- B(工作站)<=>C(本端)
依照http://www.androidenea.com/2010/06/using-localmanifestxml-file-in-repo-to.html裡的說法我應該可以利用local_manifest.xml達到這個目的,然而我卻沒辦法成功的config出來
於是我就想到了一個方法
我何不再每個git下面建立個別的remote然後利用repo的forall來幫我把所有的git都建好正確的remote對應
因此我寫了下面的小script
1 #!/bin/bash 2 REMOTE_NAME=$1 3 URL=$2 4 LOCAL_REPO_BASE=$3 5 REMOTE_REPO_BASE=$4 6 CWD=`pwd` 7 CWD=${CWD/$LOCAL_REPO_BASE/$REMOTE_REPO_BASE} 8 git remote add $REMOTE_NAME $URL$CWD 9 echo "git remote add $REMOTE_NAME $URL$CWD"-->
把script取名為/bin/add_remote.sh
然後我再用以下的command就可以將remote設好了YA
$ repo forall -c add_remote.sh workstation_repo ssh://user@worksation localrepo remoterepo
2013年1月3日 星期四
常用git commands
顯示remote branch的內容
$ git remote -v show <REMOTE>
pull remote branch
$ git checkoutout --track REMOTE/BRANCH
顯示往前幾個的log
ex. $ git show HEAD~1
ex. $ git show CHANGE~COUNT
顯示remote branch
$ git branch -r
visually顯示log
$ git log --graph --oneline --all --decorate
產生一個branch
$ git branch NAME CHANGELIST
設定git config
$ git config --global alias.lga "log --graph --oneline --all --decorate"
繼續rebase merge
$ git rebase --continue
2013年1月2日 星期三
將ssh identity key自動加入
如果要讓ssh把rsa的key當作identity使用
必須
$ ssh-add .ssh/gitHubKey
但是這樣一來每次登入都必需要作一次
另外的方法就是把下列放入.ssh/config裡面
IdentityFile ~/.ssh/gitHubKey
參考資料:
http://stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubuntu
必須
$ ssh-add .ssh/gitHubKey
但是這樣一來每次登入都必需要作一次
另外的方法就是把下列放入.ssh/config裡面
IdentityFile ~/.ssh/gitHubKey
參考資料:
http://stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubuntu
訂閱:
文章 (Atom)