2013年11月10日 星期日

[LINUX] CentOS x Canon-IP1800 網路印表機 安裝流程-part2




照著PART1的動作,我們成功在伺服器端佈署好本地印表機了
接著就是讓這台印表機能透過服務分享出去,供其他裝置當作網路印表機列印嚕。

此時得先釐清不同的遠端作業系統得靠什麼機制來存取這台印表機:

  • LINUX-直接透過CUPS
  • WINDOWS-透過Samba間接存取CUPS
  • OSX-透過Avahi-daemon間接存取CUPS
由此可知伺服器側的印表機資源基本上是由CUPS控制的,只是在網路上面對不同的作業系統時,必須再透過其他中介服務作格式轉譯的動作。

[LINUX篇]

若遠端機器是LINUX系統,很方便的是我們只要設定CUPS內容即可:
#vim /etc/cups/cupsd.conf

編輯以下設定:

確認監聽口有開啟
Listen localhost:631

確認已設定可分享的印表機是可以被瀏覽的
# Show shared printers on the local network.
Browsing On


確認遠端機器可存取,此設定值僅供內部網路存取嚕
# Restrict access to the server...
<Location />
  Order allow,deny
Allow From 127.0.0.0/8
Allow From 192.168.0.0/24
</Location>


基本上cupsd.conf很容易閱讀,設定項目也不多,有問題的話先確認這個檔案準沒錯

接著改變印表機分享設定:
#vim /etc/cups/printer.conf

找到你的對象印表機頁籤,讓印表機接受工作,且是可被分享的
<Printer IP1800-HomeServe>
Accepting Yes
Shared Yes

好啦,到此伺服器端的設定就完畢了
----------------------------------------------------

本地端部份的設定,必須先依循PART1的步驟安裝兩個rpm-package
# rpm -ivh cnijfilter-common-2.70-1.i386.rpm
# rpm -ivh cnijfilter-ip1800series-2.70-1.i386.rpm
仍然要注意本地端的glib gtk+ libxml libpng3 libtiff3 函式庫是否滿足,小茂的Fedora 19就沒有舊版本的libtiff3,必須自己建立連結檔。

接著加入印表機:
#lpadmin -p IP1800-homeserver -v http://192.168.0.105:631/printers/iP1800-series -m canonip1800.ppd
-p 設定此印表機在本地端的暱稱
-m 設定網路印表機位址(注意資料夾結構喔,小茂一開始沒有打/printers,鬼打牆似卡關很久)

如此設定本地端應該就加入完成了
打完收工!印起來吧!

WINDOWS篇待續…(睏)





2013年8月29日 星期四

山東軼聞錄



本篇文章並非作者親身經驗,而是經當事人同意下,將其口述記錄成文字並公開發表。


這次去山東出差,主要是為一台新設備進行電線管路配置,
雖然不是特別困難的工作,但因為大陸採購效率低落,意外的花了不少時間。
也因此,有了好好觀察當地人的機會。

出差的地方,並不是大陸的主要城市,甚至不是個城市。
是一個,叫做趙寨子鄉的小村莊,尚未開化,民風純樸。
當地以農牧業為主,常常可見鄉民,趕著家畜,到處胡亂吃草。

當地有一些有趣的特色,

1.山東人不吃米飯,愛吃饅頭。就算公司餐廳端出白飯,當地人是連筷子也不沾一下的。
『米飯是給南方人吃的』

除了饅頭外,當地人也吃水餃,且有現包水餃店,當場桿餃子皮、剁料,
包成餃子後下水煮熟。餡料是羊肉和豬肉混合的,味道非常鮮美。

山東人吃餃子,單位不是顆,無法點十顆或十五顆水餃,
山東人吃餃子的單位是斤,點菜的時候要告訴老闆要幾斤水餃。
食量之大由此可見一般,絕對不是南方小鳥胃能夠比擬的。

到了鎮上,還可以見到烤羊肉串的攤位,因為羊肉新鮮,
加上地方獨特的醬料,吃起來滋味也是特別的好。


2.大陸人把自己的老婆稱做媳婦。
這點跟台灣人十分不同,台灣的媳婦,指的是兒子的太太。

「存幾個錢,娶個媳婦,生個崽兒。」

這是當地男性的普遍目標,很少見到不婚族,或是頂客族。
若仔細問他為什麼要娶媳婦,當地人也答不出個所以然。
反正娶媳婦生崽就是天經地義的事,不需要原因。

問他們想娶怎樣的媳婦。

「當然是看得順眼的。」

大陸人也是十分重視小孩子的教育,例如工廠的一些師傅,
自身的教育程度不高,但依舊希望自己的小孩能念大學。
抱著期待於是將小孩命名為念政。(念政法大學之意)


3.年輕人多半不願意務農

許多工廠的師傅,家裡有田地,但他們不願意從事農業工作,
而是選擇外出打工爭錢。

據說,種一年田,夠全家吃飽三年,但是,如果想買一些電器或奢侈品,
農民恐怕是存好幾年錢都買不起的。

工廠裡有個 17歲的打雜小弟,只有高中學歷,本身是河北人,
但跟著叔叔到處闖蕩,最後來到山東。

問他,是否願意回到河北耕種自家的田?

「不要,太苦了,而且家裡什麼都沒有。還是工廠好,工廠還有電腦呢!」

雖然確切原因不明,不過,或許人類本能的就會渴求科技?

關於農民的苦,據說當地人表示,田裡常常會有水蛭,滿滿的水蛭,
人一下田,水蛭馬上會靠過來吸血,一定要吸血吸到水蛭全身脹滿才會鬆口。

回台灣之後,我查了一下水蛭的資料,發現了水蛭的學名,原來叫做:

螞蟥


不由得想起一些事情,而會心一笑。

2013年8月27日 星期二

[LINUX] CentOS x DLNA Server for PS3



何謂DLNA呢?

Digital Living Network Alliance
是咱們的音速小子寶貝- 索尼在1993年提出的多媒體共享"規格"

簡單的說,符合這規格的實作,是以主從的架構分享多媒體串流
儲存在A伺服器的多媒體可在支援DLNA的B、C、D裝置上觀看,實際解碼輸出串流的裝置是A伺服器,播放端不須特別安裝其他播放軟體或是解碼器,你只需要將網路頻寬保持通暢即可。

據宅哥所知,除了索尼自家的PS3,據說Android系的智慧型手機都有內建此功能(也許都是師出LINUX核心的關係所以有這樣的裙帶關係)

當然,咱們的CENT-OS伺服器亦有擔任DLNA server的能力,今天就是要介紹如何安裝
PS3 Media Server - DLNA伺服器軟體 for PS3

首先先到這裡(PS3 Media Server官網)下載安裝包 pms-1.90.1-generic-linux-unix.tar.gz

下載到後請解壓:
#tar -zxvf pms-1.90.1-generic-linux-unix.tar.gz

會在當前資料夾解出
pms-1.90.1 資料夾

前進一步,進去看看INSTALL.txt
發現PMS相依這些東東:

  • ffmpeg(影音解碼函式庫)
  • mediainfo(提供影音標頭資訊)
  • mencoder(影音編碼器)
  • openjdk-7-jre(JAVA 運行環境,PMS是由JAVA寫成)
問題來了,預設的yum資料庫沒有維護mplayer、mencoder、ffmpeg…等等,此時需要再對YUM做些其他動作 - 抓取非官方套件:

首先安裝protectBase
#yum install yum-protectbase

接著修改YUM資料庫設定
#vim /etc/yum.repos.d/CentOS-Base.repo

進去設定檔後,在[base] 、[update] 、[centosplus]三個段落加上
protect=1
在其他段落則加上
protect=0
然後在[centosplus]段落讓enable失效
#enable=0

好了,存檔離開設定檔,接著去以下網址抓rpmforge套件:
記得認清是32位元還是64位元喔,在他的description處有說明CENTOS版本與對應的硬體架構

接著將DAG公鑰弄進RPM系統:
#rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

開始安裝RPMFORGE套件:
#rpm -ivh rpmforge-release-0.5.3-1.el6.rf.i686.rpm
最後一步,更新一次YUM資料庫:
#yum check-update

應該可從螢幕輸出發現
13 packages excluded due to repository protections
此類的字樣,就表示你的資料庫裡有非官方套件了

接著的動作就簡單啦,回到剛剛的相依套件安裝,把PMS所需相依備齊:
#yum -y install mplayer mplayerplug-in
#yum install mencoder
#yum install java-1.6.0-openjdk

到此,若上述的相依套件都到位的話,基本上不須任何設定,就可以順利啟動PMS了,回到pms-1.90.1資料夾,透過PMS.sh啟動PMS服務:
#./PMS.sh

密密麻麻的訊息中,最後會出現:
#[main] The server should now appear on your renderer
這表示你的PMS伺服器啟動成功了!應該在遠端裝置上搜尋的到了

如果此時有裝置連線到這台伺服器,會出現類似這樣的訊息:
[pool-4-thread-1] Renderer Android found on this address: 192.168.0.108
[pool-4-thread-1] Address /192.168.0.108 has an estimated network speed of: 14 Mb/s
在PS3上發現伺服器

瀏覽資料夾的方式選擇影片

播放效果還蠻棒的!











[11/09 新增]

接著你會發現,照預設值啟動PMS,在DLNA設備上居然可從根目錄(/)瀏覽整個伺服器
不是很恰當對吧,此時要修改PMS資料夾下的PMS.conf
在註解< Shared folders >中改變此設定:
#folders = /home/nfs1,/home/special

在上面的範例裡我設定了兩個資料夾,nfs1/ 與 special/ 可供瀏覽,用逗號分開

另外分享Android手機上可連結到PMS的軟體 - MediaHouse
幾乎是免設定就可以直接連上剛才架好的PMS喔
就是灌這味
按剛剛設定的資料夾去瀏覽嚕




手機上播放的效果,棒!

以後就可以捧著智慧型手機在床上看謎之影片啦,嘻嘻
威!

2013年6月14日 星期五

植物工廠- 綠色科技or 農業新危機?


圖片來源:http://www.tok.agritechno.jp/pf/common/factory/plantfact1.JPG


住在冷氣房裡,照著LED燈,吸收著化學培養液。
這樣的蔬菜看起來.....真好吃?

植物工廠的本意是好的

利用生產線的概念,人工調控溫度、濕度、照光時數,
將傳統的農耕,轉為像工廠一樣的生產模式。

在某些不利於發展農業的地方:
農地缺乏、日照不足、氣候不良,更甚者是缺乏農業人口,
可以藉著植物工廠,生產出所需的農作物。

最顯著的例子,也是植物工廠的濫觴,
就是 NASA 在太空站為太空人種植蔬菜。

商業上成功的例子,則是新加坡的 Sky green 。
因為新加坡農耕地缺乏,只有7%的蔬菜屬於國內自產,
植物工廠的技術研發,可以說非常必要。
點進  Sky green 的網頁看,也能發現技術上幾個重點:

1. 利用垂直高度爭取種植空間
2. 包含建材和設計都講究循環、環保的概念
3. 充分的利用新加坡的日光,達到節能

但台灣,台灣適合發展植物工廠嗎?

1. 台灣並不需要植物工廠

台灣自然條件昰有利於農業發展的,台灣農業的困境是:生產成本過高,
而植物工廠的耗電,生產成本更高於自然耕地。
更何況,植物工廠生產出來的蔬菜,風味仍遜一籌。

所以其實對台灣農業的發展,看不到實質的幫助。


2.植物工廠對台灣農業不利

如果是利用太陽能的植物工廠便罷了,
可怕的是,目前各家廠商:鴻海、台達電、華映、大同、台塑,
紛紛投入的,是用 LED 燈來照明的植物工廠。

台灣如此日照充足的地方用LED 燈來種菜?

大廠嘴上說得好聽:LED 可以控制日造長短、光的波長,
可以種出特定的高經濟蔬菜,品質會更好。

但怎麼不設法調節或過濾太陽光?

真相昰,大廠們為了產能過剩的LED 想一個出路罷了。
或更甚昰,希望利用植物工廠的聲勢,再次吸金拉抬股價。

LED 號稱是節能省電的照明方式,

但,在 LED 的製造的過程中,消耗的電力、造成的空氣汙染。
LED 製程要使用大量的溶劑,製程會產生酸性廢液,
回收這些勢必會用到大量的水資源,如果不當處裡還會造成環境汙染。

台灣長期將資源配置在所謂高科技產業,
農地強制徵收、因科學園區奪走水源導致農地缺水、甚至農地遭到汙染。
這些新聞早已屢見不鮮。

現在科技業,反過身來,搖著大旗,
反而變成農業的守護者了。

令人看了忍不住要嘆氣。

3.可以把植物工廠的技術外銷?

把植物工廠的設備和技術賣到其他國家,等於是換個包裝賣 LED 燈。
就跟先前的太空包種菇菇很相似。

台北植物工廠展 6/18開始展出。

或許真的會有國家,打算用植物工廠解決農業的困境也步一定。
但除了大量生產LED燈的台灣,恐怕很少國家會贊成用LED 取代日照的想法。


結論:對於台灣的植物工廠熱潮,我十分不看好。

有人說,植物工廠可以生產出非當季的蔬菜,
可以生產出高經濟價值的蔬菜,可以生產出台灣本來無法產出的農作。

但農作物代給我們的,並不只是營養成分或熱量。

當季的、在地的蔬果,擁有特別的好滋味。
還有,人與大地和諧相處的智慧。

讓凱薩的歸凱薩,把大自然的還給大自然吧!


圖片來自德高幼稚園



















2013年6月2日 星期日

[LINUX] CentOS x Canon-IP1800 網路印表機 安裝流程-part1

http://hargaprinterepson.blogspot.tw/2012/10/lampu-printer-canon-ip1880-berkedip.html






















今天要來分享安裝 印表機 在 CentOs伺服器上,最終目標是替家裡完成網路印表機服務。

印表機是採用 CANON PIXMA iP1880(產品介紹) 是小茂在五年前購入的高CP值平民印表機,穩定性高,噴墨品質也是相當優異,最棒的是有相當多的副廠套件(補充用墨水)讓當年的茂同學省了不少銀子。

封存至今日機構本身仍完好無缺,唯獨噴頭有些卡墨,但不成問題!只要泡泡熱水擦拭乾淨,補充上備用的副廠墨水仍然可以正常工作:) - 不浪費就是我的溫柔。

好啦!開始安裝:

首先前往CANON-SUPPORT下載驅動程式,照著對話框選擇 IP1880印表機支援與服務:

你需要下載common與IP1880套件(直接點下面比較快):

下載後到你的伺服器上,以RPM方式解開
# rpm -ivh cnijfilter-common-2.70-1.i386.rpm
# rpm -ivh cnijfilter-ip1800series-2.70-1.i386.rpm

這兩個套件相依於glib gtk+ libxml libpng3 libtiff3,基本上在CentOS安裝完並更新後,上述的相依套件應該都是存在的,但小茂還是遇到相依性問題而無法解開,此時就得在RPM命令中加入--nodep --force 選項:
# rpm -ivh cnijfilter-common-2.70-1.i386.rpm --nodeps --force
# rpm -ivh cnijfilter-ip1800series-2.70-1.i386.rpm --nodeps --force

關於libtiff3,現在多半更新到libtiff5以上,此時可以用symbolic link方式建立連結檔連結到libtiff5:
#ln -s /usr/lib/libtiff.so.3 /usr/libtiff.so.5

好啦!如此一來印表機驅動相關套件就佈署完畢了,接著重啓CUPS服務(UNIX通用列印系統 ):
#/etc/init.d/cups restart

然後登錄剛剛安裝好的印表機到CUPS,首先修改CUPS設定,使其可以接受FileDevice:
#vim /etc/cups/cupsd.conf

在任意位置加上此行:
#FileDevice Yes
(小茂也還在瞭解為何非得用FileDevice)

開始向CUPS建立印表機,打開印表機電源,輸入以下命令: #lpadmin -p IP1800 -m canonip1800.ppd -v /dev/usb/lp0 -E

設定IP1880為預設印表機:
#lpadmin -d IP1800

沒意外的話,可以用測試頁測試印表機工作是否正常:
#lpr /usr/share/cups/data/testpage

理論上要印出這個:
點我看圖片
宅哥印出這樣:

斷斷續續的表示噴頭又卡墨啦(又一兩個月沒用了),得拆噴頭下來泡熱水擦一擦。

下一步,安裝網路印表機服務!

(To Be Continued)

2013年5月15日 星期三

為何你不該辭職去寫遊戲APP


為何你不該辭職去寫遊戲APP? 
這樣的標體對於某些人來說可能有點聳動,
特別是對正打算辭職去寫APP創業的人,或是已經辭職投入APP創業的人。

明明手機 APP 產業正蓬勃發展。
而根據統計遊戲APP 又是其中下載率及獲利最高的。
為什麼你不該辭職去寫遊戲APP?

其實是一篇 2011 年的老文章了。
但即便已經過了1年半,以現在的眼光看來,這篇文章依舊歷久彌新。
原文在此:

Why You Shall Not Quit Your Day Job To Make A Game App

作者半路還製作了中文版的簡報

半路,本身就是一個成功的遊戲APP開發者,代表作 邦妮的早午餐。
他自己經營的部落格猴子靈藥 ,忠實的紀錄了他遊戲開發一路走的辛苦過程。

我簡單摘要文章中幾個重要的論點和建議,和補充我上網找到的相關資料,
以及我的心得。

離職去寫APP前,你必須考慮清楚因為...

1. 你將沒有收入
代表你必須省吃儉用,勒緊褲帶過日子。

2.光有點子是不夠的
點子無法被執行的話就一文不值。

3.你不可能靠一己之力完成所有事
不只會寫程式就夠了,還要會行銷、設計、公關,
你需要夥伴,而好夥伴難尋。

4.必須放下身段,創業要做的事比你想像的多

5.並非一款遊戲就能讓你賺大錢
一次就命中市場是可遇不可求的,你需要為長期抗戰做好準備。

6.當老闆不如想像中自由反而更需要自律

7.自行創業寫程式是很孤獨
並且充滿各種讓你停下工作的干擾和誘惑。

8.你會需要親人和親密伴侶的支持
否則你將孤立無援,無已為繼。

9.有很多你沒看到的現實面
利用APP來賺錢好像很簡單,但背後的辛苦誰人知?
許多報喜不報憂的消息,讓人一窩蜂的投入這個產業。
但這究竟是明日趨勢,還是一日曇花?

10.你可能不善於交際
你必須勇敢的跨出腳步,開放的和人交流。


以上這些,就已經令人卻步了。

但我覺得,時至今日,除了上述自身條件的問題,
還要考慮兩個很重要的大環境因素:

1. APP 入場時機已過

根據統計資料,目前 APP STORE 的APP 數量已經超越 75萬個。
而GOOGLE PLAY MARKET 的APP數量已經超過 70萬個。

在為數眾多的APP競爭中要脫穎而出將會非常困難,
即便是設計良好的APP,也不容易去吸引到用戶目光。

就像路跑時一旦沒有搶到良好的起跑位置,
後續就算速度不錯,照樣還是會受困人群。

更令人擔心的是,急速發展膨脹的產業,是否會有泡沫化的可能性?

2.大者恆大
大型的遊戲 APP公司,手上有全方面的人才,
包含文書、美編、公關,甚至有音樂人才。
能做出較為完整的作品。

相較之下,獨立開發者,唯一的優勢就是創意而已。
但創意知所以為創意,就是在於嶄新和不可預測。

所以對於廣告商和下載用戶來說,不一定願意嘗試。

針對辭職寫APP可能遇到的問題,對岸有一篇文章:
APP開發者已窮途末路。

內容滿是心酸血淚,專職寫APP 卻幾乎無以維生。
文章引起廣大迴響,許多人表示看了心有戚戚焉,

辭職去寫APP?或許要再想一想。
比較保險的做法,可能是保有目前的工作,並用空閒時間去開發。
不要投入過多的資金,多利用現有的資源,以避免風險。

這也部落格主目前努力的方向,與大家分享。

                                                                                               2013/05/15





2013年5月12日 星期日

[LINUX]我的 CentOs-Server 安裝流程-part1




首先要來安裝LINUX作業系統啦,小茂這次選擇的是CentOS這個Distribution,雖說過去也有用過Ubuntu,但據信CentOS作為伺服器應用的話是相對優的版本。

認識一下什麼是CentOs:伺服器安裝第一首選 CentOS 6帶來寧靜革命


安裝版本:CentOS-6.2-i386-LiveCD.iso
義守大學伺服器

.iso 是光碟映像檔,在Windows上丟進Daemon Tool就可以燒成可開機的光碟,讓我們部署在新機器上啦。






接著把光碟放進目標,記得修改BIOS中的開機順序,光碟>硬碟,系統就會從CentOs中開機了!

接著會看到自動倒數的畫面,按個任意鍵讓他跳出開機/安裝菜單:



即便我們最終要建的是文字版操作界面,但這時候可千萬要選擇Install
(因為實測後發現Install才能自定分配磁碟空間,小茂覺得糊塗)

然後我們就順利進入安裝程序了,中間的過程基本都很好懂:
選擇語言、鍵盤系統、時區⋯這裡就不一一囉唆了

關鍵是磁碟分配:

唯有圖形安裝界面才會到這步呀(搔頭)
考慮到日後的維護還有擴充,小茂在此做了以下分配:

  • /boot 500MB
  • /        10GB
  • /usr    5G         (應用程式檔案放置的地方啦,獨立割出來便可以獨立備份啦)
  • /var    5G         (應用程式參考的資料庫,也是需要備份的)
  • 剩下的都留給LVM(拿來建立/home用的,用LVM利於擴充,放影片音樂的地方啦)

啪嗒,原則上過了磁碟分配後就沒有需要傷腦筋的地方了。

接著重新開機,取出光碟,讓系統從硬碟開機,與伺服器相見歡,由於剛剛是用圖形模式安裝的緣故,系統會理所當然的進入有GUI的CentOS

小茂希望系統開機後還是回歸文字模式,所以來做以下設定更動:

調整run level,使用vim 改變設定檔:

#vim etc/inittab

找到這行(預設是5,X-Window模式):
id:5:initdefault:

改成(多使用者文字模式)
id:3:initdefault:

重開機後系統的世界就是黑白的了!

然後,對於伺服器而言,第一重要的就是sshd服務了,這個服務可以讓我們透過網路,對伺服器進行遠端登入,不用坐在伺服器前也可以維護/設定主機,而且這項服務在window、MAC、Linux都可應用,簡單地說,只要龍五手上有電腦(加網路),誰都無法阻止他操作自己的伺服器!

好了,現在就來啟動伺服器上的sshd服務:
#/etc/init.d/sshd start

原則上這個服務不太需要設定即可馬上應用,接著用其他電腦對伺服器進行連線測試,如果你有LINUX或MAC,打開終端機輸入:
#ssh root@192.168.0.105 (我的伺服器在此區網IP的情況,)

如果是用windows,可先來此下載pietty
然後在主畫面上鍵入IP或是domain name,port 使用預設的22
就可以進入你的主機登入畫面了



好了,sshd也測試成功了,現在我們可以遠端登入了,可以來拔掉鍵盤還有螢幕了嗎?等等!要先確定重開機後系統也會自行啓動sshd服務,否則人還是要跑到機器前拜託他讓你連線,這樣似乎還是功敗垂成。

小茂的印象是這版CentOS的run level3預設是不會啟動sshd的,我們可以透過以下動作確認:

#vim /etc/rc3.d/

這檔案是敘述了系統run level3時,會載入/停止的服務清單,可以這樣的方式解讀:
[K或S]編號 服務名稱

其中K代表Stop(關閉服務)、S代表Start(啓動服務)

你可發現其中有一行:
#K25sshd

喔喔這可不妙,這代表系統預設重開機後不會載入sshd服務,龍五要死來了。

原則上,我們不要去修改rc3.d這預設的服務載入清單,以免未來經過修修改改導致系統發生問題時,系統回不到這最基本的可啓動狀態(瑞凡:系統回不去了)。

正確做法是,在自定服務載入清單內,加上自行想啟動的服務,來做以下設定:

#vim /etc/rc.local

這檔案就代表了自定啟動服務清單,在文件內加上先前操作過的指令:
#/etc/init.d/sshd start

如此一來系統會經由以下的順序,在開機時載入sshd服務了:

  1. inittabl    (進入run level3模式,並透過rc3.d啓動服務)
  2. rc3.d     (關閉xx服務⋯關閉sshd服務⋯開啟xx服務⋯執行rc.local)
  3. rc.local  (啟動sshd服務)

重開機後測試看看,果真有效!
之後可以翹腳捻鬍子在星巴克玩伺服器了,喔耶!


(To Be Continued)