跳到主要內容

發表文章

漂亮的 uBuntu Icon - 「faenza-icon-theme」

在 Server 上已經習慣在 Terminal 環境中工作,在 Desktop 環境中還是希望是在一個有 GUI 的介面來操作,畢竟 Desktop 中需要聽音樂、看影片... 現在 Linux 的桌面環境越來越成熟了,不但安裝系統時可以很無痛,驅動、和所需的軟體也可以簡單的搞定。現在 uBuntu 更引進了 Software Center 的方式(雷同 Mac 的 App Store),安裝軟體也只要點一點就完成了。 無論是 uBuntu 的 Unity 桌面系統,還是 Fedora 預設的 Gnome Shell 3,都是很好用、容易上手的桌面環境,既然有了這麼好的桌面環境,龜毛的我當然更想要多一點變化,找些漂亮的圖示來變換一下,於是在  deviantArt  看到了  Faenza Icons  這個圖示集(如下圖) 在網路上查尋安裝方法,其實並不難。可以使用 PPA(Personal Package Archives)的方式來安裝,PPA 安裝方式如下: sudo add-apt-repository ppa:tiheum/equinox sudo apt-get update sudo apt-get install faenza-icon-theme 如果你和我一樣是使用 uBuntu 11.10 ,在安裝 add-apt-repository 時會出現 pycurl.error 問題,網路查詢問題後發現似乎是這個 11.10 版本的 Bug,看來目前尚未解決(據說都要出下一版了...)。沒關係,山不轉路轉~我們換個方式: 開啟 Software Source 管理程式 在 Other Software 頁籤下,點選 Add 按鈕。 在 APT line 中輸入 ppa:tiheum/equinox。 再到 Terminal 中執行安裝即可。 sudo apt-get install faenza-icon-theme 配合 Gnome Tweak Tool 更換 shell icon,就會有漂漂亮亮的圖示嘍!

Mac 環境中 Netbeans 中文輸入問題

換到 Mac 的環境後,感覺最大的差異大概就是似乎要花上一些購買軟體的費用,在 Mac 上也是有 Freeware,那大多不好用或是功能限制太多。還好當初主要的程式作業環境是使用跨平台的 Netbeans,功能強大、免費而且在每個平台的使用習慣相同,這是一個很重要的優點。 可是在 Mac 上似乎有一個小小的缺點,就是完全不理會中文輸入法...Coding 上沒有太大問題,但畢竟給使用者的訊息仍然是需要使用中文,總不能都在別的軟體上打一打再貼過來。上網請教了酷狗大神,終於獲得了解答。 我的環境是: Mac OS X (10.7.3) Netbeans 7.1 修改設定檔 netbeans.conf 檔案,檔案路徑如下: /Applications/NetBeans/NetBeans\ 7.1.app/Contents/Resources/NetBeans/etc/netbeans.conf 如果使用 Finder 請在 NetBeans 7.1.app 右鍵,顯示套件內容,在逐步找到 netbeans.conf 位置。 使用習慣的文字編輯器打開 netbeans.conf 檔,找到 netbeans_default_options 項目。 檢查是否已經有 java.awt.im.style 設定 如果沒有請在最後加上 -J-Djava.awt.im.style=on-the-spot ,如下: netbeans_default_options=" -J-Dcom.sun.mysql.startcommand=/usr/local/mysql/support-files/mysql-admin.server -J-Dcom.sun.mysql.stopcommand=/usr/local/mysql/support-files/mysql-admin.server -J-Dcom.sun.mysql.startargs=start -J-Dcom.sun.mysql.stopargs=stop -J-Dcom.sun.mysql.port=3306 -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true ...

在 Linux 中解決 umount 時 Divice is busy 的問題

現在 Linux 環境中掛載外接的設備越來越方便,支援度也越來越高,很多設備接上後直接自動 mount 上來,不需要在系統中慢慢找尋和掛載。接上設備很方便但往往在移除卸載時,有可能發生 Divice is busy 的狀況,可能有程式或是使用者正在使用,我們會擔心如果沒有正確移除設備,可能會造成資料的遺失資料的遺失或是資料可能會不完整。 要如何解決這樣的問題,讓我們可以卸載設備? 在安裝 Linux 時,就有支援 fuser 這個指令,這是用檔案或是檔案系統來找出使用者或程序的指令,詳細的使用參數可以在系統中 man 一下或是參考 鳥哥網站的說明 。 # fuser -m -v /mnt/mymount (mount point) -m: 顯示所有使用檔案或檔案系統的程序,後面可以接掛載點或設備。 -v: 列出詳細資訊 顯示的內容除了程序名稱,還會有 process id,有了 PID 就可以用其他指令來 kill 佔用的程序。 如果要查詢時一併馬上刪除佔用的程式,可以直接在加上 -k 這個參數。 # fuser -m -v -k /mnt/mymount (mount point) 如果擔心這樣刪除太狠了,可以再加上 -i 這個參數,在刪除前先跟下指令的使用者確認一下。 # fuser -m -v -k -i /mnt/mymount (mount point) (-i 需要和 -k 相互配合使用) 先處理佔用卸載資源的程序後,我們就可以安全的卸載和移除硬體了。

CEntOS RTNETLINK 錯誤修正

新的伺服器安裝了 CEntOS 6.2 系統,雖然 Redhat 6 開始多了許多的 GUI 工具,無法常常進入機房的情況下,還是習慣使用文字的方式來管理。 安裝的時候幾乎都使用了預設的套件選項,網路部分則會包含在這個版本新增的 NetworkManager 工具。完成安裝,第一次開機後在 GUI 環境下設定一切都相當順利的上線,而近來直接在 terminal 下直接修改 ifcfg-ethx(x為數字) 這個檔案後重新開機,網路部分會變成無法上線!即使刪除 ifcfg-ethx 再重新開啟 GUI 介面設定網路,仍然無法成功讓網路上線。 若將 network 重新啟動,則會出現如下的錯誤訊息: ... 略 ... RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists ... 略 ... 原來,這是 CEntOS 下兩個和網路相關的服務相互衝突造成的,一個是 /etc/init.d/network,另一個是 /etc/init.d/NetworkManager。網路上可以查到的解決方法為關閉 NetworkManager,可以用下面的指令來查詢開啟的網路管理服務。 # chkconfig --list | grep -i network 關閉開機啟動的方法為 # chkconfig NetworkManager off 要特別注意 network 服務有沒有預設啟動,沒有的話記得加上 # chkconfig network on 在關閉 NetworkManager 並重新啟動 network 時,仍然出現相同的錯誤訊息?!摸索一陣子後才發現,原來 ifcfg-ethx 裡的設定有一行也需要修改才行。 DEVICE="eth0" NM_CONTROLLED=" yes " -->" no "  <=== 是否由其他軟體管理,可能只的是 NetworkManager ONBOOT=" yes "  <=== 開機預設啟動 ... 略 ... 修改後再重新啟動 network 就可以上線正常運作了。

如何在 Blogger 上建立 code block 程式碼顯示區塊

近來瀏覽一些人的 Blogger 的技術教學時,常常發現在程式碼敘述的地方會出現一個區塊,把一段看起來像是混亂的程式碼包起來,增加了許多閱讀上的清晰度,區別文章的說明和程式碼內容,也很想加到自己的 Blogger 中,避免殘害瀏覽的朋友們 XXD 上網搜尋了一下,只要加入下面這一段 CSS 就可以實現: .post code {     display: block; /* fixes a strange ie margin bug */     font-family: Courier New;     font-size: 10pt;     margin:.75em 0;     overflow: auto;     background: #f0f0f0 url(http:// yourWebsite_Image_Storage /Code_BG.gif) left top repeat-y;     border: 1px solid #ccc;     padding: 10px 10px 10px 21px;     line-height: 1.2em;     white-space: pre; } 要怎麼放,放在哪裡呢?最近 Blogger 更換了新版的編輯介面,所以加入 CSS 的位置和網路上的順序有點不相同。 選擇左方功能表範本,點選右方的「修改 HTML」按鈕進入修改畫面。 繼續提示修改視窗後,在一拖拉庫程式碼中找到 Post 區段 插入前述的 CSS style 程式碼,yourWebsite_Image_Storage 修改為自己放置 Code_BG.gif 的位置。 完成後按「儲存範本」將修改儲存。 往後若有程式碼需要使用 Code block,編輯時切換至 HTML 模式,在程式碼的前後加上<code>程式碼</code>標籤。(注意:如果在 cod...

CEntOS 6 安裝 PHP Mcrypt 問題

利用新年假期,有個連續的時間可以幫新購的 Server 完成相關的設定,依照往常的安裝了 phpmyadmin 作為 MySQL 的 Web 管理介面。不同於往常的是這次 phpmyadmin 的登入認證改用 cookie 而不是用 http 的方式。這樣就不需要將帳密記錄在 config.inc.php 中。 而且使用 cookie 方式會有一個比較美化的登入介面,但是會需要 Mcrypt 這個函式庫。 Mcrypt 是一個強大的加密演算法函式庫, php 官方文件 中有相關說明,然而在 php 原本套件中不包含這個函式庫,CEntOS 6 的套件庫中也未包含 php-mcrypt 模組,無法使用 yum 安裝該函式庫,所以需要透過 Extra Packages for Enterprise Linux (EPEL) 套件庫來解決這個問題。 首先先安裝系統相對應的 package,我的是 EL 6 所以安裝 epel-release-6-5.noarch.rpm # rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm 更新套件庫 # yum update 檢查套件庫的清單中是不是包含了 epel 套件庫 # yum repolist ... 略 ... epel                    Extra Packages for Enterprise Linux 6 - x86_64 使用 yum 安裝 php-mcrypt # yum install php-mcrypt 重新啟動 Apache 讀取安裝的套件 # service httpd restart 大功告成嘍!重新回到 phpmyadmin 的登入畫面就不會在出現警告訊息了。

更改 Redhat or Fedora Linux 的 hostname

先前購買的兩個網域名稱到期,雖然早期透過 Google 應用服務購買的 Domain Name 可以設定多達200個電子郵件帳號,但現在的學生身分實在是想多節流一些,於是只能剩下後期購買覺得比較適合的網域名稱。 這讓我原先的 Server 面對一個新問題,那就是 hostname 的更換。Linux 系統還蠻重視 hostname 的正確性,在這裡記錄一下更換 hostname 需要設定哪些檔案。 主要有三個步驟需要完成: 寫在前面:在開始前需要用 root 的權限,可以使用 sudo 或是直接將身分切換到 root(#su -) 例:example.com --> myname.com 修改 /etc/hosts #vim /etc/hosts 127.0.0.1   example.com localhost.localdomain localhost 127.0.0.1   myname.com localhost.localdomain localhost 修改 /etc/sysconfig/network # vim /etc/sysconfig/network NETWORKING=yes HOSTNAME= example.com HOSTNAME= myname.com 使用 hostname 更換現在的 hostname # hostname myname.com # hostname   //再用 hostname 查詢一次 myname.com 如果有使用系統信件,必須要重新啟動 sendmail 讓他重新抓取 hostname,否則預設只 relay 本機的條件下會發生被 deny 的情形。 至於命令提示字元前的 hostname 則在登出再登入後就會生效。