2023年8月13日 星期日

Manjaro useradd

在安裝minicoda中

為了要使all user可使用

有個動作要將user加入新建的group中

But

Manajro中並沒有以往的adduser可使用

原來是換了個指令

# usermod -G additional_groups username

That's all.

2023年8月6日 星期日

Manjaro Linux安裝後中文輸入法安裝

在安裝Manjaro Linux時

雖然已經選擇繁體中文

但安裝完後是沒有中文輸入法的

需要再安裝以下套件

以注音輸入法為例

sudo pacman -S fcitx5-chewing fcitx5-configtool

在網路上查到的大部分文章

通常是打完收工

但我遇到的狀況是

安裝完後能看到新酷音

但怎樣就是沒辦法使用

後來裝了以下套件後便能使用

sudo pacman -S manjaro-asian-input-support-fcitx5


2016年11月19日 星期六

delete key not work in Vim on Mac

To solve this problem, adding the following setting in .vimrc
set backspace = 2

They are the same thing.

Reference:
http://cenalulu.github.io/linux/why-my-backspace-not-work-in-vim/

2016年11月18日 星期五

Homebrew doctor memo

檢測目前hombrew是否有問題
To check if there is problem in current brew.
$ brew doctor

結果如下
Here's the result


homebrew會很貼心的告訴我們有什麼問題, 以及該怎麼解決問題
brew will tell you what is the problem now, and how to solve it.
如上圖,
問題
Here we got the warning message:
Warning: /Users/james.jmart/Library/Caches/Homebrew isn't writable.

解決方式
The following is the solution suggest by brew:
sudo chown -R $(whoami) /Users/james.jmart/Library/Caches/Homebrew

在終端機貼上上述指令即可解決問題
So, execute the command offered by brew above.

我們在執行完上述指令後, 再執行一次brew doctor檢驗看看
After execute the command, we check brew again by using brew doctor




Cool, Done !!!




2016年11月7日 星期一

Using Python with Virtualenv


很多時候會面臨到不同開發專案會使用不同的開發環境(Python)與套件
除此之外, 還可能會使用不同的套件, 更可能會面臨到相同套件不同版本的問題
使用Virtualenv可以解決困擾
In many situations, you have to develop your projects in various environments to meet each needs.
However install all the needed model package and python version will make your box very dirty.
Virtualenv can solve this kinds of problem.

1. Create an virtual environment in a directory
$ cd proj_directory
$ virtualenv -p /usr/local/bin/python3.5 virtualenv_name

2. Start virtual env
$ source virtualenv_name/bin/activate

除此之外, 此時亦可以透過pipe安裝套件到virtual environment, 與世隔絕
Besides, you can install other python module package in virtual environment by using pipe command, to ensure the developing environment isolate.

3. 結束目前virtual environment
3. End current virtual environment
$ deactivate

刪除virtual environment
If you want to get ride of the virtual environment, using the following command.
$ cd proj_directory
$ rmvirtualenv virtualenv_name

Reference:

Virtual Environments

解壓縮SAP SAR檔 - Decompress SAP SAR file


先下載SAPCAR from SAP Support
You need go to SAP Support website, and download SAPCAR tool.

指令, 建議將SAPCAR與要解壓縮的SAR檔案放在同一目錄下
Before enter the following command in terminal, put SAPCAR and the target in the same directory.
sapcar -xvf xxx.sar

done

2011年9月13日 星期二

Debian 6 安裝Tomcat 6注意事項

除了安裝Sun Java外

1.還要修改系統使用的Java
Default is open jdk
My prefer is Sun Java

2. Setup Tomcat JAVA_DIR. Edit /etc/init.d/tomcat6
Default JDK_DIR not use sun java the first priority.
Use sun java first

2011年9月12日 星期一

無提

倏忽地
隱隱糾結

卻無以回應

畢竟是
不可再拾起

且留住
切莫再提

2011年8月6日 星期六

機房改裝

滿懷希望的聯絡寬普

第一次留下聯絡方式便石沉大海

第二次好不容易到公司來聊聊,主動打了一通關心電話後
音訊全無

我們案子是小
但想找家專業的公司這種想法不算過份吧

還是只有技術100
服務不及格 ?

2011年5月15日 星期日

EGroupware專案管理員甘特圖亂碼

OS: Debian 6
EGroupware Version: Community Version 1.8.001

Here's steps:
1. Comment the following line in {egwRoot}\projectmanager\inc\class.projectmanager_ganttchart.inc.php

if ($this->gantt_char_encode) $text = preg_replace('/[^\x00-\x7F]/e', '"&#".ord("$0").";"',$text);
and
$graph->scale->SetDateLocale(common::setlocale());
2. Comment the following line in /usr/share/jpgraph/src/jpgraph_ttf.inc.php
elseif( $aFF === FF_BIG5 ) {
if( !function_exists('iconv') ) {
JpGraphError::RaiseL(25006);
('Usage of FF_CHINESE (FF_BIG5) font family requires that your PHP setup has the iconv() function. By default this is not compiled into PHP (needs the "--width-iconv" when configured).');
}
return iconv('BIG5','UTF-8',$aTxt);
}
and alter
// FF_CHINESE => array(
// FS_NORMAL =>CHINESE_TTF_FONT,
// FS_BOLD =>' ',
// FS_ITALIC =>' ',
// FS_BOLDITALIC =>' ' ),
to
FF_CHINESE => array(
FS_NORMAL =>CHINESE_TTF_FONT,
FS_BOLD =>CHINESE_TTF_FONT,
FS_ITALIC =>CHINESE_TTF_FONT,
FS_BOLDITALIC =>CHINESE_TTF_FONT ),

and alter
define('CHINESE_TTF_FONT','bkai00mp.ttf');
to
define('CHINESE_TTF_FONT','uming.ttc');

and then
$ ln /usr/share/fonts/truetype/arphic/uming.ttc {egwRoot}/projectmanager/inc/ttf-bitstream-vera


References:
1.肝豆腐不多話 - eGroupWare 1.6.001 + JpGraph 2.3.4 甘特圖中文問題
2.4wei-diary - [ LOS ] Install eGroupware On CentOS Linux

2009年8月28日 星期五

Hacking D-Link AP


由於D-Link產品乃修改自Linux,基本上就是個Embedded Linux System,在Windows下開發應該是不可能的,因此開發環境選用Linux,建議要有一定的Linux使用及操作經驗,才不會在開發過程中花很多的時間在環境配置或找指令,更甚者,花了很多時間卻不知自己身在幹麻。

沒有Linux使用經驗的朋友,建議使用虛擬機器軟體建立Linux環境先熟悉一下Linux環境及玩法,以利開發及使用,使用虛擬機器好處是不需要解決Linux + Windows的雙系統安裝問題,以及可能因安裝失敗以致毀掉重要資料帶來的身心傷害

常見的虛擬機器軟體有:VirtualboxVMWareMicrosoft Virtual PC … 等,推薦使用Virtualbox,優點除了是自由軟體外,還很好吃呢,安裝方便、輕巧且耗費的資源少、模擬環境的效能還不錯。

建議初學者先看看鳥哥的Linux私房菜這個網站,資料很多很豐富,可建立許多基本概念,另外,也建議先學會操作vimshell commandvim是一套Linux上文字介面的text editor,有著強大的功能(請見參考文件),各大發行版(distribution)都有它的蹤跡,學會了到處都可以用,若不習慣沒滑鼠及GUI的日子,還有圖形化版本可選用(Gvim)shell command是操作Linux的基本功,使用Linux卻不會shell command會帶來很多的不便,而且無法進行開發工作這對身為專業的資訊人員來說是不允許滴

Last but not leastLinuxWindows有著截然不同的設計哲學及系統架構,they are differentLinux並非Windows的低價取代品,因此許多方面的比較是毫無意義的,Linux不會比Windows難用,只是你跟它不熟罷了,所以請當做自己在學習一個新東西(事實上確實是如此),就如同當年你與Windows 95初次見面一般。

說明文件中的開發環境
OSUbuntu 9.04
gccgcc 4.1
EditorVIM

References
Linux learning: 鳥哥的Linux 私房菜
Embedded linux: Free Electrons
C programming under linux: die.net,


開發環境設定
ubuntu上開發請先安裝下列軟體,若在其它distribution開發也可以檢查這些套件是否已經安裝在系統中了。
Packagebisonflexbuild-essentialpatchlibncurses5-devzlib1-devlibssl-devgcc-4.1

D-Link產品的source code可在http://tsd.dlink.com.tw/下載。

修改以下兩個設定
*Relink /bin/sh -> /bin/bash (/bin/dash originally, that cause error)
$ sudo rm /bin/sh
$ sudo ln -s /bin/bash /bin/sh

*Relink /usr/bin/gcc -> /usr/bin/gcc-4.1 (/usr/bin/gcc-4.3 originally, that cause error)
Ubuntu 9.04gcc版本為4.3,在compile過程中會很盡責的回報一堆bug,有些bug根本就不知從何著手XD,後來換成gcc 4.1才順利compile完成,推測D-Link可能原就是使用gcc 4.1compile
安裝gcc 4.1(無需移除gcc 4.3)
$ sudo apt-get install gcc-4.1

將系統中的gcc指令改為指向gcc 4.1
$ sudo rm /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc


Source Code Compilation
以下的tarball本文測試時使用的版本,請勿直接套用名稱,會無法使用。另外,儘量不使用root權限,以免發生莫名其妙的error,除非因權限不足造成問題
*Extract source code tarball and enter the directory.
$ bzip -d DAP1353_v200_r0013_2007-09-26.tar.bz2
$ tar -zvf DAP1353_v200_r0013_2007-09-26.tar
$ cd DAP1353

*Execute the "build_tool_chain.sh",請先看readme,有些選項要手動設定
$ sh build_tool_chain.sh

If permission error occurred, run this script as root
重要:重run前先刪除當前目錄下buildroot目錄,不然作到死都不會成功的XD,因為script會先判斷這個目錄是否存在
$ rm -rv buildroot
$ sudo sh build_tool_chain.sh

*Compile source code
第一次compile分別執行3make,若在前一步驟使用root權限,在此亦使用root權限。Compile成功後會產生image檔,放在當前目錄的images目錄下。

*使用image
唯一的方法就是使用網頁介面(192.168.0.1;帳號:admin、密碼:無)中上傳功能(維護 => 韌體更新),選取正確的image並上傳。

WDK + Microsoft Visual Studio 2008 Howto

安裝

Download Microsoft Visual Studio 2008 Express, and then install Visual C++ 2008 Express.

Dowload DDKBUILD.BAT, DDKBUILD.CMD, installer(ddkwizard) from here.(Manual is recommended)

複製 bbkbuild.bat, ddkbuild.cmd WDK安裝路徑下, ex: C:\WINDDK. 並執行安裝程式 - ddkwizard.


設定系統變數

在把install path加到系統變數Path(for ddkbuild.bat, ddkbuild.cmd).

新增一系統變數 WXPBASE 並給予變數值install path\{build number}.

Note: 俺的install pathC:\WINDDK{build number}7600.16385.0


設定Microsoft Visual C++ 2008

Run Wnidows Visual C++ 2008 Express.

工具 -> 選項 -> 專案和方案 -> C++目錄

選取右側的「顯示目錄(S)」為「可執行檔」,加入WDK執行檔的path

C:\WINDDK\{build number}\bin\x86

Note: 依情況增加路徑,或修改install path


選取右側的「顯示目錄(S)」為「Include檔案」,加入以下path

C:\WINDDK\{build number}\inc\ddk

Note: 依情況增加路徑,或修改install path


選取右側的「顯示目錄(S)」為「程式庫檔」,加入以下path

C:\WINDDK\{build number}\lib

C:\WINDDK\{build number}\lib\wnet\i386

Note: 依情況增加路徑,或修改install path


以上,完成環境設定。


Ms Visual C++ 2008中用WDK compile驅動程式

Step 1:

建立專案 -> DDK Project -> Empty Driver, 別忘了給專案一個名字.

Step 2:

接下來會看到Which DDK(s) do you want to use, 因為俺是在Windows XP下開發所以選擇Windows XP DDK

Note: 千萬別選「Create PREfast configuration」,不然會一直compile失敗,網路上好像也找不到原因,可能是我不會google的關係,再接再勵吧 !


Step 3:

複製WDK sample source files到專案目錄下

以俺的狀況為例, copy *.c, *.h, sources, makefile from

C:\WINDDK\{build number}\src\network\ndis\ndisprot\5x\sys

to project directory

C:\Documents and Settings\user name\My Documents\Visual Studio 2008\Projects\ndisprot\ndisprot


回到Ms Visual C++ 2008中的專案視窗

左方案總管Header Files -> 右鍵”加入” -> 現有項目

加入所有的header file


左方案總管Sources Files -> 右鍵”加入” -> 現有項目

加入所有的*.c, *.rc檔案


左方案總管Special Files -> 右鍵”加入” -> 現有項目

加入sources, makefile


上方功能表「建置」 -> 建置方案

Compile完沒有錯誤就代表成功了


另外有一個問題,雖然我們成功的compiledriver,但卻沒有安裝用的INF檔,可行的解決方式是到WDKsample裡找跟我們類型最接近的driver,拿它的INF來改。

2009年8月27日 星期四

WDK 安裝 Howto

開發Microsoft Windows驅動程式(driver)需要安裝Windows驅動程式套件 - Microsoft Windows Driver Kit (以下簡稱WDK),請見WDK官方網站。建議儘量使用Microsoft美國網站,因為台灣站內容的更新仍跟不上美國官網。此時官網中的WDK版本為7.0,筆者的OSWindows XP


下載WDK的方式有3種,可從Microsoft Download CenterMicrosoft Connect Web SiteMSDN Subscriptions下載,第1種是最方便的,後2種下載方式都複雜到爆炸(不能馬上下載對俺來說就爆了XD),因此不建議使用後2種。


下載的檔案是光碟映像檔(ISO),不用燒成光碟,使用虛擬光碟軟體可以把光碟映像檔如同實體光碟放在光碟機一樣來使用,虛擬光碟軟體有很多,筆者常用的是DAEMON TOOLS這套軟體,另外很多燒錄軟體有附虛擬光碟功能,例如:酒精。


喔,對了,Microsoft .NET Framework 3.5也要先裝好才可以裝WDK唷。


以下是安裝WDK的流程

Step 1: Installing WDK.

Note: 安裝路徑不要包含空白,不然可能會發生莫名奇妙的錯誤(你知道的,這就是Microsoft )

Note: 記得安裝Sample

Note: 不需要的套件就不要裝(Ex: Device Simulation Framework, Windows Device Testing Framework),以節省空間。

Note: 若系統中有舊版WDK,請不要安裝在同一目錄或把它覆蓋過,可能會因此在開發過程發生莫名奇妙的錯誤(你知道的,這就是Microsoft),請使用完全不同的目錄來安裝。


Step 2: Installing the Debuggers, X:\Debuggers\setup_x86.exe.

Note: X is the CD-ROM drive.


Step 3: 驗證WDK安裝是否成功, 驗證方式就是compile sample檔。

「開始」 → 「所有程式」 → 「Windows Development Kits」 → 「Windows DDK」→「Build Environments」 → 「 Windows XP」→ 「Windows XP Checked Build Environment


Note: sample path{install path}\src\{type}

Note: type有很多種,Ex: network, 1394, printer … etc.

Note: In my case, 只需要~\network\ndis\ndisprot, 將不需要的sample(請依情況調整)移出安裝路徑中src目錄。

Note: 在此值得注意的是我們選擇5.x而非6.0。因為NDIS 5.x driver支援windows 98windows 2003,而6.x則只支援windows vista之後的版本。

Note: ndisprot sample說明請見末頁。

Note: 在建置環境命令提示字元中輸入build –cZ便會進行compile動作。等一下 !!! 先不要執行指令,compile全部的sample很花時間,只compile需要的檔案就好。

Note: 如果要針對需要的檔案編譯,請切換到該sample的目錄下buildEx: ~\network\ndis\ndisprot\5x\sys

Note: test program也要compile,後面會用到。


若無任何錯誤訊息就代表成功了。恭喜(~) !! 接下來就是安裝到系統上來了。

2009年8月20日 星期四

到底 ...
人生將會是怎樣 ?

縱然不可能事事如意,
但,
何以肯定之,
又何以否定之呢 ?

該怎樣評斷,是否不虛此行呢 ?

有人說問心無愧,
對我而言,
最大的障礙可能在接受不完美吧 ...

怎樣的不完美才算是能問心無愧的接受 ?

2009年8月19日 星期三

無奈

本來是想去參加試唱的 ...

這是從小就有的夢想,
不是因為可以成為鎂光燈的焦點,
而是這件事可以讓我心跳加速,熱血沸騰。
似乎沒有其他的事可以讓我感到那麼的 ... 癢!
不能做就渾身的不對勁
(這種感覺好像也被磨掉了)

爸很努力的從小就培養了我這方面的才能,
希望能讓他看到過去花費的心力沒有白費.
雖然他已經不在了,但至少我想透過達到的成果來緬懷他

但 ...
女王至始至終就不支持這件事 ...
因為在那樣的圈子內有著太多的背叛
因為不想我被搶走(~苦笑)
因為不想相處的時間太少
因為我應該把重點放在工作上

是阿 ...
有哪個女孩願意分享自己的另一半
為了讓她安心,我也只好放棄了 ...
況且,她不支持,這又有什麼意義呢 ?

似乎 .. 還沒有被全心全意支持過呢 !
從大學社團到現在 ...
但話說回來,搞不好是我自己的問題(~苦笑) ...
也可能是要求另一半全心全意無條件支持本身就是一個很過份的事吧 !?

只是好不容易看到一到曙光、嘗到一滴甘露的小綠芽,
可能沒有再探出土壤的一天了 ...

老爸,對不起 ...
也許這一輩子我沒有辦法證明你的眼光了 ...

2009年7月14日 星期二

vsftp - FTP Server輕鬆架

由於工作上的需要,因此想在辦公室的電腦上架FTP,當然使用者只有我自己啦XD
而我裝的套件是vsftp,環境是Ubuntu 9.04

首先呢,當然就是安裝套件囉
$ sudo apt-get install vsftpd
OK,這樣就安裝完了,接下來就到了設定的步驟了。
有幾個檔案是vsftpd的相關設定檔:
/etc/vsftpd.conf
/etc/vsftpd.chroot_list

先說/etc/vsftpd.conf,這是vsftpd的主要設定檔,檔案中其實已有相當詳細的註解了。
所以在此僅提出幾個常用的設定
特別注意:修改設定檔前請先備份

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
是否允許任意使用者連線,由於我只想給自己使用,所以設為NO

# Uncomment this to allow local users to log in.
local_enable=YES
是否允許本機使用者登入FTP,我使用自己的帳號登入,所以設為YES

# Uncomment this to enable any form of FTP write command.
write_enable=YES
是否開放寫入的權限,我的需求是下載及上傳資料,所以需要寫入的權限,設為YES

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
這三個就有趣了,所以一起上XD
PS:chroot,就是讓使用者變換根目錄的功能,在登入FTP Server時,預設根目錄為使用者的home directory

chroot_local_user=YES
chroot_list_enable=YES
這樣的設定,讓所有使用者無法變換根目錄,除了/etc/vsftpd.chroot_list中所列的使用者

以上,如有錯誤請各位不吝指正,謝謝。

2009年6月3日 星期三

Foxit Reader - 輕巧好用的PDF Reader

Foxit是PDF Reader後起之秀,用過的人相信都對它輕巧快速留下了深刻,不過可惜的是Foxit一開始Release的Linux版本非常的難用,不僅如此還難以安裝,這麼好的程式卻無法在Linux使用實在是令人相當的懊腦,於是在下三不五時就會到Foxit的官網上晃晃並期待奇蹟的出現 ...

終於有一天 ... 奇蹟真的發生了 !! 有圖有真相 !!


不僅如此,同時亦提供多種package任君選擇(~淚)。


這是裝好後開啟的模樣


重點來了,中文顯示是否正常呢?會不會出現碎字呢?


再近一點看

人客阿~你還在用肥腦油腸的Adobe嗎?試試輕巧的Foxit吧 !

下台一鞠躬 !

PS:補上Linux下載的聯結,因為不是很好找
Foxit for Linux Desktop

2009年2月28日 星期六

root權限開啟tab命令補全功能

剛安裝好Debian時root並沒有開啟tab命令補全, 而一般使用者則有開啟這項功能,
所以我的想法是, 就到使用者的 .bashrc 看看

以下就是開啟tab命令補全的code, 只要寫入 /root/.bashrc 裡便可以使用了.
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

喔, 對了, 當您使用root權限做這件事時, 在bash中登出root再登入便可以了.