ssh auto login

ssh 免密碼登入

使用 putty 完整包 http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

1. PUTTYGEN.EXE Generate Key


public@MyServer:~$ mkdir .ssh
public@MyServer:~$ cd .ssh
public@MyServer:~/.ssh$ vim authorized_keys
public@MyServer:~/.ssh$ chmod 600 authorized_keys


2. Putty Configuration Session Auto-login username
建立一個 Putty Session,並設定 Auto-login username


3. PAGEANT.EXE add Key
建立 PAGEANT.EXE 捷徑,並把 Key 加入參數


之後就可執行 PAGEANT.EXE 捷徑,然後使用 PAGEANT 來登入。

參考:ssh 免密碼

在 Ubuntu USB 開機隨身碟加入再生龍 Clonezilla

Add Clonezilla to Ubuntu USB startup disk

1. 製作一個 Ubuntu USB 開機隨身碟。
http://www.pendrivelinux.com/creating-an-ubuntu-live-usb-from-cd/

2. 下載 Clonezilla zip 檔
http://clonezilla.nchc.org.tw/clonezilla-live/download/sourceforge/

3. 建立 /cloneusb/686/ 目錄,將 Clonezilla zip 解開到裡面,
注意 live/ 目錄要存在 /cloneusb/686/live/ 這個位置。

4. 編輯 /syslinux/txt.cfg, 加入以下內容

#-----------------------------------------------------------
label clonezilla-live-1.2.9-19-i686-pae
MENU LABEL clonezilla-live-1.2.9-19-i686-pae (To RAM)
kernel /cloneusb/686/live/vmlinuz
append initrd=/cloneusb/686/live/initrd.img boot=live config noswap nolocales edd=on live-media-path=/cloneusb/686/live/ nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="zh_TW.UTF-8" vga=788 toram=filesystem.squashfs ip=frommedia nosplash
#-----------------------------------------------------------

5. 完成,在 USB 開機時任按一鍵啟動選單。

=================================================================================
放到已安裝好 Ubuntu 的硬碟中執行也可以
Add clonezilla to grub menu

1. 安裝一份 Ubuntu

2. 下載 Clonezilla zip 檔

3. 建立 /clonehd/686/ 目錄,將 Clonezilla zip 解開到裡面,

4. 編輯 /etc/grub.d/40_custom, 加入以下內容

#-----------------------------------------------------------
menuentry "clonezilla-live-1.2.9-19-i686 (To RAM)" {
search --set -f /clonehd/686/live/vmlinuz
linux /clonehd/686/live/vmlinuz boot=live config noswap nolocales edd=on live-media-path=/clonehd/686/live/ nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch="no" ocs_lang="zh_TW.UTF-8" vga=788 toram=filesystem.squashfs ip=frommedia nosplash
initrd /clonehd/686/live/initrd.img
}
#-----------------------------------------------------------

5. 然後作 sudo update-grub 完成,在開機時由選單啟動。

Windows 7 Firefox ClearType rendering mode

一直覺得 Windows 7 下 ClearType 再怎麼調,Firefox 的字都糊糊的,
找了很久,終於看到 Firefox 6.0 有我想要的解法。

以下測試為先用 Windows 7 控制台調整好 ClearType
(控制台\所有控制台項目\顯示\調整 ClearType 文字)

然後在 Firefox about:config 篩選條件:cleartype

然後只改 rendering_mode 的值
gfx.font_rendering.cleartype_params.rendering_mode

0 = Default, 1 = Aliased, 2 = GDI Classic, 3 = GDI Natural,
4 = Natural, 5 = Natural Symmetric

個人覺得 2 或 3 最好看, Y方向的像素不會糊。



rendering_mode = 0



rendering_mode = 1



Silicon-Power 廣穎電通 Blaze B10 16G USB3.0 速度測試

Silicon-Power 廣穎電通 Blaze B10 16G USB3.0 烈燄碟

先說明這是抱怨文
跟人團購買了這一支 USB3.0 的隨身碟,而且之前有看同事用過。
買回當然要先測一下速度,插入電腦,看一下磁碟機內容,
(圖是裝了東西後才抓的,但總容量不變)

疑!容量不太對,仔細算一下,這是一支 16G 的隨身碟所以

16,000,000,000 / (1024*1024*1024) = 14.9G 而不是 14.4G

整整少了 500M,這也偷太多了吧,再看一下同事之前買的為什麼他的就是 15.4G,
前後差了 1G。

同一批共買了3支,結果每支的大小居然可以不一樣,甚至還更少的 XD


寄了下封信給廣穎電通以及打電話到客服尋問結果, 得到以下說明:

--------------------------------------------------------------
在8/1號前後出貨的為不同的產品, 新的產品有挪用部份空間來做
隨身碟保護動作, 以期能延長壽命, 所以看到的會比理論值14.88GB
再少一些。
如果無法接受, 可以為我們進入消費者訴訟。
--------------------------------------------------------------

對,如果以後 flash 的壽命更差,所以決定拿一半的空間來作保護,
那買了標示為 16G 的隨身碟但只能用 8G 那也是正常的。 凸

螢幕亮度設定程式 BrightControl

    看影片時候要把螢幕調到最亮,可是瀏覽網頁這種亮度又太刺眼,如果你經常要配合不同的應用調整螢幕亮度,而你的螢幕又不是EIZO的話,那這個程式可以幫你做到單鍵調整螢幕亮度,省去按螢幕OSD調整亮度的麻煩。

   

下載: MFC Static Library 版本 BrightControl.zip 
3231542282B33385960CB6B95F6A0056 

Share Library 版本 BrightControl0.32.zip  
E9A45AC37C028403D23748F0D63DAAE6 

如果你要自己寫一個的話,以下是參考資料及程式片段,我是用VS2008兜出來的。 
SetMonitorBrightness Dxva2.lib // Minimum supported client Windows Vista 
它應該是用 DDC 來控制螢幕的,不過這些 API 只有在 Vista 以上提供,我自己是在Windows7上使用。 

#include<HighLevelMonitorConfigurationAPI.h>

int CMonConfDlg::SetMonitorBright(HWND hWnd , DWORD cBrightness)
{
HMONITOR hMonitor = NULL;
DWORD cPhysicalMonitors;
DWORD minb=0;
DWORD curb=0;
DWORD maxb=0;
LPPHYSICAL_MONITOR pPhysicalMonitors = NULL;
// Get the monitor handle.
hMonitor = MonitorFromWindow(hWnd, MONITOR_DEFAULTTOPRIMARY);

// Get the number of physical monitors.
BOOL bSuccess = GetNumberOfPhysicalMonitorsFromHMONITOR(
hMonitor, &cPhysicalMonitors);

if (bSuccess)
{
// Allocate the array of PHYSICAL_MONITOR structures.
pPhysicalMonitors = (LPPHYSICAL_MONITOR)malloc(
cPhysicalMonitors* sizeof(PHYSICAL_MONITOR));
if (pPhysicalMonitors != NULL)
{
// Get the array.
bSuccess = GetPhysicalMonitorsFromHMONITOR(hMonitor, cPhysicalMonitors, pPhysicalMonitors);

int n = 0;
do {
bSuccess = GetMonitorBrightness(pPhysicalMonitors->hPhysicalMonitor , &minb, &curb, &maxb);
if( !bSuccess ) {
dbg_printf("GetMonitorBrightness, n = %d, bSuccess = %d\r\r\n", n, bSuccess);
        GetErrorMessage(TEXT("GetMonitorBrightness"));
Sleep(RETRY_SLEEP);
}
n++;
} while( !bSuccess && n < MAX_RETRY);

if( bSuccess ) {
if( curb != cBrightness && minb <= cBrightness && cBrightness <= maxb ) {
int n = 0;
do {
bSuccess = SetMonitorBrightness(pPhysicalMonitors->hPhysicalMonitor , cBrightness);
if( !bSuccess ) {
dbg_printf("SetMonitorBrightness, n = %d, bSuccess = %d\r\r\n", n, bSuccess);
        GetErrorMessage(TEXT("SetMonitorBrightness"));
Sleep(RETRY_SLEEP);
}
n++;
} while( !bSuccess && n < MAX_RETRY);
dbg_printf("SetMonitorBrightness(%d), bSuccess = %d\r\r\n",cBrightness, bSuccess);
}
}

// Close the monitor handles.
        bSuccess = DestroyPhysicalMonitors( cPhysicalMonitors, pPhysicalMonitors);
// Free the array.
free(pPhysicalMonitors);
}
}
return curb;
}