將 Markdown 文件轉成 HTML
最后更新于:2022-04-01 10:45:41
# 附錄 1:將 Markdown 文件轉成 HTML
Markdown 是個實現「易讀易寫」所產生出來的文件語法。在鐵人賽接連 30 天緊湊的步伐裡是不會有足夠的!所以凍仁當時是先用 Markdown 來撰寫草稿,再透過些工具將其轉換成 HTML。
### 相關工具
- bash & make: 搭配 Shell Script 和 Makefile 來快速轉換格式。
- [markdown_py](https://pypi.python.org/pypi/Markdown): 將 Markdown 轉成 HTML 的工具。
- vim: 凍仁慣用的文字編輯器。
- chromium: 社群版的 Google Chrome。
- xclip: 可以將命令列的訊息複製到剪貼簿 (clipboard) 的小工具。
### GNU/Linux 上的使用方法
將 `01.intro.md` 轉成 HTML 並複製到剪貼簿 (clipboard)。
~~~
$ ./target 01.intro.md
~~~
將 `01.intro.md` 轉成 HTML 並使用 Chromium 開啟,需搭配 `target` 使用。
~~~
$ make html
~~~
附录
最后更新于:2022-04-01 10:45:39
銷毀資料 – Shred
最后更新于:2022-04-01 10:45:36
# 完全用 GNU/Linux 工作
### 30. 銷毀資料 - Shred
過去在 GNU/Linux 裡,凍仁會使用 `dd`,此指令會將資料填零而達到抹除磁碟的功用,但就算這樣還是有被專業人士還原的風險;現在凍仁都改用 `shred`指令來完成這項任務,此指令是專門用來**撕碎**資料的。
### dd
將 /dev/sdX 裝置填零。
~~~
dd if=/dev/zero of=/dev/sdX bs=1M
~~~
### shred
1.
開始 shred 之前,您必須先安裝 coreutils 套件。
~~~
$ sudo aptitude install coreutils
# -v 顯示進度。
# -f 強制寫入,必要時允許變更權限寫入。
# -z 用零覆寫並撕碎。
# -n 指定覆寫次數。
# -n 指定覆寫次數。
~~~
1.
抹除硬碟
~~~
$ sudo shred -vfz -n 10 /dev/sdX
shred: /dev/sdX:11 次之第 1 次 (random)...
shred: /dev/sdX:11 次之第 1 次 (random)...471MiB/932GiB 0%
shred: /dev/sdX:11 次之第 1 次 (random)...472MiB/932GiB 0%
shred: /dev/sdX:11 次之第 1 次 (random)...949MiB/932GiB 0%
......
~~~
1.
抹除檔案
~~~
$ shred -vu -n 10 hello-sherd.txt
shred: hello-sherd.txt: pass 1/3 (random)...
shred: hello-sherd.txt: pass 2/3 (random)...
shred: hello-sherd.txt: pass 3/3 (random)...
shred: hello-sherd.txt: removing
shred: hello-sherd.txt: renamed to 000000000000000
shred: 000000000000000: renamed to 00000000000000
shred: 00000000000000: renamed to 0000000000000
shred: 0000000000000: renamed to 000000000000
shred: 000000000000: renamed to 00000000000
shred: 00000000000: renamed to 0000000000
shred: 0000000000: renamed to 000000000
shred: 000000000: renamed to 00000000
shred: 00000000: renamed to 0000000
shred: 0000000: renamed to 000000
shred: 000000: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: hello-sherd.txt: removed
~~~
※ shred 在 ext3, ext4 這類的日誌檔案系統上運作時可能無法完整清除,若真不放心可以試試 [hdparm](http://en.wikipedia.org/wiki/Hdparm)。
### 資料來源
- [shred(1) - Linux man page](http://linux.die.net/man/1/shred)
- [Linux 上處理壞軌硬碟的兩三事 | Rex's blah blah blah](http://blog.nutsfactory.net/2011/05/30/manage-bad-blocks-on-linux/)
- [LVCHEN 的美國生活指南: 破解格式化的小迷思(上)](http://lvchen.blogspot.tw/2008/02/blog-post_12.html)
- [linux指令:shred將檔案碎掉 @ Linux使用者的王國 :: 痞客邦 PIXNET ::](http://kadok0520.pixnet.net/blog/post/25498844-linux%E6%8C%87%E4%BB%A4%EF%BC%9Ashred%E5%B0%87%E6%AA%94%E6%A1%88%E7%A2%8E%E6%8E%89)
- [Ubuntu密技 - 徹底刪除資料 | Alfred's Cave](http://alfredcave.blogspot.tw/2009/10/ubuntu_9008.html)
檢測硬碟 SMART 健康狀態
最后更新于:2022-04-01 10:45:34
# 完全用 GNU/Linux 工作
### 29. 檢測硬碟 S.M.A.R.T. 健康狀態
[S.M.A.R.T.](http://zh.wikipedia.org/wiki/S.M.A.R.T.) 是個用來檢測硬碟健康狀況的指標,雖然前文 [26. 使用 Clonezilla 打造不死的作業系統](#) 提供了軟體層面的備份方式,但硬體總有老舊、損壞的一天。而一台電腦中又以硬碟裡的資料最為重要,這裡凍仁將介紹 GNU/Linux 下檢測、監控的方法。
![2013-10-16-palimpsest-smart.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb32ea42.png "2013-10-16-palimpsest-smart.png")
▲ 在 GNOME 上我們可使用 [磁碟公用程式 (GNOME Disks)](http://en.wikipedia.org/wiki/GNOME_Disks)[1](#) 來檢測 SMART。
### 安裝 smartmontools
套件 smartmontools 包含了 smartctl, smartd,是個可以監控 ATA, SCSI 硬碟 (storage) SMART (Self-Monitoring, Analysis and Reporting Technology System) 狀態的工具。我們可以透過它來進階設定各種硬碟退化、錯誤警告的回報機制。
安裝文字介面的檢測工具 smartmontools。
~~~
# Debian, Ubuntu
$ sudo aptitude install smartmontools
# CentOS, RHEL, Fedora
$ sudo yum install smartmontools
~~~
### smartctl
smartctl 主要是用來進行一次性、暫時性的硬碟掃描,以下為常見的使用方法。
1.
查看該媒體是否支援 SMART 檢測。
~~~
# - 啟用 (Enabled)。
$ sudo smartctl -i /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: ST3500413AS
Serial Number: Z2AAMWCL
LU WWN Device Id: 5 000c50 035f695b1
Firmware Version: JC45
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed Oct 16 21:04:44 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
# - 停用 (Disabled)。
$ sudo smartctl -i /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: ST3500413AS
Serial Number: Z2AAMWCL
LU WWN Device Id: 5 000c50 035f695b1
Firmware Version: JC45
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed Oct 16 21:05:36 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled
~~~
1.
若尚未啟用 SMART,可以使用 *-s* 參數開啟它。
~~~
$ sudo smartctl -s on /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
~~~
1.
支援 SMART 後我們可以使用 *-H* 參數來手動檢查硬碟、隨身硬碟的建康狀態。
~~~
# - 通過 (passed)。
$ sudo smartctl -H /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
# - 失敗 (failed)。
$ sudo smartctl -H /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 004 004 005 Pre-fail Always FAILING_NOW 1887
~~~
### smartd
smartd 是個可以把 smartmontools 註冊成例行性服務 (Daemon) 並使用排程來監控的程式,以下為凍仁啟用的步驟。
1.
啟用 smartd。
~~~
$ sudo vim /etc/default/smartmontools
...
start_smartd=yes
smartd_opts="--interval=1800"
~~~
1.
備份設定檔。
~~~
$ sudo cp /etc/smartd.conf /etc/smartd.conf.ori
~~~
1.
編輯設定檔。
~~~
$ sudo vi /etc/smartd.conf
......
# 掃描所有的 ATA/SCSI 設備並將報告寄送給 root。
DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner
# 每日 02:00 快速檢查 sda,每週六 03:00 完整檢查 sda。
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03)
# 每日 04:00 快速檢查 sdb,每週六 05:00 完整檢查 sdb。
/dev/sdb -a -o on -S on -s (S/../.././04|L/../../6/05)
# 監控 SMART 狀態
/dev/sda -H -l error -l selftest -t -I 194
/dev/sdb -H -l error -l selftest -t -I 194
# 安靜的檢查,並只郵寄建康狀態給 admin@example.tw
/dev/sda -H -C 0 -U 0 -m admin@example.tw
/dev/sdb -H -C 0 -U 0 -m admin@example.tw
......
~~~
1.
啟用服務
~~~
$ sudo /etc/init.d/smartmontools start
~~~
1.
觀看記錄檔 (log)。
~~~
$ less /var/log/syslog
......
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: smartd 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Opened configuration file /etc/smartd.conf
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Drive: DEVICESCAN, implied '-a' Directive on line 21 of file /etc/smartd.conf
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda, type changed from 'scsi' to 'sat'
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], opened
......
Oct 17 08:59:47 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], found in smartd database.
Oct 17 08:59:48 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], is SMART capable. Adding to "monitor" list.
Oct 17 08:59:48 thinkpad-t410 smartd[11523]: Device: /dev/sda [SAT], state read from /var/lib/smartmontools/smartd.ST9320423AS-5VH55XKG.ata.state
......
Oct 17 08:59:48 thinkpad-t410 smartd[11525]: smartd has fork()ed into background mode. New PID=11525.
Oct 17 08:59:48 thinkpad-t410 smartd[11525]: file /var/run/smartd.pid written containing PID 11525
~~~
※ 若想讓 smartd 使用 Gmail 寄送通知件,可使用 [sSMTP](https://wiki.debian.org/sSMTP) 來達成。如果能再搭上兩步驗證裡的專屬應用程式密碼會安全些。
當 SMART 亮起紅燈時,請儘速備份並更換硬碟。這時可以先拿先前淘汰的舊硬碟墊擋,否則就趕緊買顆新的補上了! (若您的硬碟保固還沒過,那您可以換新硬碟了,恭喜!)
### 資料來源
- [smartmontools](http://sourceforge.net/apps/trac/smartmontools/wiki)
- [Setting up HDD’s SMART monitoring on Debian Squeeze | Kevin Deldycke](http://kevin.deldycke.com/2011/05/setting-hdds-smart-monitoring-debian-squeeze/)
- [Smartmontools - Community Ubuntu Documentation](https://help.ubuntu.com/community/Smartmontools)
- [不自量力 の Weithenn: Smartmontools-檢查測試硬碟壽命](http://www.weithenn.org/cgi-bin/wiki.pl?Smartmontools-%E6%AA%A2%E6%9F%A5%E6%B8%AC%E8%A9%A6%E7%A1%AC%E7%A2%9F%E5%A3%BD%E5%91%BD)
- [[Linux] smartctl 使用smartmontools監控硬碟的健康狀態 | 70's Blog](http://70tw.spotlight.net.tw/?p=330)
- [UbuntuHelp:Smartmontools/zh - Ubuntu中文](http://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20090924194150/)
- [HDD Health – 硬碟健康狀況守護神,有問題馬上通知您!! :::iThome Download:::](http://download.ithome.com.tw/article/index/id/326)
- [FourDollars Blog: 利用 ssmtp 透過 Gmail 在文字模式下寄信](http://fourdollars.blogspot.tw/2009/08/ssmtp-gmail.html)
- [SSMTP - ArchWiki](https://wiki.archlinux.org/index.php/SSMTP)
1
> . GNOME Disks 原名為 gnome-disk-utility 和 Palimpsest。在部份的版本中需用 palimpsest 指令來啟用磁碟公用程式,例 Debian 7.8。
[ ↩](# "Jump back to footnote [1] in the text.")
使用 Live CD 修復 Debian/Ubuntu 系統
最后更新于:2022-04-01 10:45:32
# 完全用 GNU/Linux 工作
### 28. 使用 Live CD 修復 Debian/Ubuntu 系統
承上文 [27. Ubuntu 系統版本升級](#),如今日不幸於系統升級時當機,最嚴重將導致系統無法開啟,這時可以透過 [Live CD](http://zh.wikipedia.org/wiki/Live_CD) 進行修復。
### 使用 Live CD 開機
1.
製作 Live CD 媒體,詳情請參考 [02. 建立開機媒體 (隨身碟、光碟)](#) 和 [26. 使用 Clonezilla 打造不死的作業系統](#) 章節。
1.
放入光碟或插入隨身碟。
1.
切換 BIOS 並使用 Live CD 媒體開機,詳情請參考[睡覺吹泡泡: 進入BIOS設定開機順序,以光碟開機為例](http://www.pptrar.tw/2011/01/bios.html)一文。
1.
進入 Live 模式。
![2013-10-15-live-mode-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb2ee7d3.png "2013-10-15-live-mode-01.png")
▲ 請選擇嘗試 (Try) 以進入 Live 模式。
### 連接至網際網路 (Internet)
網路連接方式請參考 [03. 網路設定](#) 一文。
![2013-10-15-live-mode-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb31a60a.png "2013-10-15-live-mode-02.png")
▲ 可透過 ping 指令或 Firefox 測試網路連線。
### 修復系統
1.
掛載本機上欲修復 OS 的根目錄 (/)。
~~~
$ sudo mount /dev/sda1 /mnt/
~~~
1.
掛載開機選單目錄 (/boot),如未獨立此分割區則略過。
~~~
$ sudo mount /dev/sda2 /mnt/boot
~~~
1.
掛載虛擬檔案系統 (/dev, /proc, /sys )。
~~~
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys
~~~
1.
將本機的 OS 切換成系統根目錄。
~~~
$ sudo chroot /mnt
~~~
1.
如是升級時中斷,請手動完成更新。
~~~
$ sudo aptitude update ; sudo aptitude dist-upgrade
~~~
1.
如是套件安裝不完整,請手動修復套件。
~~~
$ sudo aptitude install -f
~~~
1.
如是設定不完整 (衝突) 時,請手動重設。
~~~
$ sudo dpkg-reconfigure -a
~~~
1.
如是開機選單 (grub) 陣亡,請使用 grub-install 指令手動修復。
~~~
$ grub-install --force /dev/sda
~~~
1.
修復後記得離開 chroot 模式並進行缷載的動作。
~~~
$ exit
~~~
1.
安全缷載先前掛載過的 partition。
~~~
$ sudo umount /mnt/dev/ /mnt/proc/ /mnt/sys/ /mnt
~~~
恭喜您!現在您已具備修復 Debian/Ubuntu 的能力了,不過升級前還是先用 [Clonezilla](#) 備份一下會比較妥當。
### 資料來源
- [GRUB2中文指南第二版(上) - Ubuntu 正體中文 Wiki](http://wiki.ubuntu-tw.org/index.php?title=GRUB2%E4%B8%AD%E6%96%87%E6%8C%87%E5%8D%97%E7%AC%AC%E4%BA%8C%E7%89%88%28%E4%B8%8A%EF%BC%89)
Ubuntu 系統版本升級
最后更新于:2022-04-01 10:45:30
# 完全用 GNU/Linux 工作
### 27. Ubuntu 系統版本升級
Ubuntu 是個每六個月會釋出新版的 GNU/Linux 發行版本。它會不時提醒使用者可以進行升級版本的動作,還擁有圖形化的升級介面,是個很貼心的 Linux 系統!但凍仁曾因此中過招,於是都直接於 tty1 (Ctrl + Alt + F1) 使用 Ubuntu Server 的方式升級,就再也不曾出事了。
試想,今日在圖形介面下升級時,若恰巧遇到 X Window 被重啟 (或換掉) 所導致的升級失敗,到頭來還是得回 tty1 下進行救援,那我們一開始不如就直接於 tty1 下使用指令升級不就得了。
切換至 tty1 模式。
~~~
Ctrl + Alt + F1
~~~
輸入使用者名稱及密碼以登入 tty1。
~~~
Ubuntu 10.04 LTS lucid tty1
lucid login: <username>
password: <password>
......
~~~
查看當前的系統版號。
~~~
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.04.4 LTS
Release: 10.04
Codename: lucid
~~~
將套件更新到最新。
~~~
$ sudo aptitude update; sudo aptitude dist-upgrade
~~~
安裝升級工具。
~~~
$ sudo aptitude install update-manager-core
~~~
查詢一下版的版號 (以 10.04 升級至 12.04 為範例)。
~~~
$ sudo do-release-upgrade -c
Checking for a new ubuntu release
New release 'precise' available.
Run 'do-release-upgrade' to upgrade to it.
~~~
開始升級!
~~~
$ sudo do-release-upgrade
~~~
升級完成後請記得重新開機。
~~~
$ sudo shutdown -r now
~~~
升級的過程中得回答些問題,但由於升級的時間取決於網路速度及硬體效能,通常得花 2 ~ 4 小時不等,建議將機器掛著,睡醒再回答 ([y/n]) 即可。
### 資料來源
- [Ubuntu 12.04 升級到 Ubuntu 13.04 (上) | 阿舍的隨手記](http://www.arthurtoday.com/2013/05/ubuntu-upgrade-from-ubuntu-12.04-to-13.04-part1.html#.UlwozK7kJhE)
- [HowtoUpgrade - Ubuntu 正體中文 Wiki](http://wiki.ubuntu-tw.org/index.php?title=HowtoUpgrade)
- [UpgradeNotes - Community Ubuntu Documentation](https://help.ubuntu.com/community/UpgradeNotes)
- [Upgrade Ubuntu | Ubuntu](http://www.ubuntu.com/download/desktop/upgrade)
使用 Clonezilla 打造不死的作業系統
最后更新于:2022-04-01 10:45:27
# 完全用 GNU/Linux 工作
### 26. 使用 Clonezilla 打造不死的作業系統
早期凍仁使用 Ubuntu 做為主要工作環境時,常因為系統升級失敗而不得不走上重灌一途;現在除了會額外安裝備用的系統以外 (先前於 [01. 前言](#) 一文提過),平時還會使用[再生龍 (Clonezilla)](http://clonezilla.nchc.org.tw/news/) 進行系統層面的備份,以備不時之須。
### 行前說明
在使用 Clonezilla 及 Ghost 這種離線備份軟體前,必須先學會更改 BIOS 的開機順序才行。詳情請參考[睡覺吹泡泡: 進入BIOS設定開機順序,以光碟開機為例](http://www.pptrar.tw/2011/01/bios.html)一文。
### 製作 Clonezilla 開機媒體
首先至 Clonezilla 官網的 [下載區](http://clonezilla.nchc.org.tw/clonezilla-live/download/sourceforge/) 下載 iso 或 zip 檔 (建議使用 amd64 的**穩定版**)。
#### 使用光碟版 (iso 檔)
iso 檔的製作方式除了燒錄光碟外,也可使用前文 [02. 建立開機媒體 (隨身碟、光碟)](#) 提到的 cat 來製作。
#### 使用壓縮檔 (zip 檔案)
Clonezilla 隨身碟可藉由各種方式製作,底下將分享凍仁覺得最便利的方式給大家。
##### 使用磁碟公用程式 (GNOME Disks)[1](#) 格式化隨身碟
![20131014-palimpsest-1.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb26fbc8.png "20131014-palimpsest-1.png")
▲ 卸載隨身碟。
![20131014-palimpsest-2.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb28dafe.png "20131014-palimpsest-2.png")
▲ 重新格式化。
![20131014-palimpsest-3.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb2aa43a.png "20131014-palimpsest-3.png")
▲ 使用 MBR 架構。
![20131014-palimpsest-4.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb2b500c.png "20131014-palimpsest-4.png")
▲ 建立新分割區。
![20131014-palimpsest-5.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb2cdd10.png "20131014-palimpsest-5.png")
▲ 選擇 FAT 檔案格式 (Clonezilla 官方建議使用的檔案格式)。
![20131014-palimpsest-6.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb2dd701.png "20131014-palimpsest-6.png")
▲ 請先確認無誤再按下格式化。
##### 建立 Clonezilla 開機隨身碟
使用最高權限。
~~~
[ jonny@wheezy ~ ]
$ sudo su -
[ root@wheezy ~ ]
$
~~~
重新讀取分割表。
~~~
[ root@wheezy ~ ]
$ partprobe /dev/sde
~~~
掛載隨身碟。
~~~
[ root@wheezy ~ ]
$ mount /dev/sde1 /mnt
~~~
進入隨身碟並將 Clonezilla 解壓縮至此。
~~~
[ root@wheezy ~ ]
$ cd /mnt/ && unzip /tmp/clonezilla-live-2.1.2-43-amd64.zip
......
[ root@wheezy mnt ]
$
~~~
安裝 makeboot.sh 執行時會用到的套件 parted。
~~~
[ root@wheezy mnt ]
$ aptitude install parted
~~~
建立 Clonezilla 的開機選單,makeboot.sh 後方的參數應填入類似 /dev/sde1 的裝置代號。過程中一共會有四次的確認 ([y/n]),千萬小心別把原有的 OS 給洗掉了。。
~~~
[ root@wheezy mnt ]
$ utils/linux/makeboot.sh /dev/sde1
This command will install MBR and syslinux bootloader on this machine
--------------------------------------------
Machine: BM6660(BM6360):
Disk /dev/sde: 1977 MB, 1977614336 bytes
61 heads, 62 sectors/track, 1021 cylinders, total 3862528 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: 0x0000f6ef
Device Boot Start End Blocks Id System
/dev/sde1 62 3861421 1930680 c W95 FAT32 (LBA)
--------------------------------------------
Are you sure you want to continue?
[y/n]
......
OK! Let`s do it!
We need a filesystem supporting Unix file mode for syslinux. Copying syslinux from FAT to /tmp/...
'/mnt/utils/linux/syslinux' -> '/tmp/syslinux_tmp.VuQNSG/syslinux'
Running: /tmp/syslinux_tmp.VuQNSG/syslinux -f -i /dev/sde1
done!
~~~
完成!現在我們可以透過此隨身碟使用 Clonezilla 了。
### 備份及還原
Clonezilla 除了可支援本機的備份以外,還支援遠端備份 … 等各種的使用方法,以下是一般人較常見的使用情境。
#### 例行性工作
於本機進行分割區的備份、還原 (saveparts, restoreparts)。
- [儲存硬碟硬像檔至第二顆硬碟上 (Step by step) | Clonezilla](http://clonezilla.nchc.org.tw/clonezilla-live/doc/showcontent.php?topic=01_Save_disk_image)
- [回存硬像檔到第一顆硬碟上 | Clonezilla](http://clonezilla.nchc.org.tw/clonezilla-live/doc/showcontent.php?topic=02_Restore_disk_image)
- [睡覺吹泡泡: 初學者也會的 Clonezilla 系統備份與還原系列](http://www.pptrar.tw/2011/01/clonezilla-xp.html)。
#### 硬碟更換升級
於本機進行整顆硬碟的複製 (savedisk, restoredisk)。
- [複製小硬碟到大硬碟(以 8G 到 16G 硬碟為例) | Clonezilla](http://clonezilla.nchc.org.tw/clonezilla-live/doc/showcontent.php?topic=03_Disk_to_disk_clone)
#### 建立還原光碟
經多次實驗後得知 4GB 的 DVD 如使用 Gzip 壓縮約可容納 7GB 左右的系統 (recovery-iso-zip)。
- [產生一個能自動執行的 Clonezilla 還原光碟 或 USB 碟 | Clonezilla live](http://clonezilla.nchc.org.tw/clonezilla-live/doc/showcontent.php?topic=04_Create_Recovery_Clonezilla)
※ **備份分割區時 Clonezilla 與 Ghost 的順序是顛倒的!**前者是先選欲存放的目錄再選欲備份的 OS,而後者則反之,切記!
### 資料來源
- [Live USB | Clonezilla](http://clonezilla.nchc.org.tw/clonezilla-live/liveusb.php)
- [博客來 - 電腦備份王2:Clonezilla live 1.2.1 (附光碟)](http://www.books.com.tw/products/0010445874)
- [[教學][圖多]一步步教你使用再生龍 Clonezilla 輕鬆製作還原檔及還原光碟 (第1頁) - 作業系統 - Mobile01](http://www.mobile01.com/topicdetail.php?f=300&t=1198072)
- [使用 Clonezilla (再生龍) 打造不死的 Ubuntu 生活](http://chusiang.github.io/impress.js/2012-12-08-clonezilla.html)
- [Ubuntu Linux 學習之旅 (三十五) Ubuntu Linux 切割 Partition Table 的方法 - iT邦幫忙](http://ithelp.ithome.com.tw/question/10033381)
- [[Ubuntu]功能強大的內建—測試篇 | 電腦不難](http://it-easy.tw/ubuntu-disk-test/)
1
> . GNOME Disks 原名為 gnome-disk-utility 和 Palimpsest。在部份的版本中需用 palimpsest 指令來啟用磁碟公用程式,例 Debian 7.8。
[ ↩](# "Jump back to footnote [1] in the text.")
視窗管理及工作區 (下)
最后更新于:2022-04-01 10:45:25
# 完全用 GNU/Linux 工作
### 25. 視窗管理及工作區 (下)
#### 桌面 (Desktop)
![2013-10-12-ccsm-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb04ae40.png "2013-10-12-ccsm-03.png")
▲ 圖 5: Desktop 分類的設定。
##### 桌面牆 (Desktop Wall)
Desktop Wall 是凍仁主要用來切換工作區的特效。透過 **Ctrl + Alt + 方向鍵** 來切換工作區並使用 **Ctrl + Alt + Shift + 方向鍵** 來搬移視窗至其它的工作區,是少數 Metacity, Copmiz, Unity 皆一致的設定。
![2013-10-11-workspace-and-window-manage-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb07a318.png "2013-10-11-workspace-and-window-manage-05.png")
▲ 此為工作區 2 切換至工作區 1 時的截圖。
※ 註:凍仁喜愛可以上下左右切換的 Desktop Wall,而桌面立方體 (Desktop Cube) 除了華麗以外有著致命的缺點,那就是不便於工作區 1,3 或 2, 4 間的切換。
##### 展示工作區 (Expo)
列出所有工作區的特效,預設為 Windows + W (平時不常用)。
![2013-10-11-workspace-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb0c3461.png "2013-10-11-workspace-01.png")
▲ 在 Unity 裡也可藉由左方 Launcher 的**工作區圖示**來觸發。
##### Unity
Unity 預設的配置並不適合從 Ubuntu 7.04 入門 GNU/Linux 的凍仁,故做了些小修改。
1.
佔用 Alt 很容易誤觸的 HUD。
~~~
Behaviour / Key to show the HUD: Disabled.
~~~
1.
不夠直覺的 Alt + Tab 應用程式切換器。
~~~
Switcher / Key to start the switcher: Disabled.
~~~
1.
對進階使用者有些多餘的快捷鍵提示。
~~~
Experimental / Enable Shortcut Hints Overlay: Disabled.
~~~
![Fingerprint_GUI.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb1185c7.png "Fingerprint_GUI.png")
▲ 按下 Windows 鍵時即可搜尋並執行程式,與 Windows 7 的**開始**雷同。
![2013-10-11-workspace-and-window-manage-06.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb122349.png "2013-10-11-workspace-and-window-manage-06.png")
▲ 在 Unity 裡長按 Windows 鍵將秀出預設的快捷鍵列表。
※ 若手邊的 Ubuntu 為 11.04, 11.10, 12.04 也可使用 [MyUnity](http://note.drx.tw/2011/11/myunity-unity.html) 進行調整。
#### Window Management
![2013-10-12-ccsm-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb17242e.png "2013-10-12-ccsm-04.png")
▲ 圖 6: Window Management 分類的設定。
##### Extra WM Actions
這裡放置些一般人較少用的特效,但其中的**切換全螢幕**及**切換總是顯示在最上層**的功能凍仁偶而還是會用到。
- Toggle Fullscreen: Alt + F11.
- Toggle Always-On-Top : Ctrl + Alt + T.
##### Grid
長期關注 GNU/Linux 的伙伴都知道 Microsoft 為 Windows 7 加入的將視窗放至左半邊 (Windows + ←) 及右半邊 (Windows + →) 的功能早在 KDE 上就有了,而 Unity 也曾預設使用一樣的設定,但如今卻改用數字鍵的組合 (Ctrl + Alt + KP4, 6),為相容 Windows 7 的使用習慣則手動改成 Windows + ←, →。
##### Ring Switcher
對常在各個不同工作區的使用者而言,設組對全工作區切換應用程式的快捷鍵 (Windows + Tab) 會是個很棒的投資。
![2013-10-11-workspace-and-window-manage-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb1a4b37.png "2013-10-11-workspace-and-window-manage-03.png")
▲ 與 Shift Switcher 相比,Ring Switcher 的可視度會比較高。
※ 想仿 Windows 7 的伙伴可以改用 Flip 模式的 Shift Switcher 特效。
##### Static Application Switcher
替換 Unity 內建的應用程式切換器 (Alt + Tab) 的簡潔特效,與**應用程式切換器**、**Ring Switcher** 和 **Shift Switcher** 比起來凍仁較習慣它。
![2013-10-11-workspace-and-window-manage-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb1e7b65.png "2013-10-11-workspace-and-window-manage-02.png")
▲ 早期 Compiz 預設的 Switcher 為 Static Application Switcher。
##### 移動視窗
在視窗的任一地方按下 Alt 與滑鼠左鍵即可拖曳視窗。是個在大多 X Window 上通用的快捷鍵。當雙手不想離開鍵盤時也可使用 Alt + F7 與方向鍵來移動視窗。
##### 2.3.6. 調整比列
適合慣用滑鼠操作系統的使用者於全工作區切換應用程式的特效。
![2013-10-11-workspace-and-window-manage-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb23477a.png "2013-10-11-workspace-and-window-manage-04.png")
▲ 將鼠標移至右下角時會將所有的視窗依比例縮小並展示出來。
##### 調整視窗大小
透過組合鍵 Alt + F8 與方向鍵來變更視窗大小,可減少滑鼠的使用。
### 資料來源
- [Ubuntu 11.10 Unity 鍵盤快速鍵 - Tsung's Blog](http://blog.longwin.com.tw/2012/01/unity-keyboard-shortcut-2012/)
- [Ubuntu Unity 鍵盤快速鍵](http://ryanwiki.blogspot.tw/2012/12/ubuntu-unity.html)
- [重新認識 Ubuntu Unity(上):Unity之降臨 | I'm TualatriX](http://imtx.me/archives/1710.html)
- [Windows 7的常用快速鍵速查表 | 簡睿隨筆](http://jdev.tw/blog/1617/windows-7-shortcut-key)
[« 24. 視窗管理及工作區 (上)](#)
視窗管理及工作區 (上)
最后更新于:2022-04-01 10:45:23
# 完全用 GNU/Linux 工作
### 24. 視窗管理及工作區 (上)
自從 2007 年開始接觸 Ubuntu 7.04 以後,凍仁於 x86 電腦上的使用習慣有了大大的改變。與 Windows 相比,除了有更多可以操控視窗的快捷鍵外,更多了工作區的概念。這讓生活在視窗之海的凍仁解了套,也想說一句「我回不去了」,再也不想回到綁手綁腳的 Windows 上了。
![2013-10-11-workspace-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaf73941.png "2013-10-11-workspace-01.png")
▲ 圖 1: 2 x 2 的工作區。
### 工作區
工作區的概念就好比視窗的群組,GNU/Linux (Gnome, KDE, LxDE), Android, iOS, Mac OSX, Windows 8 上都有類似的設計。以下為凍仁對各個工作區的規劃。
- 工作區 1 (左上):主要工作區,以 Firefox, GVim, Terminal 為主。
- 工作區 2 (右上):次要工作區,查詢資料及臨時交辨事項為主。
- 工作區 3 (左下):檔案管理員、虛擬機器、修圖 … 等。
- 工作區 4 (右下):即時通訊、多媒體、畫面截圖 … 等。
![2013-10-12-workspace.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbafde99f.png "2013-10-12-workspace.png")
▲ 圖 2: 工作區對照圖 (請與圖 1 對照)。
由於是 **2 x 2** 加上**工作區 1** 為主要工作區的規劃,大部份都是在**工作區 1, 2** 和**工作區 1,3** 切換比較多,故**工作區 4** 則規劃成使用頻率較低的程式。
### 視窗管理
試過各種 GNU/Linux 上的 [Window Manager](http://zh.wikipedia.org/wiki/X%E8%A6%96%E7%AA%97%E7%AE%A1%E7%90%86%E5%99%A8) 後,凍仁最後選擇了比 [Metacity](http://zh.wikipedia.org/wiki/Metacity) 還強大的 [Compiz](http://zh.wikipedia.org/wiki/Compiz)。但由於之前必須於 Windows 7, Ubuntu ([Unity](http://zh.wikipedia.org/wiki/Unity)) 和 Debian (Compiz) 切換的關係,預設的快捷鍵已不符需求,好在 Compiz 的彈性夠大,讓凍仁可以統一操作模式,以降低切換時的不適。
![2013-10-12-ccsm-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbafedb9c.png "2013-10-12-ccsm-01.png")
▲ 圖 3: 此為凍仁使用 CCSM (CompizConfig Settings Manager) 所做設定。
#### 一般 (General)
![2013-10-12-ccsm-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbb0280db.png "2013-10-12-ccsm-02.png")
▲ 圖 4: General 分類的設定。
##### 通用選項
基本上與 Metacity 的配置相同,**顯示桌面**則改成與 Windows 相同的快捷鍵 Window + D,而**將視窗切換到最大**則是參考 PieTTY 的全螢幕設定,比起 Alt + F10 的組合鍵 Alt + Enter 順手多了。
##### 預設指令
此為 Compiz 給予使用者新增快捷鍵的地方,共可設定 12 組。個人是用它實作**開新應用程式**的功能,以對應 Windows 7 上的功能。
[» 25. 視窗管理及工作區 (下)](#)
密碼管理員 – FPM2Droid
最后更新于:2022-04-01 10:45:20
# 完全用 GNU/Linux 工作
### 密碼管理員 - FPM2Droid
[FPM2 For Android (FPM2Droid)](https://play.google.com/store/apps/details?id=org.braiden.fpm2) 是 Android 版的 FPM2 密碼管理員,其最大的差異為 FPM2Droid 只有讀取的功能。簡單的說它只是個檢視器,不像 GNU/Linux 上的 FPM2 可以建立及修改資料,所以手機版的 FPM2Droid 非常適合出門在外時使用。
![2013-10-09-fpm2-10.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaf20e2e.png "2013-10-09-fpm2-10.png")
▲ [FPM2 For Android - Google Play Android 應用程式](https://play.google.com/store/apps/details?id=org.braiden.fpm2)。
![2013-10-09-fpm2-11.jpg](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaf46cd9.jpg "2013-10-09-fpm2-11.jpg")
▲ FPM2 for Android 介面截圖。
由於 FPM2Droid 不支援特定檔案二次加密,故在複製到 Android 手機前需先在 FPM2 解除它,無使用二次加密者請跳過此步驟。
![2013-10-09-fpm2-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaf5c22a.png "2013-10-09-fpm2-02.png")
▲ 可於 設定 (Settings) 底下找到 更改密碼 (Change Password)。
使用 FPM2Droid 之前,必須先將 FPM2 的密碼庫複製到 Android 手機裡,我們可以藉由幾種方案來進行:
1.
將密碼庫儲至 micro-SD 卡。
~~~
$ cp ~/.fpm/.fpm /media/sdcard/
~~~
1.
透過 [SSHDroid](https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid) 啟用 SSH 服務並使用 scp, sftp 傳送。
~~~
$ scp ~/.fpm/.fpm android:/storage/sdcard/fpm
~~~
1.
透過隨身碟與 OTG 模式傳輸。
### 資料來源
- [下載 FPM2 For Android: 生產力 | 4AndroidApps](http://tw.4androidapps.net/tag/productivity/fpm2-for-android-download-93568.html)
- [Figaro’s Password Manager (FPM2) for Android | braiden.org](http://braiden.org/?p=188)
- [braiden/fpm2-android](https://github.com/braiden/fpm2-android)
密碼管理員 – FPM2
最后更新于:2022-04-01 10:45:18
# 完全用 GNU/Linux 工作
### 22. 密碼管理員 - FPM2
![FPM logo](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae4b4e3.jpg "FPM logo")
[Figaro's Password Manager 2](http://als.regnet.cz/fpm2/) (fpm2) 是個基於 [Figaro's Password Manager](http://fpm.sourceforge.net/) 並使用 GTK+ 2.0 改寫的密碼管理員。它除了會將各個數值使用 AES-256 演算法 (algorithm) 加密以外,還可與特定檔案進行二次加密,兼具安全性與便利性,是凍仁工作上的好幫手。
安裝 fpm2。
~~~
# Debian, Ubuntu
$ sudo aptitude install fpm2
~~~
![2013-10-09-fpm2-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae55cf5.png "2013-10-09-fpm2-01.png")
▲ 搜索並執行 fpm2。
![2013-10-09-fpm2-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae699af.png "2013-10-09-fpm2-02.png")
▲ 第一次執行需設定密碼 (或使用特定檔案進行二次加密)。
![2013-10-09-fpm2-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae7f693.png "2013-10-09-fpm2-03.png")
▲ 成功進入 fpm2。
![2013-10-09-fpm2-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae8c94f.png "2013-10-09-fpm2-04.png")
▲ 新增帳密資訊。
![2013-10-09-fpm2-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaeb5226.png "2013-10-09-fpm2-05.png")
▲ 完成後將於總表列出。
![2013-10-09-fpm2-06.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaed4109.png "2013-10-09-fpm2-06.png")
▲ 往後執行時需通過認證才可使用。
![2013-10-09-fpm2-07.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaee1bd3.png "2013-10-09-fpm2-07.png")
▲ 若一開始有使用特定檔案進行二次加密,除密碼外還得指定該檔案才行。
![2013-10-09-fpm2-08.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaeed94d.png "2013-10-09-fpm2-08.png")
▲ 找到特定檔案後按下開啟 (Open)。
![2013-10-09-fpm2-09.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaf0f57a.png "2013-10-09-fpm2-09.png")
▲ FPM2 的密碼庫位於 $HOME/.fpm/fpm 。
或許會有伙伴懷疑 FPM2 安全性,這時可以使用文字編輯器開啟 *$HOME/.fpm/fpm* 即可知道答案。
### 資料來源
- [8 of the best Linux password managers | News | TechRadar](http://www.techradar.com/news/software/applications/8-of-the-best-linux-password-managers-916152)
遠端桌面軟體 – Remmina
最后更新于:2022-04-01 10:45:16
# 完全用 GNU/Linux 工作
### 21. 遠端桌面軟體 - Remmina
[Remmina](http://en.wikipedia.org/wiki/Remmina) 是 GNU/Linux 裡凍仁覺得最好用的遠端桌面軟體!它是從 rdesktop 分支出來的一個專案,並於 Debian 6.0, Ubuntu 10.04 開始收錄至官方套件庫中。支援的協定有 [RDP](http://zh.wikipedia.org/wiki/%E9%81%A0%E7%AB%AF%E6%A1%8C%E9%9D%A2%E5%8D%94%E5%AE%9A), [VNC](http://zh.wikipedia.org/wiki/VNC), NX, XDMCP 和 SSH。
推薦 Remmina 給大家的原因是:它除了支援多種協定之外,還可於狀態通知區快速啟動,這對平時得在各個機器切換遠端中的凍仁而言,是個很貼心的設計。
![2013-10-08-remmina-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae05289.png "2013-10-08-remmina-05.png")
▲ 於狀態通知區的 Remmina。
安裝 remmina
~~~
# Debian, Ubuntu
$ sudo aptitude install remmina
~~~
裝好用可以於 *應用程式 (Applications) → 網際網路 (Internet) → Remmina 遠端桌面客戶端* 來啟動它,接下來將以新增 Windows 的遠端設定做為示範。
1.
新增遠端機器。
![2013-10-08-remmina-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae1230e.png "2013-10-08-remmina-01.png")
▲ 於畫面的左上方找到 文件+ 的圖示。
1.
選擇 RDP 協定並依序輸入各欄位資料。
![2013-10-08-remmina-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae25ccc.png "2013-10-08-remmina-03.png")
▲ RDP 基本設定。
- Name: 命名該機器 (設定)。
- Group: 設定群組。
- Protocol: 選擇協定。
- Server: 伺服器的 IP 位址或網域名稱。
- User name: 帳號。
- Password: 密碼。
- Resolution: 解析度,可使用終端的解析度或自訂大小。
- Color depth: 色深,256 色、高彩及全彩等等。
- Share folder: 共享資料夾。
1.
除基本設定外,還可設定 SSH tunnel,可以省下於終端機 (Terminal) 下敲指令的動作。
![2013-10-08-remmina-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae33220.png "2013-10-08-remmina-04.png")
▲ SSH tunnel 設定。
- SSH Server: 若提供 SSH 服務的機器與上方不同,則需使用自訂 (Custom) 一項,並給予 IP 及 Port,例:192.168.11.22:3344。
- SSH Authentication: 設定 SSH 帳號,支援公鑰登入,若非 id_rsa 則需使用辨識身份檔 (identify file) 手動選取。
1.
最後可以在 plugins 的列表中看到各種支援的協定。
![2013-10-08-remmina-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbae40a83.png "2013-10-08-remmina-02.png")
▲ Remmina → 工具 (Tool) → 插件 (plugins)。
- RDP: Windows 內建的遠端服務,預設使用 3389 埠口。
- VNC: 可跨平台的遠端服務,預設使用 5900 埠口。
- SSH: GNU/Linux 上的純文字遠端服務,預設使用 22 埠口。
### 資料來源
- [網工日誌: 以xrdp(remmina 遠端桌面客戶端)連接到ubuntu12.04 結果 只看到背景](http://dn2esinfo.blogspot.tw/2013/08/xrdpremmina-ubuntu1204.html)
- [鳥毅的Blog: 另一個Linux上的遠端桌面管理: Remmina](http://blog.tenyi.com/2013/02/linux-remmina.html)
- [Ubuntu 12.04 Dual-monitor 使用 Remmina 或 KRDC 遠端桌面連線工具 FullScreen 螢幕顯示的問題 | Jerry-Yang's Log](http://jerry2yang.wordpress.com/2012/05/31/ubuntu-12-04-dual-monitor-%E4%BD%BF%E7%94%A8-remmina-%E6%88%96-krdc-%E9%81%A0%E7%AB%AF%E6%A1%8C%E9%9D%A2%E9%80%A3%E7%B7%9A%E5%B7%A5%E5%85%B7-fullscreen-%E8%9E%A2%E5%B9%95%E9%A1%AF%E7%A4%BA%E7%9A%84/)
- [Ubuntu指南|Remmina 远程桌面客户端](http://teliute.org/linux/TeUbt/lesson49/lesson49.html)
- [SSH Tunnel - Tsung's Blog](http://blog.longwin.com.tw/2005/08/ssh_tunnel_setup_mysql/)
- [用 PuTTY 的 SSH Tunnel 瀏覽網頁 @ Vexed's Blog :: 隨意窩 Xuite日誌](http://blog.xuite.net/vexed/tech/22157888-%E7%94%A8+PuTTY+%E7%9A%84+SSH+Tunnel+%E7%80%8F%E8%A6%BD%E7%B6%B2%E9%A0%81)
增進 SSH 使用效率 – ssh_config
最后更新于:2022-04-01 10:45:14
# 完全用 GNU/Linux 工作
### 20. 增進 SSH 使用效率 - ssh_config
[SSH](http://zh.wikipedia.org/wiki/Secure_Shell) 可說是每台 GNU/Linux 必裝的服務之一,我們可以藉由它,在遠端進行一切的操作。為避免被怪客 (cracker) 入侵,會於提供該服務的機器加上限制,以提高安全性,例如:更改埠口 (Port)、限制 IP 登入或只使用金鑰登入 ... 等。
隨著機器數量及限制增加的同時,使用上的繁瑣及不便也會隨之增加。這時,我們可事先設定各個主機,以便日後的使用。Windows 上的 [PieTTY](http://ntu.csie.org/~piaip/pietty/), [Xshell](http://www.netsarang.com/products/xsh_overview.html) 皆有此功能,而在 Linux 裡凍仁則習慣直接編修 openssh-client 的設定檔 *$HOME/.ssh/config*。
### 基本使用
設定各個主機 (Host) 的 SSH 設定。
~~~
$ vi ~/.ssh/config
# - master
Host master # 代號
Hostname 192.168.11.24 # IP or Domain name
Port 2222 # 指定埠口
User jonny # 使用者名稱
identityfile ~/.ssh/id_rsa_24 # 指定金鑰
# - slave
Host slave # 代號
Hostname 192.168.11.25 # IP or Domain name
Port 2223 # 指定埠口
User jonny # 使用者名稱
identityfile ~/.ssh/id_rsa_25 # 指定金鑰
~~~
使用 *$HOME/.ssh/config* 設定檔連接各主機。
~~~
[ jonny@workstation ~ ]
$ ssh slave
[ jonny@slave ~ ]
$ sftp master
Connected to master.
sftp>
~~~
### 進階使用
以下參數在較舊版的 openssh-server 可能不支援。
#### 認證代理
當本機上的同一把金鑰曾在多台 Server 上註冊並啟用此設定,則可於多台 Server 上轉發,也就是可使用本機的金鑰登入第二層、第三層的 Server。
~~~
ForwardAgent yes
~~~
#### 壓縮頻寬
先藉由 CPU 壓縮後再進行傳輸,適用於效能較好的機器。
~~~
Compression yes
~~~
#### 減少重複連線的時間
~~~
ControlMaster auto
ControlPath /tmp/ssh-%r@%h:%p
~~~
#### 延長連線時間
~~~
ControlPersist 1h
~~~
#### 取消連線加密
於區網、可信賴的網路環境及大量檔案傳輸之情境使用此參數可有效減少 CPU 負載以提升傳輸速度。
~~~
Ciphers arcfour
~~~
更多詳細說明請參考 [Manpage](http://manpages.ubuntu.com/manpages/lucid/man5/ssh_config.5.html)。
~~~
man ssh_config
~~~
### 資料來源
- [教你高效使用SSH 的16 個技巧 _人人IT網](http://rritw.com/a/JAVAbiancheng/ANT/20130828/416208.html)
- [SSH Can Do That? Productivity Tips for Working with Remote Servers | Smylers [blogs.perl.org]](http://blogs.perl.org/users/smylers/2011/08/ssh-productivity-tips.html)
- [Using an SSH Config File](https://kb.mediatemple.net/questions/1625/Using+an+SSH+Config+File)
- [How To Reuse SSH Connection To Speed Up Remote Login Process](http://www.cyberciti.biz/faq/linux-unix-reuse-openssh-connection/)
- [凍仁的筆記: ssh 遠端登入免密碼 with RSA](http://note.drx.tw/2010/06/ssh-by-rsa.html)
- [凍仁的筆記: 阻擋 sshd 部分使用者連線 (DenyUsers, DenyGroups)](http://note.drx.tw/2008/03/sshdenyusers-denygroups.html)
- [凍仁的筆記: scp - 藉由 ssh 的遠端檔案傳輸指令](http://note.drx.tw/2008/03/ubuntuscp-part1.html)
- [凍仁的筆記: sshd 停用 root 遠端登入權限](http://note.drx.tw/2008/01/ssh.html)
虛擬機器 – VMware Player 5
最后更新于:2022-04-01 10:45:11
# 完全用 GNU/Linux 工作
### 19. 虛擬機器 - VMware Player 5
若跨平台虛擬化 (Wine, CrossOver) 的解決方案還是無法解決我們的需求,這時不妨跑個虛擬機器來執行 (對追求效能、繪圖及 3D 動畫製作者不適用)。想跑虛擬機器除了硬體 (CPU, RAM) 得夠力以外,有些 CPU 本身更支援[硬體輔助虛擬化](http://zh.wikipedia.org/wiki/%E7%A1%AC%E4%BB%B6%E8%99%9A%E6%8B%9F%E5%8C%96#.E7.A1.AC.E4.BB.B6.E8.BE.85.E5.8A.A9.E8.99.9A.E6.8B.9F.E5.8C.96),若能啟用它必定能得到最大的效益,否則只是半虛擬化。
![2013-09-04-run-vmplayer5.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbadcd4ad.png)
▲ Ubuntu 12.04 LTS 上的 VMware Player 5 載圖。
在 GNU/Linux 裡,我們可以使用以下指令檢查 CPU 是否支援[虛擬化 (Virtualization)](http://zh.wikipedia.org/wiki/%E8%99%9B%E6%93%AC%E5%8C%96)。
~~~
$ egrep '(vmx|svm)' /proc/cpuinfo
......
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
# Intel: vmx
# AMD: svm
~~~
若 CPU 不支援 Virtualization,請優先考慮 [VMware Player](http://zh.wikipedia.org/wiki/VMware#VMware_Player),不過它一次只可開啟一個 Guest OS;若有多重需求則建議使用 [VirtualBox](http://zh.wikipedia.org/wiki/VirtualBox)。隨著同時開啟的 Guest OS 越多對硬碟的 I/O 負擔也會越高,切記!
由於 VMware Player 並沒有納入套件庫中,所以首先我們得至 [VMware Player 官網](https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0)下載 (此以 VMware Player 5 - 64bit 為例)。
![2013-09-04-dl-vmplayer5.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbade355d.png)
▲ 官網下載頁面截圖。
驗證檔案完整性。
~~~
$ md5sum VMware-Player-5.0.2-1031769.x86_64.txt
VMware-Player-5.0.2-1031769.x86_64.txt b9eb3f7690d1b76bdf23ee2c315eebfa
~~~
安裝 Linux 核心 (kernel) 相關套件。
~~~
$ sudo aptitude install build-essential linux-headers-$(uname -r)
~~~
附予安裝檔執行權限。
~~~
$ chmod +x VMware-Player-5.0.2-1031769.x86_64.txt
~~~
執行安裝檔以安裝 VMware Player 5。
~~~
$ sudo ./VMware-Player-5.0.2-1031769.x86_64.txt
~~~
接下來就看客官慣用哪種 OS 了。
### 資料來源
- [VMware/Player - Community Ubuntu Documentation](https://help.ubuntu.com/community/VMware/Player)
- [Linux Tip: How to Tell if Your Processor Supports VT](http://www.howtogeek.com/howto/linux/linux-tip-how-to-tell-if-your-processor-supports-vt/)
- [Linux: Find Out If CPU Support Intel VT and AMD-V Virtualization Support](http://www.cyberciti.biz/faq/linux-xen-vmware-kvm-intel-vt-amd-v-support/)
- [VMWare Player – 免費虛擬機器軟體,玩作業系統、測試軟體必備 | 0與1的邂逅](http://blog.joaoko.net/archives/3880)
藉由 CrossOver 安裝 Microsoft Office 2007
最后更新于:2022-04-01 10:45:09
# 完全用 GNU/Linux 工作
### 18. 藉由 CrossOver 安裝 Microsoft Office 2007
純文字的世界不是萬能的,雖說有 [Markdown](http://zh.wikipedia.org/wiki/Markdown), [reStructuredText](http://zh.wikipedia.org/wiki/ReStructuredText) 及 [LaTeX](http://zh.wikipedia.org/wiki/LaTeX) 這些很棒的語法可以編寫文件,可它們還是會有不適用的情形 (例如:老師交待的報告、老闆要的報表 …)。
我們或許可改用 LibreOffice 來過關,但凍仁還是比較喜歡在 GNU/Linux 裡使用 Microsoft Office 的方案,這樣就可以直接避開文件的相容性問題。
![2013-09-16-crossover-18.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbab6bd08.png "2013-09-16-crossover-18.png")
▲ Microsoft Office 2007 於 Ubuntu 12.04 LTS 上的截圖。
### 安裝 Microsoft Office 2007
若手邊的 Office 為映像檔,必須先掛載才可進行安裝程序。
~~~
$ sudo mount -o loop OFFICE12.iso /mnt
~~~
接續[上文](#)的最後,接下來就可以開始安裝 Microsoft Office 了,以下使用 2007 為範例。
![2013-09-16-crossover-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbab7dd07.png "2013-09-16-crossover-03.png")
▲ 於列表中選取 **Microsoft Office 2007** 並按下**執行**。
若出現「缺少 32 位元的 libjpeg.so.62 函式庫」的訊息,請順手補上 libjpeg62:i386 一套件。
~~~
$ sudo apt-get install libjpeg62:i386
~~~
![2012-09-16-crossover-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbab987f9.png "2013-09-16-crossover-04.png")
▲ 按下**選擇安裝文件夾**並將其設定成 /mnt。
![2013-09-16-crossover-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbabab88c.png "2013-09-16-crossover-05.png")
▲ CrossOver 已經很聰明的將 Office 的安裝光碟辨識出來。
![2013-09-16-crossover-06.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbabc432c.png "2013-09-16-crossover-06.png")
▲ 裝完 libjpeg62 後有重開 CrossOver 的伙伴就會看紅字已消失,接著請按**安裝**。
![2013-09-16-crossover-07.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbabd56f1.png "2013-09-16-crossover-07.png")
▲ 使用 CrossOver 的好處就是它會自行建立所需要環境,不像使用 Wine 時調了一堆選項還不見得可以動。
![2013-09-16-crossover-08.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbabe4988.png "2013-09-16-crossover-08.png")
▲ 安裝 MS Font Family。
![2013-09-16-crossover-09.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbac27ee6.png "2013-09-16-crossover-09.png")
▲ 輸入產品金鑰。
![2013-09-16-crossover-10.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbac3fda2.png "2013-09-16-crossover-10.png")
▲ 軟體授權同意書。
![2013-09-16-crossover-11.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbac57882.png "2013-09-16-crossover-11.png")
▲ 部份軟體不見得用的到,可於**自訂**取消之。
![2013-09-16-crossover-12.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbac6884b.png "2013-09-16-crossover-12.png")
▲ 請依個人需求選取欲安裝的部份。
![2013-09-16-crossover-13.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbac85e2c.png "2013-09-16-crossover-13.png")
▲ 輸入使用者的相關資訊。
![2013-09-16-crossover-15.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaca359a.png "2013-09-16-crossover-15.png")
▲ 安裝 Office 的同時也可以看到 CrossOver 也完成了不少項目。
![2013-09-16-crossover-16.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbacc5c4b.png "2013-09-16-crossover-16.png")
▲ 安裝完成。
![2013-09-16-crossover-17.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbacd6bec.png "2013-09-16-crossover-17.png")
▲ 完成後就可以於 CrossOver 的初始畫面中看到 Office 的相關軟體。
#### 安裝 PDF / XPS 增益集 (plugin)
一份正式的文件,除了要保留原始檔 (doc, xls, ppt) 之外,建議也存一份 PDF,這樣才可確保在其它機器上能有正確的呈現。Office 2007 預設沒有另存成 PDF 的功能,需手動下載並安裝 **SaveAsPDFandXPS.exe** 才行。
![2013-09-16-crossover-19.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbacebd18.png "2013-09-16-crossover-19.png")
▲ 從官方 Microsoft 下載中心下載 [2007 Microsoft Office 增益集:Microsoft 另存 PDF 或 XPS 檔](http://www.microsoft.com/zh-tw/download/details.aspx?id=7)。
![2013-09-16-crossover-20.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad18c25.png "2013-09-16-crossover-20.png")
▲ 回到安裝 Office 的畫面,並記得將容器指定為 **Microsoft_Office_2007**。
![2013-09-16-crossover-22.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad31abc.png "2013-09-16-crossover-22.png")
▲ 與上次不同,這次得使用**選擇安裝文件**進行。
![2013-09-16-crossover-23.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad46d01.png "2013-09-16-crossover-23.png")
▲ 找到從官網下載的 **SaveAsPDFandXPS.exe** 並**開啟**。
![2013-09-16-crossover-24.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad579aa.png "2013-09-16-crossover-24.png")
▲ 確認容器、plugin 無誤後就可以繼續安裝了。
![2013-09-16-crossover-25.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad74b55.png "2013-09-16-crossover-25.png")
▲ 勾選並同意軟體授權。
![2013-09-16-crossover-26.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad84fd1.png "2013-09-16-crossover-26.png")
▲ 完成,這下 Office 2007 也可將文件另存成 PDF 了。
![2013-09-16-crossover-27.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbad99efa.png "2013-09-16-crossover-27.png")
▲ 在**另存新檔**裡多了**PDF 或 XPS (P)**。
![2013-09-16-crossover-28.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbadae1dc.png "2013-09-16-crossover-28.png")
▲ 選擇存放位置。
![2013-09-16-crossover-29.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbadbed3d.png "2013-09-16-crossover-29.png")
▲ 附上另存成 PDF 的文件截圖。
最後別忘了卸載 /mnt 或退出光碟唷。
~~~
$ sudo umount /mnt
~~~
值得一提的是,另存 PDF 的套件凍仁只有在使用 CrossOver 安裝的 Office 2007 底下成功過,使用 Wine 的伙伴可能得放棄此功能。
### 資料來源
- [2007 Microsoft Office 增益集:Microsoft 另存 PDF 或 XPS 檔](http://www.microsoft.com/zh-tw/download/details.aspx?id=7)
- [Microsoft Office 2007 入門 - Office.com](http://office.microsoft.com/zh-hk/support/FX010105508.aspx)
商業版的 Wine – CrossOver
最后更新于:2022-04-01 10:45:07
# 完全用 GNU/Linux 工作
### 17. 商業版的 Wine - CrossOver
Windows 上多數的軟體在 GNU/Linux 裡都有替代方案 (請參考 [《OSSF自由開源軟體常見問答手冊》](https://ossf.hackpad.com/OSSF-Final-EYVXeG6oO99)),但還是有無法取代的軟體 (例如:Adobe Photoshop, Forticlient, Microsoft Office 等)。有些我們可使用 [Wine](http://zh.wikipedia.org/wiki/Wine) 和 [PlayOnLinux](http://en.wikipedia.org/wiki/PlayOnLinux) 這類的模擬器來執行 (例如:WinSCP, 軒轅劍 3 等),可它們不見得穩定;對於追求穩定和不考慮跑虛擬機器的伙伴而言,有商業公司支持的 [CrossOver](http://zh.wikipedia.org/wiki/CrossOver) 也是個不錯的選擇。
穩定的等價交換就是得花點小錢,最便宜的月租方案為 $39.95 USD,不然就得等官方不定期的限時免費活動。刷卡前請記得先行試用,對了胃再下手也不遲。
![2013-09-16-crossovr-00.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaadbe52.png "2013-09-16-crossover-00.png")
▲ [CrossOver 官方網站](http://www.codeweavers.com/)
下載 [CrossOver](http://media.codeweavers.com/pub/crossover/cxlinux/demo/)。
~~~
# 64 bit
$ wget http://media.codeweavers.com/pub/crossover/cxlinux/demo/ia32-crossover_12.5.0-1_amd64.deb
# 32 bit
$ wget http://media.codeweavers.com/pub/crossover/cxlinux/demo/crossover_12.5.0-1_i386.deb
~~~
若安裝時有缺少套件,須先補完才可繼續進行。
~~~
$ sudo aptitude install libc6-i386 ia32-libs ia32-apt-get lib32gcc1 lib32nss-mdns lib32z1 lib32asound2
......
The following partially installed packages will be configured:
ia32-crossover
The following packages are RECOMMENDED but will NOT be installed:
libqt4-sql-mysql:i386 libqt4-sql-odbc:i386 libqt4-sql-psql:i386 libqt4-sql-sqlite:i386
0 packages upgraded, 244 newly installed, 0 to remove and 0 not upgraded.
Need to get 80.3 MB of archives. After unpacking 252 MB will be used.
Do you want to continue? [Y/n/?]
~~~
安裝 CrossOver
~~~
$ sudo dpkg -i ia32-crossover_11.3.1-1_amd64.deb
(Reading database ... 242642 files and directories currently installed.)
Preparing to replace ia32-crossover 11.3.1-1 (using ia32-crossover_11.3.1-1_amd64.deb) ...
Unpacking replacement ia32-crossover ...
Setting up ia32-crossover (11.3.1-1) ...
Verified OK
Processing triggers for doc-base ...
Processing 1 changed doc-base file...
Registering documents with scrollkeeper...
~~~
安裝完可於應用程式選單內的 CrossOver 找到 Install Windows Software。
![2013-09-16-crossover-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbab10570.png "2013-09-16-crossover-01.png")
▲ CrossOver 12.5.0-1 的 Windows 軟體安裝介面。
![2013-09-16-crossover-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbab56611.png "2013-09-16-crossover-02.png")
▲ 進入之後可看見官方支援的項目,例如 Microsoft Office, LINE, Evernote ...,詳情請參考 [Top Lists - CodeWeavers](http://www.codeweavers.com/compatibility/toplists/)。
### 資料來源
- [虛擬化 - 維基百科](http://zh.wikipedia.org/wiki/%E8%99%9B%E6%93%AC%E5%8C%96)
- [CrossOver Linux 今日限时免费 — LinuxTOY](http://linuxtoy.org/archives/crossover-linux.html)
- [CrossOver Linux Users Guide - CodeWeavers](http://www.codeweavers.com/support/docs/crossover-pro/)
於 Vim 裡使用 sdcv
最后更新于:2022-04-01 10:45:05
# 完全用 GNU/Linux 工作
### 16. 於 Vim 裡使用 sdcv
撰寫上文 ([文字界面的字典 sdcv](#)) 時找到 [Yunt](http://my.opera.com/yunt/blog/show.dml/304842) 的**在 Vim 裡使用 sdcv 的 plugin**,凍仁現在只需使用 *\w* 即可快查單字,連原先輸入的動作都省了,這下就可以得到有選字取詞功能的 sdcv 了,(詳情請參考 [vim-sdcv](https://github.com/chusiang/vim-sdcv))。
![2013-10-03-sdcv-vim.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaaabcae.png "2013-10-03-sdcv-vim.png")
▲ 可選字取詞的 Vim。
下載
~~~
# Git
$ git clone https://github.com/chusiang/vim-sdcv.git
# Tarball
$ wget https://github.com/chusiang/vim-sdcv/archive/master.zip
~~~
將 sdcv.vim 複製到 ~/.vim/plugin 底下。
~~~
# Git
$ cp vim-sdcv/plugin/sdcv.vim ~/.vim/plugin
# Tarball
$ unzip master.zip
$ cp vim-sdcv-master/plugin/sdcv.vim ~/.vim/plugin
~~~
若無此目錄,請先手動建立。
~~~
$ mkdir ~/.vim/plugin
~~~
於 vimrc 底下新增快捷鍵。
~~~
$ vim ~/.vimrc
......
nmap <leader>w :call SearchWord()<CR>
~~~
完成,這下使用 Vim 時就可以使用 `\w` 來選字查字典了!
### 補充說明
在 Vim 裡也可透過 `set keywordprg=sdcv` 將原先查 Man page 的 K 替代成 sdcv,然後就可以透過 K 來查字典了。
![2013-10-03-sdcv-in-vim-k.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaac7c7a.png "2013-10-03-sdcv-in-vim-k.png")
▲ 拿 Man page 的儀表板來選字取詞查字典。
### 資料來源
- [Yunt - Vim 中使用 Stardict](http://my.opera.com/yunt/blog/show.dml/304842)
- [文字介面字典結合 vim - Tsung's Blog](http://blog.longwin.com.tw/2007/02/command_line_dict_use_in_vim/)
文字界面的字典 sdcv
最后更新于:2022-04-01 10:45:02
# 完全用 GNU/Linux 工作
### 15. 文字界面的字典 - sdcv
sdcv 可以說是文字界面的[星際譯王 (StarDict)](http://zh.wikipedia.org/zh-tw/%E6%98%9F%E9%9A%9B%E8%AD%AF%E7%8E%8B),它能使用星際譯王的字典詞庫,所以不用怕哪天沒人維護 StarDict,與其開啟圖形介面來查個單字,不如直接開終端機來的迅速。以下凍仁就列出幾項優缺點:
- 優點:
- 可於各種 terminator 使用,搭配 [Guake](http://note.drx.tw/2013/06/guake-terminal-on-mate-x-debian-70.html) 有加分效果。
- 可使用相同的字典詞庫。
- 可與純文字的工具搭配使用。
- 缺點:
- 需自備字典詞庫
- 無法選字取詞。
- 無法使用網路辭典。
安裝 sdcv。
~~~
# Debian, Ubuntu.
$ sudo aptitude install sdcv
# CentOS, RHEL, Fedora (need EPEL repo)。
$ sudo yum install sdcv
~~~
下載字典檔 ([星際譯王詞庫 | zh_TW](http://abloz.com/huzheng/stardict-dic/zh_TW/))。
~~~
# 朗道英漢字典
$ wget http://abloz.com/huzheng/stardict-dic/zh_TW/stardict-langdao-ec-big5-2.4.2.tar.bz2
# 朗道漢英字典
$ wget http://abloz.com/huzheng/stardict-dic/zh_TW/stardict-langdao-ce-big5-2.4.2.tar.bz2
~~~
### 於終端機下使用 sdcv
安裝字典檔。
~~~
# 於家目錄底下建立字典檔目錄。
$ mkdir -p $HOME/.stardict/dic
# 將字典檔解壓縮至 $HOME/.stardict/dic。
$ tar jxvf /dev/shm/stardict-langdao-ce-big5-2.4.2.tar.bz2 -C $HOME/.stardict/dic
$ tar jxvf /dev/shm/stardict-langdao-ec-big5-2.4.2.tar.bz2 -C $HOME/.stardict/dic
~~~
列出有效的字典。
~~~
$ sdcv -l
Dictionary's name Word count
朗道漢英字典5.0 395426
朗道英漢字典5.0 423246
~~~
單字查詢 (只查一個單字)。
~~~
$ sdcv hello
Found 1 items, similar to hello.
-->朗道英漢字典5.0
-->hello
*[hә'lәu]
interj. 喂, 嘿
~~~
多重查詢 (進入無限查詢狀態),使用 Ctrl + C 或 D 離開。
~~~
$ sdcv
Enter word or phrase: 企鵝
Found 1 items, similar to 企鵝.
-->朗道漢英字典5.0
-->企鵝
penguin
Enter word or phrase: 黃色小鴨
Found 10 items, similar to 黃色小鴨.
0)朗道漢英字典5.0-->橙黃色小球菌
1)朗道漢英字典5.0-->白色小球菌
2)朗道漢英字典5.0-->變色小冠花
3)朗道漢英字典5.0-->黃斑小動脈
4)朗道漢英字典5.0-->黃色
5)朗道漢英字典5.0-->黃色人種的
6)朗道漢英字典5.0-->黃色八迭球菌
7)朗道漢英字典5.0-->黃色印刷品
8)朗道漢英字典5.0-->黃色厚革
9)朗道漢英字典5.0-->黃色報刊
Your choice[-1 to abort]:
~~~
觀看歷史查詢記錄。
~~~
$ cat $HOME/.sdcv_history | tail
free
hello
pase
和平
綠色
green
color
123
hello
hello
~~~
### 補充說明
若想於終端機查 Yahoo! 奇摩字典,可以試試看 [ydict](https://github.com/freehaha/ydict)。
![ydict](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa7dd4d.png "ydict")
▲ 豐有色彩的 ydict。
### 資料來源
- [sdcv 文字介面字典工具 | SSORC.tw](http://ssorc.tw/?p=112)
- [stardict-3 - Google Project Hosting](https://code.google.com/p/stardict-3/)
- [StarDict Dictionaries -- 星際譯王詞庫](http://abloz.com/huzheng/stardict-dic/)
- [sdcv 及其词库安装](http://www.360doc.com/content/11/1226/21/3508740_175185933.shtml)
- [整合線上功能的翻譯軟體新秀:GoldenDict | 簡睿隨筆簡睿隨筆](http://jdev.tw/blog/2360/goldendict-translation)
- [GoldenDict - Google Play Android 應用程式](https://play.google.com/store/apps/details?id=mobi.goldendict.android&hl=zh_TW)
色碼擷取器 – Gpick vs Gcolor2
最后更新于:2022-04-01 10:45:00
# 完全用 GNU/Linux 工作
### 14. 色碼擷取器 - Gpick vs Gcolor2
在開發網頁時多少會自訂些顏色來符合網站整體的風格,這時凍仁會先透過「色碼擷取器」來挑選適合的顏色。在 GNU/Linux 裡我們可以使用 [Gpick](http://code.google.com/p/gpick/) 及 [Gcolor2](http://gcolor2.sourceforge.net/) 來擷取它們。
Gpick 是個基於 C++ 及 GTK+ 所開發的進階色碼擷取器,完整度比 Gcolor2 高上不少。前者除了色碼擷取 (Color picker) 跟色碼產生器 (Scheme generation) 以外,更多了協助色碼擷取的貼心放大鏡以及版面預覽 (Layout preview) 功能。
![2013-10-01-gpick-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa040cd.png "2013-10-01-gpick-01.png")
▲ Gpick 截圖。
安裝 gpick
~~~
# Arch Linux
$ sudo pacman -S gpick
# CentOS, RHEL, Fedora
$ sudo yum install gpick
# Debian, Ubuntu
$ sudo aptitude install gpick
# SUSE, openSUSE
$ sudo zypper in gpick
~~~
色碼擷取 (Color picker):移動滑鼠並於欲擷取的地方按下空白鍵。
![2013-10-01-gpick-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa13d7c.png "2013-10-01-gpick-02.png")
▲ Color picker。
色碼產生器 (Scheme generation):轉動色盤以產生各種顏色。
![2013-10-01-gpick-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa2bba9.png "2013-10-01-gpick-03.png")
▲ Scheme generation。
版面預覽 (Layout preview):藉由蒐集的色碼進行網頁、選單等的設計。
![2013-10-01-gpick-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa43f7e.png "2013-10-01-gpick-04.png")
▲ Layout preview。
色碼轉換:在色碼、區塊上開啟右鍵選單時可透過「複製到寫字板 (Copy to clipboard)」將色碼轉成 16 進位、RGB、HSL 三種格式。
![2013-10-01-gpick-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa5a277.png "2013-10-01-gpick-05.png")
▲ Copy to clipboard。
若客官喜歡功能較簡潔的色碼擷取器,不訪試試看 Gcolor2,其套件容量約比 Gpick 小 3 倍。
~~~
# Debian, Ubuntu
$ sudo aptitude install gcolor2
# CentOS 6.4 的套件庫尚未收錄 gcolor2。
~~~
![2013-10-01-gcolor2-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bbaa6e648.png "2013-10-01-gcolor2-01.png")
▲ gcolor2 截圖。
### 資料來源
- [HSL 和 HSV 色彩空間 - 維基百科](http://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4)
- [[CSS3] hsl 及 hsla 顏色 | 男丁格爾's 脫殼玩](http://abgne.tw/css/css3-lab/css3-hsl-hsla-color.html)
- [gpick: 功能强大的拾色器 — LinuxTOY](http://linuxtoy.org/archives/gpick.html)
- [Digitized Life: 玄關色彩計畫 - Gpick](http://digitized-life.blogspot.tw/2012/09/blog-post_30.html)
- [PicPick](http://www.picpick.org/en/) - Color picker for Windows.
- [PicPick v3.2.7 抓圖、圈選、畫箭頭、加註解…一次搞定!(繁體中文版) | 重灌狂人](http://briian.com/?p=6086)
Pentadactyl
最后更新于:2022-04-01 10:44:58
# 完全用 GNU/Linux 工作
### 13. Pentadactyl
[Pentadactyl](http://5digits.org/pentadactyl/) 是個號稱「只用五隻手指」就可以完全操控 Firefox 的 Vim-like 套件,而且相似度極高,不管是 hjkl 的操作模式、自訂快捷鍵 (keymap) 還是更換佈景主題 (colorsheme) 它都辦得到。
它與 [Vimperator](http://www.vimperator.org/vimperator) 的差異在於:前者是在 Firefox 實作出 100% 的 Vim;後者優化了瀏覽上的使用者體驗,並標榜它是可用、簡潔、穩定及具有設計的。事實上後者對於新版的 Firefox 較不友善,常跟不上更新 (或許是該怪 Firefox 更新速度過快),除此之外前者的高自訂性以及其它的林林總總讓凍仁最後選擇了 Pentadactyl。
![2013-09-30-pentadactyl-01.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bba9768b7.png "2013-09-30-pentadactyl-01.png")
▲ Pentadactyl 操作手冊 (:help)。
### 快速上手
若 Firefox 版本太新,請至 Pentadactyl 官方網站手動安裝 [Nightly builds](http://5digits.org/nightlies) 的版本。
![2013-09-30-pentadactyl-05.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bba990b57.png "2013-09-30-pentadactyl-05.png")
▲ [Add-ons | Mozilla](https://addons.mozilla.org/en-US/firefox/addon/pentadactyl/) 網站上的 plugin 已多年未更新。
圖形設定
~~~
:set go+=mTB<CR> # 顯示選單列、分頁列及書籤列。
~~~
頁面捲動
~~~
j " 往下捲動一行。
k " 往上捲動一行。
<C-f> " 往下捲動一頁。
<C-b> " 往上捲動一頁。
~~~
分頁及歷史記錄
~~~
gt " 前往下個分頁。
gT " 前往上個分頁。
g0 " 前往第一個分頁。
g$ " 前往最後一個分頁。
d " 關閉當前分頁。
" 開啟新分頁,可依輸入的文字進行搜尋或開啟書籤、歷史記錄。
t drx.tw
" 於當前分頁進行搜尋或開啟書籤、歷史記錄。
o drx.tw
~~~
### 凍仁的 Pentadactyl
如不想使用凍仁的 Pentadactyl 環境設定 (pentadactylrc),請跳過此步驟。
下載凍仁的環境設定。
~~~
[ jonny@wheezy ~ ]$
$ wget https://raw.github.com/chusiang/tuxENV/master/home/_pentadactylrc
~~~
將設定檔移至家目錄底下。
~~~
[ jonny@wheezy ~ ]$
$ mv _pentadactylrc ~/.pentadactylrc
~~~
重開 Firefox (或於 Pentadactyl 底下使用 *:source ~/.pentadactylrc* 重新讀取設定 )。
※ 註:以下設定需寫在 *~/.pentadactylrc* 才可儲存。
圖形設定。
~~~
" 預設只顯示書籤列 (B)、顯示分頁編號 (N)、狀態列 (s)。
:set guioptions=BNs
~~~
頁面捲動。
~~~
" 將 j, k 改成向下、上三行。
map -modes=n j -builtin 3j
map -modes=n k -builtin 3k
" 將 J, K 改成至向下、上半頁。
map -modes=n J <C-d>
map -modes=n K <C-u>
" 將 b 至換成往上一頁 (b 原先為 buffer 的快捷鍵)。
map -modes=n b <PageUp>
~~~
分頁切換 (在 Mac OSX 裡,若要改用 Cmd 來發動,則 A-? 的部份需改成 M-?)。
~~~
map -modes=n <A-e> <C-S-e> " Alt + e : 開啟群組分頁。
map -modes=n <A-j> gt " Alt + j : 前往下個分頁。
map -modes=n <A-k> gT " Alt + k : 前往上個分頁。
" Alt + 1 : 前往第 1-5, 7-8 及最後一個分頁。
map -modes=n <A-1> -builtin 1gt
map -modes=n <A-2> -builtin 2gt
map -modes=n <A-3> -builtin 3gt
map -modes=n <A-4> -builtin 4gt
map -modes=n <A-5> -builtin 5gt
map -modes=n <A-7> -builtin 7gt
map -modes=n <A-8> -builtin 8gt
map -modes=n <A-9> -builtin 99gt
~~~
快速推文。
~~~
" sf : 將文章分章至 Facebook。
map -modes=n sf o javascript:var%20d=document,f='http://www.facebook.com/share',l=d.location,e=encodeURIComponent,p='.php?src=bm&v=4&i=1253986134&u='+e(l.href)+'&t='+e(d.title);1;try{if%20(!/^(.*\.)?facebook\.[^.]*$/.test(l.host))throw(0);share_internal_bookmarklet(p)}catch(z)%20{a=function()%20{if%20(!window.open(f+'r'+p,'sharer','toolbar=0,status=0,resizable=1,width=626,height=436'))l.href=f+p};if%20(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else{a()}}void(0) <Return>
" sp : 將文章分章至 Plurk。
map -modes=n sp o javascript:%20void(window.open('http://www.plurk.com/m?qualifier=shares&content='%20.concat(encodeURIComponent(location.href))%20.concat('%20')%20.concat('(')%20.concat(encodeURIComponent(document.title))%20.concat(')'))); <Return>
~~~
依選取文字搜尋及前往。
~~~
" 於當前分頁。
map -modes=n o -js content.getSelection().toString()!=""?dactyl.execute(":open "+ content.getSelection()):Comm
andExMode().open("open ")
" 於新分頁。
map -modes=n t -js content.getSelection().toString()!=""?dactyl.execute(":tabopen "+ content.getSelection()):C
ommandExMode().open("tabopen ")
~~~
### 提示瀏覽 (surfing with hints)
於 **normal mode** 鍵入 f 及 F 時,Pentadactyl 會對所有的連結 (link) 進行提示 (hints),我們可透過鍵入 hints 的代號來開啟連結,其中 F 多了個背景開啟的屬性。
~~~
" 將提示代號自訂為 asdfghjkl;。
set hintkeys=asdfghjkl;
" 字形、字體調整。
hi Hint font:bold 16px monospace !important; margin:-.2ex; padding: 0 0 0 1px; outline:1px solid rgba(0, 0, 0, .5); background:rgba(255, 248, 231, .8); color:black; text-transform:uppercase;
~~~
![2013-09-30-pentadactyl-02.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bba9a5b6f.png "2013-09-30-pentadactyl-02.png")
▲ hints 截圖。
### 外部編輯器
於任何的文字框 (Text Box) **按下 Ctrl + i** 即可使用外部的 editor 編輯。有 Pentadactyl 接軌後就用不怕那些陽春的 editor 了。
~~~
" GVim
set editor='gvim -f +<line> +"sil! call cursor(0, <column>)" <file>'
" Bluefish
set editor='bluefish'
~~~
![2013-09-30-pentadactyl-03.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bba9c418c.png "2013-09-30-pentadactyl-03.png")
▲ Ctrl + i 啟用外部編輯器模式。
### 緩衝區 (buffer) / 網頁切換
類似 **TextMate 的 Cmd + T** 以及 [ctrlp.vim](https://github.com/kien/ctrlp.vim) 的功能,可以於 **normal mode**使用關鍵字搜尋並開啟網址。為求與 ctrlp.vim 相同的使用體驗,凍仁把原先快捷鍵 **b** 換成 **Ctrl + p** 了。
~~~
" 使用 Ctrl + p 開啟 buffer。
map -modes=n,v <C-p> -builtin b
~~~
![2013-09-30-pentadactyl-04.png](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-18_55d2bba9df2f8.png)
▲ buffer 比較:上為 Pentadactyl;下為 Vim。
### 資料來源
- [五指操控Firefox的「仿Vim」擴充套件: Vimperator/Pentadactyl | 簡睿隨筆簡睿隨筆](http://jdev.tw/blog/2375/firefox-addon-vimperator-pentadactyl-vim-like)
- [ctrlp.vim : O3noBLOG](https://blog.othree.net/log/2012/11/10/ctrlpvim/)
- [介紹 plugin: ctrlp.vim - Google 網上論壇](https://groups.google.com/forum/#!topic/vim-taiwan/dnuDsKmDRz4)
- [凍仁的筆記: Pentadactyl, Firefox F1 大亂鬥 on Firefox 4](http://note.drx.tw/2011/02/pentadactyl-firefox-f1-on-firefox-4.html)
- [凍仁的筆記: 自訂 Vimium 快捷鍵](http://note.drx.tw/2011/07/chromevimium.html)
- [Vimperator Vs Pentadactyl - vimperator-labs](http://code.google.com/p/vimperator-labs/wiki/VimperatorVsPentadactyl)