如何新增硬碟 ?
在 Windows/Linux 底下,新增硬碟是一件很常見的工作,一般來說,新增硬碟的流程如下:
1. fdisk 建立硬碟分割
2. 格式化
3. 掛載
4. 確保下次重新開機後能再度使用此硬碟
今天我們以另一隻隨身碟來作為新增硬碟的例子,未來各位可以自行參考安裝新的硬碟。
[判別新的硬碟]
請執行 dmesg 看最後幾行,如以下所示:
irectory
[ 9.426781] NFSD: starting 90-second grace period
[ 19.698735] apm: BIOS not found.
[ 19.763297] sshd (1261): /proc/1261/oom_adj is deprecated, please use /proc/1261/oom_score_adj instead.
[ 19.968007] eth0: no IPv6 routers present
接著請插上隨身碟,等待五秒,再執行 dmesg,並觀察其結果,如以下所示:
[ 19.968007] eth0: no IPv6 routers present
[168958.284096] usb 1-5: new high speed USB device using ehci_hcd and address 2
[168958.418552] usb 1-5: New USB device found, idVendor=058f, idProduct=6387
[168958.418557] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[168958.418560] usb 1-5: Product: Mass Storage Device
[168958.418563] usb 1-5: Manufacturer: JetFlash
[168958.418565] usb 1-5: SerialNumber: LRSLABPD
[168958.453634] Initializing USB Mass Storage driver...
[168958.453731] scsi2 : usb-storage 1-5:1.0
[168958.453815] usbcore: registered new interface driver usb-storage
[168958.453817] USB Mass Storage support registered.
[168959.452829] scsi 2:0:0:0: Direct-Access JetFlash Transcend 16GB 8.07 PQ: 0 ANSI: 2
[168959.453276] sd 2:0:0:0: Attached scsi generic sg2 type 0
[168959.456217] sd 2:0:0:0: [sdb] 31375360 512-byte logical blocks: (16.0 GB/14.9 GiB)
[168959.456680] sd 2:0:0:0: [sdb] Write Protect is off
[168959.456683] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
[168959.457555] sd 2:0:0:0: [sdb] No Caching mode page present
[168959.457559] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[168959.460105] sd 2:0:0:0: [sdb] No Caching mode page present
[168959.460110] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[168959.910567] sdb: unknown partition table
[168959.913678] sd 2:0:0:0: [sdb] No Caching mode page present
[168959.913682] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[168959.913684] sd 2:0:0:0: [sdb] Attached SCSI removable disk
從以上訊息,我們可以得知新增加的隨身碟為 /dev/sdb,接著我們可以針對 /dev/sdb 來進行以下操作:分割、格式化、掛載。
** 警告 ** fdisk 殺傷力很大,如果你原先電腦中有內建硬碟,請勿誤用 fdisk,否則一失足成千古恨!!
[(用 root 權限)使用 fdisk 來進行硬碟分割]
fdisk /dev/sdb
--------------------------------------------------------------------------------
Command (m for help):m -> 呼叫 help 畫面,顯示可用之命令
Command action
a toggle a bootable flag -> 設定割區是否可開機(一顆硬碟只能有一個分割區有此旗標)
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition -> 刪除分割區
l list known partition types -> 顯示分割區型別
m print this menu -> 呼叫此畫面
n add a new partition -> 增加新分割區
o create a new empty DOS partition table
p print the partition table -> 列印(顯示)分割區表
q quit without saving changes -> 跳出而且不存檔
s create a new empty Sun disklabel
t change a partition's system id -> 修改分割區 id
u change display/entry units
v verify the partition table
w write table to disk and exit -> 跳出而且存檔
x extra functionality (experts only) -> 專家指令,不熟不要用
--------------------------------------------------------------------------------
Command (m for help):p -> 列印(顯示)分割區表
Disk /dev/sdb: 16.1 GB, 16064184320 bytes
64 heads, 32 sectors/track, 15320 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xea79e48d
Device Boot Start End Blocks Id System
上面畫面告訴我們此硬碟有 16 GB,目前沒有任何分割區
--------------------------------------------------------------------------------
Command (m for help): p
Disk /dev/sdb: 1004 MB, 1004535808 bytes
256 heads, 63 sectors/track, 121 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 122 979968 c W95 FAT32 (LBA)
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(1023, 255, 63) logical=(0, 32, 33)
Partition 1 has different physical/logical endings:
phys=(1023, 255, 63) logical=(121, 166, 38)
上面畫面告訴我們此硬碟有 1004 MB,目前有 /dev/sdb1 分割區,其型別為 W95 FAT32 (LBA)
--------------------------------------------------------------------------------
Command (m for help): d
Selected partition 1
由於我們只有一個分割區,因此按 d 指令會自動將此分割區砍掉,請注意,此時還有挽回的餘地,只要按 q 跳出即不會對硬碟造成任何傷害。
--------------------------------------------------------------------------------
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-15320, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-15320, default 15320):
Using default value 15320
新增一個主要(primary)分割區,其起始磁柱為 1,結束磁柱為 15320,如果你的隨身碟容量較少,其數字也較小,作完結果如下:
Command (m for help): p
Disk /dev/sdb: 16.1 GB, 16064184320 bytes
64 heads, 32 sectors/track, 15320 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfc46e2f6
Device Boot Start End Blocks Id System
/dev/sdb1 1 15320 15687664 83 Linux
--------------------------------------------------------------------------------
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
執行完 w 指令就將我們所分割的隨身碟儲存起來,w 指令的破壞力相當強大,一但執行完 w 指令,裡面原始之資料就跟你說 bye bye。
[(用 root 權限)使用 mkfs.ext4 來進行硬碟格式化]
剛剛作完的流程會讓我們產生一新分割區叫 /dev/sdb1,接下來是針對此分割區進行格式化,請執行:
mkfs.ext4 /dev/sdb1
^ -> 千萬別打錯字母!!!!!!!!!!!!!!!!!!!
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
981120 inodes, 3921916 blocks
196095 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4018143232
120 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Writing inode tables: 81/120
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
作完指令後,你的隨身碟已經完成格式化了。
[(用 root 權限)使用 mount 來進行分割區掛載]
先以 df -h 來觀看目前掛載之硬碟及掛載點:
檔案系統 Size Used Avail Use% 掛載點
/dev/sda1 37G 2.6G 33G 8% /
tmpfs 1.5G 4.0K 1.5G 1% /lib/init/rw
udev 1.5G 196K 1.5G 1% /dev
tmpfs 1.5G 0 1.5G 0% /dev/shm
/dev/sda5 74G 53G 17G 77% /home
/dev/sda2 138G 92G 40G 71% /opt
/dev/sda3 28G 5.8G 21G 22% /usr
接著請執行
mount /dev/sdb1 /mnt
將 /dev/sdb1 分割區掛載至 /mnt 目錄下,接著可再執行 df -h 來確認,其結果如下。
檔案系統 Size Used Avail Use% 掛載點
/dev/sda1 37G 2.6G 33G 8% /
tmpfs 1.5G 4.0K 1.5G 1% /lib/init/rw
udev 1.5G 196K 1.5G 1% /dev
tmpfs 1.5G 0 1.5G 0% /dev/shm
/dev/sda5 74G 53G 17G 77% /home
/dev/sda2 138G 92G 40G 71% /opt
/dev/sda3 28G 5.8G 21G 22% /usr
/dev/sdb1 15G 166M 14G 2% /mnt
--------------------------------------------------------------------------------
在隨身碟上建立空的測試檔,請執行:
dd if=/dev/zero of=/mnt/test bs=1M count=20
輸入自 /dev/zero 輸出至 /mnt/test blocksize=1MB 20 區塊
上述指令可以在 /mnt 中產生一個 test 檔,其大小為 20 MB
--------------------------------------------------------------------------------
請執行 umount /mnt 將 /mnt 目錄解除掛載
--------------------------------------------------------------------------------
確保下次重新開機後能再度使用此硬碟
硬碟的掛載表在 /etc/fstab,如果我們希望在下次開機時能自動掛載,請在 /etc/fstab
中加入:
/dev/sdb1 /mnt ext4 defaults 1 2
加入後可以執行
mount -a 來測試是否會自動掛載
mount -a 是針對 /etc/fstab 中之設定來掛載相對應的裝置至相對應的目錄!!
但是 /etc/fstab 加入
/dev/sdb1 /mnt ext4 defaults 1 2
此方式有何缺點 ?
1. 若隨身碟自動辨識為 /dev/sdc1 的話,那下次開機認不到
/dev/sdb1 -> 隨身碟
/dev/sdb1 -> SATA 硬碟
/dev/sdb1 -> SCSI 硬碟
在新版 Linux 中,為了防止認錯人,因此使用 block id 的技術,要知道隨身碟的
block id,請執行:
blkid /dev/sdb1
/dev/sdb1: UUID="e6614b38-6d88-4b87-b8f4-35fad9d4611f" TYPE="ext4"
上述 UUID=.. 即為此隨身碟的 block id。
***
== 掛載 windows 隨身碟 ==
當我們執行
fdisk -lu /dev/sdb
得到以下訊息時:
root@pc-29:/home/herman# fdisk -lu /dev/sdb
Disk /dev/sdb: 4009 MB, 4009754624 bytes
23 heads, 23 sectors/track, 14804 cylinders, total 7831552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3072e18
Device Boot Start End Blocks Id System
/dev/sdb1 8064 7831551 3911744 c W95 FAT32 (LBA)
我們可以推論 /dev/sdb 硬碟有 4009 MB 大小,其分割區為 /dev/sdb1,其分割區以 W95 FAT32 (LAB) 之格式來格式化。這代表此隨身碟是以 Windows 分割/格式化的。要掛載此隨身之指令為:
# mount -o iocharset=big5 /dev/sdb1 /mnt
執行完我們可以使用 df -h 來驗證此隨身碟是否已掛載,其中 -o iocharset=big5 是指掛載參數設定為 big5 中文檔名。如果我們的檔案以中文檔名存檔,但是掛載時沒有加此 -o 參數,則掛載完後之檔名會變成亂碼。
解除掛載請先離開 /mnt 目錄,再執行:
# umount /dev/sdb1
或
# umount /mnt
即可。
** 一行指令清掉 partition table
假設我們要清掉 /dev/sdb 的 partition table,請執行以下指令即可:
# dd if=/dev/zero of=/dev/sdb bs=512 count=1 \Enter
請千萬注意別打成系統碟如 /dev/sda,否則只能重灌!!
== 還原隨身碟為 windows 格式 ==
1. 使用 fdisk 將 /dev/sdb1 改為 partition id 為 b (按 t 來修改)
2. mkdosfs /dev/sdb1 -> 將此分割區格式化
2011年6月30日 星期四
2011年6月23日 星期四
Linux 桌面常見的應用程式:
1. PDF 檔閱讀軟體
Debian 本身有內建 pdf 檔閱讀軟體,舊版 debian 的 pdf 閱讀軟體為 xpdf,新版(我們上課所教的版本) 是用 evince,請安裝 evince,再執行 evince abc.pdf 即可觀看 abc.pdf 檔內容。
另一個更為專業的 pdf 檔閱讀軟體是 adobe 本身所出的 Adobe Reader,目前 Linux 上的最新版本為 8.1.7,必須至 Adobe 網站下載並安裝才行,以下將介紹其步驟。
首先請至 Adobe 網站下載 Linux 最新版之 Reader,下載網頁為:
http://get.adobe.com/tw/reader/
請使用 firefox 下載,下載完之後會存放於 ~/Downloads 目錄,檔名為:
AdobeReader_cht-8.1.7-1.i386.deb
如何手動新增套件 ?
先前所討論之安裝流程均為 apt-get install 套件名稱,apt-get 會自動幫我們下載套件再安裝,現在我們已經下載 AdobeReader_cht-8.1.7-1.i386.deb 檔了,要如何安裝 ?
請以 root 權限執行
dpkg -i AdobeReader_cht-8.1.7-1.i386.deb
如此一來系統會幫我們安裝 Adobe Reader Linux 版,安裝完要執行 Adobe Reader,請執行:
acroread &
即可執行 Adobe Reader,我們可以自網路上下載 pdf 檔來測試此 Reader 是否安裝成功 ?
Q: 如何將 Adobe Reader 放在選單中 ?
/etc/X11/icewm/menu 加上以下這行:
prog "Adobe Reader" AdobeReader_16x16 acroread
Q2: 如何將 Keroro 的圖變成 Adobe Reader 的圖示 ?
a. 下載 Keroro 的圖,並以 gimp 編輯成 16x16 大小的圖,並將檔名存為 keroro.png。
b. 以 root 權限將 keroro.png 複製至 /usr/share/icons/icewm_icons/ 目錄
c. 將 /etc/X11/icewm/menu 中有關 Adobe Reader 的設定改為:
prog "Adobe Reader" keroro.png acroread
2. PDF 文件產生軟體
在 Linux 底下最容易產生 pdf 文件的檔案應該是 openoffice,openoffice 有很多功能,如文件編輯、繪圖、試算表、投影片 .. 等,均可以直接輸出為 pdf 格式。
2.1 如何從 pdf 文件截圖出來 ?
作法 1. 畫面截圖:
請開啟 gimp,然後選擇:檔案 -> 建立 -> Screenshot,再使用裁切工具將圖切割並複製 -> 貼上至 openoffice 即可將圖截出來。
作法 2. 直接讀入 pdf 檔:
檔案 -> 開啟 -> pdf 檔
開啟時 dpi 至少選 100 以上,500 以下即可(否則圖檔會過大),並選擇你要讀的頁碼。
再使用裁切工具將圖切割並複製 -> 貼上至 openoffice 即可將圖截出來。
3. 美工圖庫
在編輯文件時我們經常要使用一些圖庫,但是使用圖庫要十分小心,萬一誤踩地雷會被告,因此請使用 openclipart 的圖庫,其網址在:
http://www.openclipart.org/
可以搜尋並下載 .svg 檔,svg 格式是一種向量圖檔,可以無段縮放,詳細說明在:
http://zh.wikipedia.org/zh-tw/SVG
4. 編輯 svg 圖檔
假設你有特殊的美工天份,可以安裝 inkscape 來編輯 svg 圖檔,請執行:
apt-get install inkscape
再執行 inkscape 來編輯即可。
Debian 本身有內建 pdf 檔閱讀軟體,舊版 debian 的 pdf 閱讀軟體為 xpdf,新版(我們上課所教的版本) 是用 evince,請安裝 evince,再執行 evince abc.pdf 即可觀看 abc.pdf 檔內容。
另一個更為專業的 pdf 檔閱讀軟體是 adobe 本身所出的 Adobe Reader,目前 Linux 上的最新版本為 8.1.7,必須至 Adobe 網站下載並安裝才行,以下將介紹其步驟。
首先請至 Adobe 網站下載 Linux 最新版之 Reader,下載網頁為:
http://get.adobe.com/tw/reader/
請使用 firefox 下載,下載完之後會存放於 ~/Downloads 目錄,檔名為:
AdobeReader_cht-8.1.7-1.i386.deb
如何手動新增套件 ?
先前所討論之安裝流程均為 apt-get install 套件名稱,apt-get 會自動幫我們下載套件再安裝,現在我們已經下載 AdobeReader_cht-8.1.7-1.i386.deb 檔了,要如何安裝 ?
請以 root 權限執行
dpkg -i AdobeReader_cht-8.1.7-1.i386.deb
如此一來系統會幫我們安裝 Adobe Reader Linux 版,安裝完要執行 Adobe Reader,請執行:
acroread &
即可執行 Adobe Reader,我們可以自網路上下載 pdf 檔來測試此 Reader 是否安裝成功 ?
Q: 如何將 Adobe Reader 放在選單中 ?
/etc/X11/icewm/menu 加上以下這行:
prog "Adobe Reader" AdobeReader_16x16 acroread
Q2: 如何將 Keroro 的圖變成 Adobe Reader 的圖示 ?
a. 下載 Keroro 的圖,並以 gimp 編輯成 16x16 大小的圖,並將檔名存為 keroro.png。
b. 以 root 權限將 keroro.png 複製至 /usr/share/icons/icewm_icons/ 目錄
c. 將 /etc/X11/icewm/menu 中有關 Adobe Reader 的設定改為:
prog "Adobe Reader" keroro.png acroread
2. PDF 文件產生軟體
在 Linux 底下最容易產生 pdf 文件的檔案應該是 openoffice,openoffice 有很多功能,如文件編輯、繪圖、試算表、投影片 .. 等,均可以直接輸出為 pdf 格式。
2.1 如何從 pdf 文件截圖出來 ?
作法 1. 畫面截圖:
請開啟 gimp,然後選擇:檔案 -> 建立 -> Screenshot,再使用裁切工具將圖切割並複製 -> 貼上至 openoffice 即可將圖截出來。
作法 2. 直接讀入 pdf 檔:
檔案 -> 開啟 -> pdf 檔
開啟時 dpi 至少選 100 以上,500 以下即可(否則圖檔會過大),並選擇你要讀的頁碼。
再使用裁切工具將圖切割並複製 -> 貼上至 openoffice 即可將圖截出來。
3. 美工圖庫
在編輯文件時我們經常要使用一些圖庫,但是使用圖庫要十分小心,萬一誤踩地雷會被告,因此請使用 openclipart 的圖庫,其網址在:
http://www.openclipart.org/
可以搜尋並下載 .svg 檔,svg 格式是一種向量圖檔,可以無段縮放,詳細說明在:
http://zh.wikipedia.org/zh-tw/SVG
4. 編輯 svg 圖檔
假設你有特殊的美工天份,可以安裝 inkscape 來編輯 svg 圖檔,請執行:
apt-get install inkscape
再執行 inkscape 來編輯即可。
2011年6月16日 星期四
icewm 客製化
ICEWM 是一個輕量級 (Light Weighted) 的視窗管理程式,其官網在:http://www.icewm.org/,ICEWM 的優點:
1. 類似 Windows 視窗介面,學習上手較快
2. 反應速度相當快,即使是在較低速電腦或是在高負荷運算下均有相當快的反應速度。
3. 可針對個人需求進行客製化。
ICEWM 的缺點:
1. 設定時要撰寫設定檔,沒有比較好用的 GUI 設定程式。但是一旦設定好介面,可以快速複製介面至其它主機。
2. 設定檔有些語法要自己理解,才能進行設定
3. 畫面較陽春
4. 沒有桌面圖示
5. 國內用的人不多,有問題沒得問,要上網查答案。
為什麼要選擇 ICEWM 來作為視窗管理員 ?
1. 你執行電腦是看視窗管理員的特效還是希望電腦將所有的運算能力放在我們要的功能上 ? 例如畫 3D 或是作影像處理 ?
2. 桌面特效有些時候無法幫助我們的工作有效率,反而會降低效率。
今天主題:
1. 如何移植老師的桌面環境至你的電腦 ?
ICEWM 之設定目錄在 /etc/X11/icewm,主要設定檔有三:
要移植桌面環境過來,請先進入 root 權限,再切換至 /etc/X11/icewm 目錄,指令如下:
su \Enter
cd /etc/X11/icewm
切換過來後,先將舊的 icewm 設定檔備份至 orig 目錄,指令如下:
執行完上述步驟可以用 ls -l 及 ls -l orig 來進行驗證,看看 menu、preferences 以及toolbar 三個檔案是否都移至 orig 目錄
舊的設定檔備份完之後,可以開始複製新的設定檔,請執行以下三個指令(注意你的目錄還在 /etc/X11/icewm)
wget ftp://163.26.229.6/linux/icewm/preferences
wget ftp://163.26.229.6/linux/icewm/menu
wget ftp://163.26.229.6/linux/icewm/toolbar
複製完之後可以執行 ls -l 來看我們是否已經新設定檔複製過來。若確定已正確複製,我們可以在 icewm 選單中進行
滑鼠右鍵(呼叫選單) -> 登出 -> 重新啟動 Icewm
此時你應該可以看到新的選單,但是圖示還未完全正常。
終端機的另一個程式是 gtkterm,可以自行安裝看看。
有關圖示的部份,我們必須將
ftp://163.26.229.6/linux/icewm/icewm_icons 目錄複製到 /usr/share/icons 目錄下,請以 root 權限切換至 /usr/share/icons 目錄,指令是:
cd /usr/share/icons
再執行
wget -nH --cut-dirs=2 -r ftp://163.26.229.6/linux/icewm/icewm_icons
即可將 icwm_icons 目錄複製下來
A. /etc/X11/icewm/menu 選單設定檔說明:
在 /etc/X11/icewm/menu 中,我們可看到其中的語法主要如下:
menu "OpenOffice" ooo_gulls_16x16 {
prog "Openoffice 套件" ooo_gulls_16x16 soffice
prog "writer 文字文件" writer.png soffice -writer
prog "calc 試算表" calc.png soffice -calc
prog "draw 繪圖" draw.png soffice -draw
prog "impress 投影片" impress.png soffice -impress
prog "base 資料庫" base.png soffice -base
prog "math 數學公式" math.png soffice -math
prog "html 文件" writer.png soffice -web
}
我們將上述語法抽出來可以看到:
menu "OOOO" XXXX {
}
其中 menu 指的是子選單
"OOOO" 指的是子選單名稱
XXXX 指的是子選單圖示 (在 icewm_icons 目錄下之圖形)
menu 中的 prog 語法如下:
prog "writer 文字文件" writer.png soffice -writer
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^
其中 prog 指的是可執行之程式
"writer 文字文件" 指的是程式名稱
writer.png 指的是程式之圖示
soffice -writer 是指執行之命令
separator -> 分隔線
/etc/X11/icewm/toolbar -> 工具列設定檔,與 menu 之語法一模一樣。
設定中文終端機
prog rxvt24 xterm_16x16 urxvt -imlocale zh_TW.UTF8 -fn "12x24,xft:AR PL UMing TW:style=Light:pixelsize=24"
請安裝 openoffice.org 來看看是否有 openoffice 套件 ?
要加上中文介面請安裝 openoffice.org-l10n-zh-tw 加上中文語系
/etc/X11/icewm/preferences -> icewm 系統設定檔
請參考:
1. http://b2d-linux.com/icewm-doc/manual/
2. http://b2d-linux.com/icewm-doc/faq/IceWM-FAQ.html
1. 類似 Windows 視窗介面,學習上手較快
2. 反應速度相當快,即使是在較低速電腦或是在高負荷運算下均有相當快的反應速度。
3. 可針對個人需求進行客製化。
ICEWM 的缺點:
1. 設定時要撰寫設定檔,沒有比較好用的 GUI 設定程式。但是一旦設定好介面,可以快速複製介面至其它主機。
2. 設定檔有些語法要自己理解,才能進行設定
3. 畫面較陽春
4. 沒有桌面圖示
5. 國內用的人不多,有問題沒得問,要上網查答案。
為什麼要選擇 ICEWM 來作為視窗管理員 ?
1. 你執行電腦是看視窗管理員的特效還是希望電腦將所有的運算能力放在我們要的功能上 ? 例如畫 3D 或是作影像處理 ?
2. 桌面特效有些時候無法幫助我們的工作有效率,反而會降低效率。
今天主題:
1. 如何移植老師的桌面環境至你的電腦 ?
ICEWM 之設定目錄在 /etc/X11/icewm,主要設定檔有三:
- /etc/X11/icewm/menu -> 選單設定檔,負責選單名稱、圖示及呼叫指令
- /etc/X11/icewm/toolbar -> 工具列設定檔,負責工具列名稱、圖示及呼叫指令,其語法與上述之 menu 一模一樣。
- /etc/X11/icewm/preferences -> icewm 系統設定檔,可設定熱鍵等許多奇奇怪怪的參數
要移植桌面環境過來,請先進入 root 權限,再切換至 /etc/X11/icewm 目錄,指令如下:
su \Enter
cd /etc/X11/icewm
切換過來後,先將舊的 icewm 設定檔備份至 orig 目錄,指令如下:
- mkdir orig -> 建立 orig 目錄
- mv menu orig -> 將 menu 設定檔移至 orig 目錄下
- mv preferences orig -> 將 preferences 設定檔移至 orig 目錄下
- mv toolbar orig -> 將 toolbar 設定檔移至 orig 目錄下
執行完上述步驟可以用 ls -l 及 ls -l orig 來進行驗證,看看 menu、preferences 以及toolbar 三個檔案是否都移至 orig 目錄
舊的設定檔備份完之後,可以開始複製新的設定檔,請執行以下三個指令(注意你的目錄還在 /etc/X11/icewm)
wget ftp://163.26.229.6/linux/icewm/preferences
wget ftp://163.26.229.6/linux/icewm/menu
wget ftp://163.26.229.6/linux/icewm/toolbar
複製完之後可以執行 ls -l 來看我們是否已經新設定檔複製過來。若確定已正確複製,我們可以在 icewm 選單中進行
滑鼠右鍵(呼叫選單) -> 登出 -> 重新啟動 Icewm
此時你應該可以看到新的選單,但是圖示還未完全正常。
終端機的另一個程式是 gtkterm,可以自行安裝看看。
有關圖示的部份,我們必須將
ftp://163.26.229.6/linux/icewm/icewm_icons 目錄複製到 /usr/share/icons 目錄下,請以 root 權限切換至 /usr/share/icons 目錄,指令是:
cd /usr/share/icons
再執行
wget -nH --cut-dirs=2 -r ftp://163.26.229.6/linux/icewm/icewm_icons
即可將 icwm_icons 目錄複製下來
A. /etc/X11/icewm/menu 選單設定檔說明:
在 /etc/X11/icewm/menu 中,我們可看到其中的語法主要如下:
menu "OpenOffice" ooo_gulls_16x16 {
prog "Openoffice 套件" ooo_gulls_16x16 soffice
prog "writer 文字文件" writer.png soffice -writer
prog "calc 試算表" calc.png soffice -calc
prog "draw 繪圖" draw.png soffice -draw
prog "impress 投影片" impress.png soffice -impress
prog "base 資料庫" base.png soffice -base
prog "math 數學公式" math.png soffice -math
prog "html 文件" writer.png soffice -web
}
我們將上述語法抽出來可以看到:
menu "OOOO" XXXX {
}
其中 menu 指的是子選單
"OOOO" 指的是子選單名稱
XXXX 指的是子選單圖示 (在 icewm_icons 目錄下之圖形)
menu 中的 prog 語法如下:
prog "writer 文字文件" writer.png soffice -writer
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^
其中 prog 指的是可執行之程式
"writer 文字文件" 指的是程式名稱
writer.png 指的是程式之圖示
soffice -writer 是指執行之命令
separator -> 分隔線
/etc/X11/icewm/toolbar -> 工具列設定檔,與 menu 之語法一模一樣。
設定中文終端機
prog rxvt24 xterm_16x16 urxvt -imlocale zh_TW.UTF8 -fn "12x24,xft:AR PL UMing TW:style=Light:pixelsize=24"
請安裝 openoffice.org 來看看是否有 openoffice 套件 ?
要加上中文介面請安裝 openoffice.org-l10n-zh-tw 加上中文語系
/etc/X11/icewm/preferences -> icewm 系統設定檔
請參考:
1. http://b2d-linux.com/icewm-doc/manual/
2. http://b2d-linux.com/icewm-doc/faq/IceWM-FAQ.html
2011年6月9日 星期四
微調 X 視窗
X 視窗之微調
請先參考下圖了解 X 視窗的架構
了解 X 視窗之架構後,我們可以針對不同的地方來進行微調,例如:桌面、底圖、選單。
xdpyinfo -> 可以觀察目前視窗解析度及色深,但是 xdpyinfo 顯示出來的資料太多行了,該如何處理 ?
xdpyinfo |more
xdpyinfo > xdpyinfo.log (轉向輸出至 xdpyinfo.log 再用 vi 觀看)
我們會看到其中一段內容如下:
..
dimensions: 1680x1050 pixels (444x277 millimeters)
resolution: 96x96 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x11a
depth of root window: 24 planes
..
上面內容表示目前營幕解析度為 1680x1050,共支援 7 種顏色深度:24, 1, 4, 8, 15, 16, 32,
root (根)視窗顏色深度為 24 planes -> 24 bit
96x96 dots per inch -> 是指每吋有 96 個點 (DPI)
何謂顏色色深 (Color Depth) ?
1 bit -> 2^1 = 2 colors 黑白兩色
2 bits -> 2^2 = 4 colors CGA Color Graphics Adaptor
4 bits -> 2^4 = 16 colors EGA Enhance Graphics Adaptor
8 bits -> 2^8 = 256 colors VGA Video Graphics Array
15/16 bits -> 2^15 = 32768/2^16=65536 colors Hi-color
24/32 bits -> True color
何謂營幕解析度 (Resolution)
請參考
http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg
安裝看圖程式,請執行:
apt-get install geeqie
1. 美化桌面
a. 靜態底圖
使用 xloadimage 來載入桌布,請先確定你有 xloadimage 這個指令,若找不到此
命令,請下
apt-get install xloadimage
來安裝此套件。安裝完後請執行:
xsetbg -fullscreen 圖檔
即可設定桌布。
b. 動態底圖
例如 xplanet 或是 xearth,安裝完後執行 xplanet 即可,每 24 小時轉一圈。
另一個是 xscreensaver,但不建議裝。
2. 自訂底圖
上述設定靜態底圖有個缺點:重新進入 X 視窗後底圖就不見了,因此我們希望能在進入 X 視窗時能自動再次載入桌布,該如何設定 ?
X 視窗在啟動時會讀取 ~/.xinitrc 這個設定檔,我們可以執行
~$ wget ftp://163.26.229.6/linux/.xinitrc
來下載。其檔案中有一行:
xsetbg strike.jpg
請將此行改為
xsetbg -fullscreen 你要當桌布的圖檔名稱
如此一來下回進入 X 視窗時即會自動載入同一張桌布。
請先參考下圖了解 X 視窗的架構
了解 X 視窗之架構後,我們可以針對不同的地方來進行微調,例如:桌面、底圖、選單。
xdpyinfo -> 可以觀察目前視窗解析度及色深,但是 xdpyinfo 顯示出來的資料太多行了,該如何處理 ?
xdpyinfo |more
xdpyinfo > xdpyinfo.log (轉向輸出至 xdpyinfo.log 再用 vi 觀看)
我們會看到其中一段內容如下:
..
dimensions: 1680x1050 pixels (444x277 millimeters)
resolution: 96x96 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x11a
depth of root window: 24 planes
..
上面內容表示目前營幕解析度為 1680x1050,共支援 7 種顏色深度:24, 1, 4, 8, 15, 16, 32,
root (根)視窗顏色深度為 24 planes -> 24 bit
96x96 dots per inch -> 是指每吋有 96 個點 (DPI)
何謂顏色色深 (Color Depth) ?
1 bit -> 2^1 = 2 colors 黑白兩色
2 bits -> 2^2 = 4 colors CGA Color Graphics Adaptor
4 bits -> 2^4 = 16 colors EGA Enhance Graphics Adaptor
8 bits -> 2^8 = 256 colors VGA Video Graphics Array
15/16 bits -> 2^15 = 32768/2^16=65536 colors Hi-color
24/32 bits -> True color
何謂營幕解析度 (Resolution)
請參考
http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg
安裝看圖程式,請執行:
apt-get install geeqie
1. 美化桌面
a. 靜態底圖
使用 xloadimage 來載入桌布,請先確定你有 xloadimage 這個指令,若找不到此
命令,請下
apt-get install xloadimage
來安裝此套件。安裝完後請執行:
xsetbg -fullscreen 圖檔
即可設定桌布。
b. 動態底圖
例如 xplanet 或是 xearth,安裝完後執行 xplanet 即可,每 24 小時轉一圈。
另一個是 xscreensaver,但不建議裝。
2. 自訂底圖
上述設定靜態底圖有個缺點:重新進入 X 視窗後底圖就不見了,因此我們希望能在進入 X 視窗時能自動再次載入桌布,該如何設定 ?
X 視窗在啟動時會讀取 ~/.xinitrc 這個設定檔,我們可以執行
~$ wget ftp://163.26.229.6/linux/.xinitrc
來下載。其檔案中有一行:
xsetbg strike.jpg
請將此行改為
xsetbg -fullscreen 你要當桌布的圖檔名稱
如此一來下回進入 X 視窗時即會自動載入同一張桌布。
使用者權限
從現在起,請使用一般使用者登入來進行操作。
使用一般權限帳號
為什麼要用一般權限操作電腦
安裝到這邊差不多告一段落了,接下來要恢復正常,使用一般權限帳號。UNIX 初學者最常見的錯誤就是用 root 權限灌軟體,並且在灌完後繼續使用 root 權限執行日常事務。使用 root 實在太方便了,設定音效卡時不必將自己加入 audio 權組即可播音樂,其他事也相當方便。那為什麼我們不用 root 就好了而是要用一般權限來操作電腦呢 ?
root 權限因為是拿來管理系統的,因此具有整個系統的生殺大權,一般人如果較沒有Unix/Linux 系統管理觀念的要誤殺整個系統基本上只是一個指令的事,就連 /etc 目錄底下的檔案不小心誤砍也有可能造成系統無法開機。更何況人類這種生物最主要的缺陷就是太容易出錯了,俗語說人有失蹄、馬有亂腳,就連俗話都有可能打錯了更別提要管系統。
選擇 root/一般權限的時機
先提示一下,還記得我們之前安裝流程所建立的 edatool 這個帳號嗎 ? 沒錯,接下來我們的操作都要使用此帳號了。在此我們要解釋一下選擇帳號權限的時機,請問何時你該使用 root ? 何時又該使用一般權限帳號 ? 筆者講一下我的答案:
使用一般使用者來進行日常生活的工作,使用 root 來進行「系統維護」的工作。
現在問題來了,什麼是系統維護的工作 ? 是以下工作嗎 ?
還是以下工作 ?
很明顯我們不必用 root 來聽 MP3、上網跟打 b。因此,除了上述系統管理事項之外,請各位嚴格遵守只能用一般使用者權限的規定,否則使用 root 執行以下指令即可以摧毀整個系統:
rm -rf /*
警告:上述指令請千萬別以 root 權限執行,除非你希望日子過得刺激些!!
如何切換 root 帳號權限
當我們使用 linux 登入後,「如果」我們臨時需要使用 root 權限時,我們可以執行:
su \Enter
此時系統會要求我們輸入 root 密碼,請輸入密碼後按 \Enter,之後即會出現
#
的提示符號,這表示我們已經取得 root 權限,可以使用 whoami 指令來觀察。要離開
root 權限,請在 # 提示符號下執行:
# exit \Enter
** 有關提示符號 **
$ 通常指的是一般使用者
# 指的是 root
為什麼要自一般使用者帳號切換為 root 帳號 ? 直接使用 root 帳號不是比較方便嗎 ?
** 小工具 **
執行以下指令會使你的提示符號前面加上時間。
export PS1='${debian_chroot:+($debian_chroot)}\A/$? \[\033[01;32m\][\u@\h] \[\033[01;34m\]\w \$ \[\033[00m\]'
使用一般權限帳號
為什麼要用一般權限操作電腦
安裝到這邊差不多告一段落了,接下來要恢復正常,使用一般權限帳號。UNIX 初學者最常見的錯誤就是用 root 權限灌軟體,並且在灌完後繼續使用 root 權限執行日常事務。使用 root 實在太方便了,設定音效卡時不必將自己加入 audio 權組即可播音樂,其他事也相當方便。那為什麼我們不用 root 就好了而是要用一般權限來操作電腦呢 ?
root 權限因為是拿來管理系統的,因此具有整個系統的生殺大權,一般人如果較沒有Unix/Linux 系統管理觀念的要誤殺整個系統基本上只是一個指令的事,就連 /etc 目錄底下的檔案不小心誤砍也有可能造成系統無法開機。更何況人類這種生物最主要的缺陷就是太容易出錯了,俗語說人有失蹄、馬有亂腳,就連俗話都有可能打錯了更別提要管系統。
選擇 root/一般權限的時機
先提示一下,還記得我們之前安裝流程所建立的 edatool 這個帳號嗎 ? 沒錯,接下來我們的操作都要使用此帳號了。在此我們要解釋一下選擇帳號權限的時機,請問何時你該使用 root ? 何時又該使用一般權限帳號 ? 筆者講一下我的答案:
使用一般使用者來進行日常生活的工作,使用 root 來進行「系統維護」的工作。
現在問題來了,什麼是系統維護的工作 ? 是以下工作嗎 ?
- 聽 MP3 ?
- 上網看 WWW
- 打 bbs
- ...
還是以下工作 ?
- 新增/移除 軟體/使用者/驅動程式
- 更改 系統/軟體 的設定(例如系統時間、IP .. 等)修理系統
- 開/關機
- 其它
很明顯我們不必用 root 來聽 MP3、上網跟打 b。因此,除了上述系統管理事項之外,請各位嚴格遵守只能用一般使用者權限的規定,否則使用 root 執行以下指令即可以摧毀整個系統:
rm -rf /*
警告:上述指令請千萬別以 root 權限執行,除非你希望日子過得刺激些!!
如何切換 root 帳號權限
當我們使用 linux 登入後,「如果」我們臨時需要使用 root 權限時,我們可以執行:
su \Enter
此時系統會要求我們輸入 root 密碼,請輸入密碼後按 \Enter,之後即會出現
#
的提示符號,這表示我們已經取得 root 權限,可以使用 whoami 指令來觀察。要離開
root 權限,請在 # 提示符號下執行:
# exit \Enter
** 有關提示符號 **
$ 通常指的是一般使用者
# 指的是 root
為什麼要自一般使用者帳號切換為 root 帳號 ? 直接使用 root 帳號不是比較方便嗎 ?
** 小工具 **
執行以下指令會使你的提示符號前面加上時間。
export PS1='${debian_chroot:+($debian_chroot)}\A/$? \[\033[01;32m\][\u@\h] \[\033[01;34m\]\w \$ \[\033[00m\]'
訂閱:
文章 (Atom)