2010年11月1日 星期一

Hide Opera system tray icon with Opera 10.63

過去都是使用
opera -notrayicon
來隱藏 Opera 的圖示,現在已經沒有這個 argument,改成直接在 opera:config 裡面設定



取消勾選 Show Tray Icon 就行了。

2010年10月28日 星期四

在 linux 下的 UTF-8 termial 使用 telnet 連上中文 bbs 與 mud

目前是使用 PCMan X 上 bbs,在巴哈洽特上看到有人推廣 doommud,連過去卻無法輸入任何字元,在 termial 裡使用 telnet 連上去則是中文全變亂碼,google 了一下才發現解法,只要使用 luit 就行了


luit -encoding big5 telnet doommud.twbbs.org 4000


在 Xfce Terminal Emulator 和 rxvt-unicode 測試過,拿來上 bbs 也行,只是不在 big5 範圍內的文字會無法顯示,一些 ascii art 也會跑掉,單純看文章應該是夠用的,但是只能在 X window 下的 terminal emulator 使用,一般的 terminal 大概要使用 zhcon 才能正常顯示? (沒試過)

參考:
[Tips]解決utf8環境下,telnet bbs亂碼
Luit -- locale and ISO 2022 support for Unicode terminals

2010年9月30日 星期四

利用 shell script 一次同步多個目錄

買了顆日立 1T 硬碟搭配 CyberSLIM S1 來備份資料,雖然只能使用 USB 傳輸,但總比再弄張 sata 轉接卡接硬碟來的方便。

平常電源都是關閉,只有要傳資料時才會開啟,但每次都要 sudo mount ,接著在不同目錄內找新資料傳過去,實在很麻煩,這時想到可以利用 rsync 來同步資料夾,不用自己比對,想說這麼簡單的東西不必再用 Python ,練習寫個 shell script 就行了,沒想到也是卡了快一天...Orz

作法是在 /etc/fstab 內先將硬碟設定為一般使用者可以 mount ( pass 要設為 0 ,不然一開機就會檢查,然後卡住... )
# get UUID
blkid

# In /etc/fstab, set user, noauto
/dev/disk/by-uuid/a123-456a-789d-abcd /mnt/HDD ext4 rw,user,noauto,suid,dev,exec,async 0 0

sync.sh:

#!/bin/bash
# Description:
# sync multiple folders to external Hard disk

MOUNT_POINT=/mnt/HDD

### array in shell script
SOURCE_DIR=(
/mnt/SOURCE_1/
/mnt/SOURCE_2/
/mnt/SOURCE_3/
)

DEST_DIR=(
/mnt/DEST_1
/mnt/DEST_2
/mnt/DEST_3
)

# check if Hard disk mounted or not
if [[ -z `mount | grep "$MOUNT_POINT"` ]]
then
mount $MOUNT_POINT
echo "mount $MOUNT_POINT "
else
echo "$MOUNT_POINT already mounted !!"
fi

echo

# if unable to mount external Hard disk , stop the script and leave
if [[ -z `mount | grep "$MOUNT_POINT"`]]
then
echo "***** Unable to mount $MOUNT_POINT *****"
exit 1
fi

### seq : like range() in python
### ${#SOURCE_DIR[*]} : total element number in $SOURCE_DIR

# use for loop to sync multiple directories, counter start from 0
for counter in `seq 0 $(( ${#SOURCE_DIR[*]} - 1 ))`
do
echo "*********************************************"
echo "Source:" ${SOURCE_DIR[$counter]}
echo "Dest: " ${DEST_DIR[$counter]}
echo "*********************************************"
echo
rsync -av --exclude="*.sh" ${SOURCE_DIR[$counter]} \
${DEST_DIR[$counter]}
echo
done

exit 0;
裡面大部份程式碼都是從網路上的範例 copy 過來,應該還有更好的寫法,但可以正常運作就足夠了。

令我驚訝的是 shell script 內也有 for ... in ... ( 不好意思,我什麼都不知道 ),命令串接也很好用;但變數存取、運算和陣列相關的操作讓我很想用 python ;一些簡單的東西用 shell script 寫起來應該會很方便,只是目前還不熟...

2010年7月18日 星期日

944 Happy Numbers

範圍 1 ~ 99999
( 9^2 ) * 5 = 405
1 ~ 405 共有 67 個 Happy Number

最後卡 WA 的原因是
Print a blank line between two consecutive test cases.

between 而非 after each case ...Orz

2010年7月10日 星期六

mount DVD and windows share folder with chinese characters

在 Windows 下有燒錄一些光碟,裡面資料包含了中文檔名,換用 Linux 讀取時發現全部變成問號,網路上搜尋後發現要在 /etc/fstab 內設定 iocharset=utf8 就能正常顯示中文

/dev/dvd /media/dvd auto ro,user,noauto,unhide,iocharset=utf8 0 0


家中有台 windows 開分享資料夾,要丟資料到那台列印前,先使用

smbclient -L //WINDOWS_SERVER_NAME_OR_IP -U username

輸入正確密碼後,就會列出該台電腦上有分享的服務,確認要連線的分享資料夾後

sudo mount -t cifs -o iocharset=utf8,username=USER_NAME //WINDOWS_SERVER_NAME_OR_IP/SHARE_FOLDER /mnt/SHARE_FOLDER

一樣驗證密碼後就能使用分享資料夾。

在測試的時候才發現不輸入帳號密碼也可以看到 XP 上面的所有磁碟分割和服務,嚇了一跳,趕快把 guest 的帳號停用,另外建帳號作分享之用;查了一下,XP 預設會共用所有磁碟分割 (連線還是要輸入帳號密碼) , 雖然只要管理者有設密碼,就不會隨便被連進去,遠端管理也很方便,但還是覺得不太安心,如果要隱藏共用磁碟的話,可以參考下方第四個連結。

Reference:
如何讓ubuntu顯示ms燒入光碟的文字
[分享] 在 ubuntu 下使用 big5 編碼的光碟片的注意事項

Mount a Windows Shared Folder on Linux with Samba
如何防止 Windows NT Server 4.0 的系統管理共用的建立