解決在 Ubuntu 系統下 Chrome 瀏覽器亂碼

Screenshot from 2014-12-10 22:15:27

UbuntuChrome 瀏覽器一陣子後,突然發現全部的中文介面都變成亂碼,就像上面這張截圖一樣,除了網頁可以正常顯示外,其他像是 Tab 或書籤都變成亂碼,在百度找到這篇解答,解決方式很容易,但是就是不知道原因為什麼這樣改就可以,底下紀錄如何解決此問題。

Continue reading “解決在 Ubuntu 系統下 Chrome 瀏覽器亂碼”

CodeIgniter 搭配 Homestead 開發環境

CodeIgniter

HomesteadLaravel Framework 所提供出來的懶人安裝環境,大幅降低學習 Laravel 的門檻,大家都知道初學一套 Framework 最重要的是快速寫出 Hello world,如果初學者卡在環境都架設不來,那就更加不用接著學習 MVC 架構了,所以 Laravel 提供了 Homestead,不管你是用 Linux 或 Windows 都可以快速的把開發環境架設起來。相信很多人也從 CodeIgniter 跳往 Laravel 框架了,但是舊的網站還是要維護阿,所以這次透過 Laravel Homestead 一起來把 CodeIgniter 開發環境無痛架設起來,省去新人安裝 Nginx + PHP + MySQL 的時間。

Continue reading “CodeIgniter 搭配 Homestead 開發環境”

簡報 GNU Make, Autotools, CMake 簡介

SlideShare 看到一份專門介紹 Makefile 的簡報,寫得非常詳細,在這裡紀錄並分享給大家,有在寫 C/C++ 的朋友們必看阿。搞系統(Linux / FreeBSD)管理的工程師,也是必學工具之一。

在 Ubuntu 建置 OpenWrt 編譯環境

openwrt-logo

紀錄一下如何在用 VirtualBox 架設 Ubuntu OpenWrt 編譯環境,請記住不要下載 Ubuntu Server Disk 來安裝,會遇到很多奇怪的問題,為了避免編譯出錯,請選擇 Ubuntu 12.04 Desktop 版本,安裝時空間請盡量調大,反正 VirtualBox 也不會吃掉這麼多空間,用多少吃多少。Ubuntu 安裝完成後,請先安裝 openssh server 套件。完成後透過 VirtualBox Network 開啟 22 port forwarding。

# 有 aptitude 指令
$ aptitude -y install openssh-server
# 無 aptitude 指令
$ apt-get -y install openssh-server

由於是安裝桌面版本,所以一開始就會直接打開 lightdm 服務,請透過之前寫的文章 Ubuntu 停止使用 GUI 介面 12.04 LTS 來把桌面停用,這樣開機就直接進去 Text mode 了,避免浪費記憶體在桌面。最後補上相依性套件安裝

$ aptitude -y install build-essential bison flex gettext g++ help2man help2man zlib1g-dev libssl-dev gawk unzip

如果編譯過程有看到 script 檔編譯不過,可能就要換 Bash 環境編譯,請先備份 /bin/sh

$ cp -r /bin/sh /bin/sh2
$ ln -sf /bin/bash /bin/sh

完整的 GCC 套件相依性安裝可以直接看 Github 上面的安裝紀錄

修復 Ubuntu 開機 boot loader

logo-Ubuntu

昨天下午本來想幫自己的筆電 (Ubuntu OS) 升級記憶體,結果因為機型過於老舊,以現在的記憶體時脈 1600 裝上去後,直接讓 Ubuntu 當機,反覆重新開機,無法向下相容,加上現在記憶體狂漲價,找不到更低階的記憶體安裝了,無奈的是,店員幫忙測試筆電,換個記憶體,結果連 Ubuntu 的 boot loader 都可以壞掉。我看店員很緊張的說,不好意思,可以幫忙備份,幫忙我重灌。結果我還是自己拿回家處理比較安心。自己也不知道為什麼換個記憶體,可以讓 boot loader 消失。底下是修復 boot loader 過程

Continue reading “修復 Ubuntu 開機 boot loader”

在 Ubuntu 底下查詢記憶時脈體資訊

logo-Ubuntu

最近想升級 Notebook 記憶體到 16G,要查看 Ubuntu 底下記憶體時脈資訊,可以透過 dmidecode 指令來取的記憶體硬體裝置資訊,此指令不只是這樣而已,還可以得知整台電腦硬體 components 資訊,底下擷取如何得到記憶體裝置資訊

$ dmidecode --type 17 | more

輸出結果為

# dmidecode 2.11
SMBIOS 2.4 present.

Handle 0x0036, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0035
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2048 MB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM0
        Bank Locator: BANK 0
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1067 MHz
        Manufacturer: 80CE
        Serial Number: 621AD76C
        Asset Tag: Unknown
        Part Number: M471B5673FH0-CF8

可以看到目前其中一個記憶體插槽時脈為 1067 MHz,型態為 DDR3。這樣就可以直接去升級記憶體了 …

gulp-imagemin 在 Ubuntu 出現錯誤

gulp

在 deploy 程式碼到 production server 前,透過 gulp-imagemin 工具將全部圖片優化,上傳到 Amazon S3,Windows 底下正常運作,到了 Ubuntu 環境之下噴出底下錯誤訊息

Error: Lossy operations are not currently supported

後來在 grunt-contrib-imagemin@issues/180 有提人出此問題,解決方案就是升級 OptiPNG,因為 Ubuntu 的 apt 套件只有支援到 0.6.4 版本,請到 OptiPNG 官網下載最新 tar 檔,編譯重新安裝

Continue reading “gulp-imagemin 在 Ubuntu 出現錯誤”

Sublime Text 2 在 Ubuntu 中文輸入問題

Sublime_Text_Logo

Sublime Text 是一個非常好用的文字編輯器,如果不喜歡 Vim Console 介面,我強烈推薦這套,因為可以透過 Package Control 安裝實用的 Plugin。安裝好 Sublime Text 軟體後,發現切換輸入法跟 Sublime 預設的快捷鍵衝突,所以將 gcin 切換的快捷鍵也換掉,但是似乎沒有作用,網路上找到此篇解法 Sublime Text 2 如何在 Ubuntu+iBus 下输入中文?,解法就是安裝 InputHelper Plugin 當然這方法是治標不治本,但是至少解決無法輸入中文的問題,底下是安裝方式

Continue reading “Sublime Text 2 在 Ubuntu 中文輸入問題”