2009年11月25日 星期三

「手把手」安裝 Java 與修正兩處亂碼

Ubuntu 的 Java 在 GUI 及網頁部份皆會出現亂碼,GUI 部份是字型名稱在設定檔裡面寫錯了,而網頁部份則是有的還在使用 Big5 所導致。



這兩個部份以下就教大家怎麼修改。







安裝 Java



需要安裝 Java 沒有的請先安裝

sudo aptitude install sun-java6-jre sun-java6-plugin



修正 Java 的 GUI 亂碼



Step1、你可以使用ttf-arphic-uming或者其它中文字體,如果是ttf-arphic-uming請先安裝

sudo aptitude install ttf-arphic-uming



Step2、fontconfig.properties 裡面的字型名稱寫錯了,是 uming.ttc 不是 uming.ttf 所以需要修正。

sudo sed -i 's/uming.ttf$/uming.ttc/g' /usr/lib/jvm/java-6-sun/jre/lib/fontconfig.properties



修改前









修改後









Step3、如你要使用其它字型,需建立 fallback 目錄並把字型連結進去,底下以文泉譯正黑為例。

sudo mkdir /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback

sudo ln -s /usr/share/fonts/truetype/ttf-wqy-zenhei/wqy-zenhei.ttc /usr/lib/jvm/java-6-sun/jre/lib/fonts/fallback



修正網頁的 Java 亂碼



Step1、Alt+F2 輸入 ControlPanel 執行







Step2、選擇 Java檢視→在 Runtime 參數填入 -Dfile.encoding=big5確定









修改前









修改後









參考資料:





java頁面出現亂碼或文字成空白方塊

Java 顯示

2009年11月4日 星期三

「perfect_mscorefonts」使用腳本處理mscorefonts、restricted-extras安裝問題

前篇所說的「親愛的」搞定 ttf-mscorefonts-installer 安裝時出現的錯誤,有許多人不會編譯,這次我編譯好了, ttf-mscorefonts-installer 所需要的幾個 exe 檔我都放到我的 Dropbox 空間裡了。



2011.03.20 修複失效連結





另外 restricted-extras 會需要用到 ttf-mscorefonts-installer ,這次順便處裡,會先把這兩個都移除,在照你們所需求的去安裝。

此腳本適用 Ubuntu 、 Kubuntu 、 Xubuntu ,會對應各版本的 restricted-extras 名稱。



Step1、建立perfect_mscorefonts

gedit perfect_mscorefonts
複製、貼上以下程式碼:


#!/bin/bash
# by hepha
# http://playubuntu.blogspot.com/
# GPL or CC-BY-NA-SA
# 版號1 (11.05.2009)
u=`lsb_release -i |awk '{print $3}' | grep Ubuntu`
k=`lsb_release -i |awk '{print $3}' | grep Kubuntu`
x=`lsb_release -i |awk '{print $3}' | grep Xubuntu`
ttf=ttf-mscorefonts-installer
echo
echo welcome to perfect_mscorefonts ver 1
[ $u != "" ] && id=u
[ $k != "" ] && id=k
[ $x != "" ] && id=x
echo
read -p "你要處理$ttf或${id}buntu-restricted-extras問題嗎?(Y/N)" -n1 yn
[ $yn = "y" ] && purge=y
echo
echo
read -p "你要安裝${id}buntu-restricted-extras嗎?(Y/N)" -n1 yn
if [ $yn = "y" ]; then
install=y
else
echo
read -p "你要安裝$ttf嗎?(Y/N)" -n1 yn
if [ $yn = "y" ];then
mscore=y
fi
fi
ms_install ()
{
echo
wget -c http://dl.dropbox.com/u/1776325/ubuntu/${ttf}_3.1_all.deb -P /tmp
sudo dpkg -i /tmp/${ttf}_3.1_all.deb
if [ "$purge" = "y" ]; then
echo
sudo apt-get purge -y ${id}buntu-restricted-extras $ttf
fi
if [ "$install" = "y" ]; then
ms_install
sudo apt-get install -y ${id}buntu-restricted-extras
fi
if [ "$mscore" = "y" ]; then
ms_install
fi
}


Step2、給予執行權限並執行perfect_mscorefonts


chmod +x perfect_mscorefonts && ./perfect_mscorefonts

2009年10月30日 星期五

「手把手」調教Ubuntu 9.10 

我從9.10的Beta版即開始使用了,當中遇到許多問題,需要調整才能更照我想的方法使用。

以後分批介紹我調整那些功能,應該只有寫到就可以調整好了。











Step1、修改自動通知的天數為0

讓他每天都通知有最新的套件

gconftool-2 --type bool -s /apps/update-notifier/auto_launch false



Step2、修改有更新時不要自動跳出

9.04後有更新會自動跳出

gconftool-2 --type int -s /apps/update-notifier/regular_auto_launch_interval 0



Step3、取消關機/重登…等等到數60秒

9.04後關機/重登…都會有60秒的限制

gconftool-2 --type bool -s /apps/indicator-session/suppress_logout_restart_shutdown true



參考資料:

Disable Timer on Shutdown - Ubuntu 9.10

2009年10月26日 星期一

「手把手」Ubuntu使用者還在忍受烏龜的噗浪嘛,要不要試試變忍者龜

使用 hinet 加上 Ubuntu 運氣好的話Plurk會蠻順的,如果像我這種運氣不好的話,上噗浪就如同烏龜一樣,開也開不了,就算開了也時常卡在河道。



如果你也像我這麼連Plurk不順利的話,你應該也有用過FoxyProxy吧。他對我可以說是時好時壞,有時候有掛 proxy 跟沒掛差不了多少。









後來輾轉看到此噗MSN機器人 分享 [ubuntu]誰知道為甚麼?裝了 sudo apt-get install firestarter 後,沒有做任何設定,不知為何解決了ubuntu 上 plurk 的問題?我有試了可用,但每次要連windows的分享,都要先關閉 firestarter 才可以連到smb太麻煩了(不過我後來有解決了)。



在網路上飄著飄著又飄到摩托學園看到了debian 上不了 plurk? chihchun 有提出四個解法,我一個一個試,試到第四個用到 sysctl 有點印象,之前有改過 sysctl.conf 照他提供的方法增加後,重新開機上噗,就變忍者龜能飛天了XD



記得先備份,如果失敗直接還原舊檔即可

備份sysctl.conf

sudo cp /etc/sysctl.conf{,.back}

如果使用有問題可以還原

sudo mv /etc/sysctl{.conf.back,.conf}



一行指令就搞定

Step1、只要輸入一行指令後,重開機即可。

echo "net.ipv4.tcp_mtu_probing=1" | sudo tee -a /etc/sysctl.conf



重開機後建議先用火狐的安全模式試一下,把套件全都暫時關掉,如果安全模式上噗很快的話,關閉安全模式在開火狐上噗變慢的話,就是你有套件讓火狐讀取速度變慢。



像我就有發現使用Greasemonkey的噗浪相關腳本,有用到jQuery註1在開啟河道時就會拖慢河道開啟的速度,讀取河道上的未讀訊息那些也會變慢。



註1 jQuery:目前我裝了幾個噗浪腳本,那個腳本有轉噗的功能我開原始碼看了一下都有用到。不過我現在開了也蠻順的XD



註2我是刪了 firestarter 後才去試的。



後記



我實作後重複測試 Chromium 跟 Firfox 上噗浪,基本上 Chromium 出現新訊息,在 Firefox 也會出現新訊息,比起掛 Proxy 來講 Firefox 感覺有明顯的差異,速度差加不少, Firefox 卡河道的事情幾乎不會發生了。



祝大家噗浪愉快:P



參考資料

debian 上不了 plurk?

2009年9月25日 星期五

「手把手」jaunty 核心升級到2.6.30含小測心得

今天看到ubuntu 9.04可以簡單改用2.6.30核心忍不住又給他升級一下了,前陣子我也有試過,那時要使用compiz的功能及3D還有音效通通掛點,我的顯示卡是Ati 4670要在2.6.30上使用還要打補丁,笨笨的我打上去也不行用。



還有想要穩定使用Ext4的機會也沒有(嘆氣),我核心是2.6.29使用時一直當(冒似人品不好),別人就能穩定使用(唉)。



剛升級之後除了Ext4還沒試驗外(給我勇氣吧!),其它使用都還蠻正常的,有興趣可以試試看嚕,不穩定在把核心K掉就好了。







安裝2.6.30 版核心

Step1、增加套件來源,更新套件庫,安裝新核心

OSVER=`lsb_release -cs`

echo "deb http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu $OSVER main"|sudo tee -a /etc/apt/sources.list

sudo aptitude update

sudo aptitude install linux-headers-2.6.30-10-generic linux-image-2.6.30-10-generic




小測試

Step1、3D加速支援

glxinfo| grep "direct rendering"

direct rendering: Yes



Step2、目前ATI驅動程式版本

fglrxinfo

display: :0.0 screen: 0

OpenGL vendor string: ATI Technologies Inc.

OpenGL renderer string: ATI Radeon HD 4600 Series

OpenGL version string: 2.1.8918







VirtualBox的DKMS安裝

Step1、不知為啥VirtualBox為啥沒順便更新,開啟時出現錯誤,更新一下就好了。

sudo /etc/init.d/vboxdrv setup

* Stopping VirtualBox kernel module * done.

* Recompiling VirtualBox kernel module * done.

* Starting VirtualBox kernel module * done.








我ATI驅動程式用「perfect」自動安裝ATI Driver for jaunty i386●ATI_Driver安裝的,自產自銷一下嘿嘿。



參考資料:

ubuntu 9.04可以簡單改用2.6.30核心

2009年9月17日 星期四

「親愛的」搞定ttf-mscorefonts-installer安裝時出現的錯誤

不管是安裝ubuntu-restricted-extras或kbuntu-restricted-extras還是單獨安裝ttf-mscorefonts-installer都會碰到錯誤,原因是安裝時有的檔案下載不來。



這幾天有研究一下deb包的原始碼,發現sourceforge.net可能有改變檔案存放位置,而原始碼還是舊的網址,造成檔案找不到,檔案也就安裝錯誤了。



只要下載原始碼修改一下並編譯成deb檔,安裝就不會出現錯誤了。



10.21.2009 更新 下載並修改原始碼 部份,應該先刪除搜尋

10.26.2009 安裝3.0版是正常的不用此方法修改了。

11.01.2009 Carl反應少了 build-essential 無法編譯以補上了。







下載並修改原始碼



Step1、下載最新版的原始碼

需要svn沒有的請安裝

sudo aptitude install subversion

svn co https://svn.kinkhorst.nl/svn/debian/msttcorefonts/trunk



Step2、修改原始碼

cd trunk && gedit update-ms-fonts



搜尋並刪除

http://downloads.sourceforge.net/corefonts/



搜尋

/corefonts/

取代

/project/corefonts/the%20fonts/final/



存檔並關閉



編譯並安裝deb

Step1、編譯

需要fakeroot 、 build-essential 套件沒有的請安裝

sudo aptitude install fakeroot build-essential

dpkg-buildpackage -rfakeroot -uc -b



Step2、安裝

sudo dpkg -i ../ttf-mscorefonts-installer*

deb會放在trunk的上一層目錄下次可以直接裝修改好的deb檔。

2009年9月15日 星期二

「perfect_stardict_dic」打包星際譯王8本漢英、英漢字典成deb檔

常安裝StarDict (星際譯王)的字典檔是蠻煩鎖鎖的一件事,要先到stardict dictionaries下載所需要的字典檔,在解壓縮移動到指定的目錄裡,並不是每個人都知道要存放在那,在Ubuntu正體中文站常常都有人尋問如何裝。



現在使用perfect_stardict_dic腳本,能夠直接下載8本英漢、漢英字典,並且解壓縮打包成deb檔,這樣不管是要直接安裝,還是下次要重新安裝都相當的方便。



8本字典不一定要全部都安裝,看你的喜歡裝幾個就裝幾個哦!

2010.04.27 由於星際譯王字典檔只能到論壇下載,目前此腳本無法使用了。





下載、打包、安裝字典檔



Setp1、建立perfect_stardict_dic檔後,複制貼上程式碼[1]內容。

gedit perfect_stardict_dic





程式碼[1]



#!/bin/bash

# by hepha

# http://playubuntu.blogspot.com/

# GPL or CC-BY-NA-SA

# 版號1 (16-09-09)

Tmp=/tmp

Dic_Dir=$Tmp/dic

Uri="http://kent.dl.sourceforge.net/project/stardict/stardict-dictionaries-zh_TW/2.4.2"

All_Dic=$Dic_Dir/all_dic

linktest=`ping -c 3 168.95.1.1 2>/dev/null| grep "time="`

if [ "$linktest" = "" ]; then

echo "現在網路是斷線的,無法使用本程式"

echo "ByeBye"

exit 1

fi

File_Test (){

echo "沒有下載成功任一辭典"

exit 0

}

getArg ()

{

echo "請決定「$1」"

path=$2

yn=n

while [ $yn != "y" ]

do

echo "目前設定為:「$path」"

read -p "您的確定要設為這樣嗎? (Y/N)" -n1 yn

echo ""

if [ $yn = "n" ];

then

read -p "那麼請您重新輸入「$1」:" path

fi

done

}

sourcePath=$HOME

getArg "存放路徑" $sourcePath

mkdir -p $Dic_Dir

echo > $All_Dic

echo 歡迎使用

echo welcome to perfect_stardict_dic ver 1

echo

echo 打包星際譯王8本漢英、英漢字典成deb檔

read -p "打包deb檔後要直接安裝嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = "Y" ]]; then

Stardict=`aptitude search ^stardict$ | awk '{print $1}'`

if [ $Stardict != "ii" ]; then

echo

read -p "如要立即安裝需要主程式「stardict」你是否要一併安裝?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = "Y" ]]; then

Install_Stardict=1

else

Deb_Install=1

fi

fi

fi

echo

echo 你可以選要使用的即可,不用全部都選擇

Dic0=21世紀英漢漢英雙向詞典

echo

read -p "你要使用「$Dic0」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic0=1

echo $Dic0 >>$All_Dic

fi

Dic1=21世紀雙語科技詞典

echo

read -p "你要使用「$Dic1」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic1=1

echo $Dic1 >>$All_Dic

fi

Dic2=xdict英漢字典

echo

read -p "你要使用「$Dic2」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic2=1

echo $Dic2 >>$All_Dic

fi

Dic3=xdict漢英字典

echo

read -p "你要使用「$Dic3」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic3=1

echo $Dic3 >>$All_Dic

fi

Dic4=牛津現代英漢雙解詞典

echo

read -p "你要使用「$Dic4」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic4=1

echo $Dic4 >>$All_Dic

fi

Dic5=朗道英漢字典

echo

read -p "你要使用「$Dic5」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic5=1

echo $Dic5 >>$All_Dic

fi

Dic6=朗道漢英字典

echo

read -p "你要使用「$Dic6」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic6=1

echo $Dic6 >>$All_Dic

fi

Dic7=cdict-big5英漢字典

echo

read -p "你要使用「$Dic7」嗎?(Y/N)" -n1 yn

if [[ $yn = "y" || $yn = Y ]]; then

dic7=1

echo $Dic7 >>$All_Dic

fi

echo

echo

Deb_Dic=`cat $All_Dic | tr "\n" "," | sed 's/^,//g ; s/.$//g'`

echo 開始下載「$Deb_Dic」中請稍後

echo

echo

if [ $dic0 -eq 1 ]; then

wget -c "$Uri/stardict-21shijishuangxiangcidian-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic1 -eq 1 ]; then

wget -c "$Uri/stardict-21shijishuangyukejicidian-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic2 -eq 1 ]; then

wget -c "$Uri/stardict-xdict-ec-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic3 -eq 1 ]; then

wget -c "$Uri/stardict-xdict-ce-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic4 -eq 1 ]; then

wget -c "$Uri/stardict-oxford-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic5 -eq 1 ]; then

wget -c "$Uri/stardict-langdao-ec-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic6 -eq 1 ]; then

wget -c "$Uri/stardict-langdao-ce-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

if [ $dic7 -eq 1 ]; then

wget -c "$Uri/stardict-cdict-big5-2.4.2.tar.bz2" -P $Dic_Dir

fi

Stardict_Dir=$Tmp/stardict

Stardict_Dic_Dir=$Stardict_Dir/usr/share/stardict/dic

mkdir -p $Stardict_Dic_Dir

for var in $Dic_Dir/stardict-*.tar.bz2

do

test -e $var || File_Test

echo 解壓縮$var

tar jxf $var -C $Stardict_Dic_Dir

done

echo

echo 開始打包「$Deb_Dic」中請稍後

echo

Size=`du --max-depth=0 -k $Stardict_Dic_Dir | awk '{print $1}'`

mkdir -p $Stardict_Dir/DEBIAN

echo "Package: stardict-dic

Version: 1

Section: universe/utils

Priority: optional

Architecture: all

Depends: stardict

Installed-Size: $Size

Maintainer: $USER

Description: $Deb_Dic

">$Stardict_Dir/DEBIAN/control

dpkg -b $Stardict_Dir $sourcePath/stardict-dic_1.0.all.deb

echo

echo 檔案打包完成存放在「$sourcePath/stardict-dic_1.0.all.deb」

echo

if [ $Install_Stardict -eq 1 ]; then

sudo apt-get install stardict stardict-common --force-yes -y

echo 開始安裝「$sourcePath/stardict-dic_1.0.all.deb」請稍後

sudo dpkg -i $sourcePath/stardict-dic_1.0.all.deb

elif [ $Deb_Install -eq ]; then

echo 開始安裝「$sourcePath/stardict-dic_1.0.all.deb」請稍後

sudo dpkg -i $sourcePath/stardict-dic_1.0.all.deb

else

echo

fi
Setp2、給予執行權限並執行perfect_stardict_dic

chmod +x perfect_stardict_dic && ./perfect_stardict_dic



安裝畫面(略過下載字典檔)