FreeBSD 9のデスクトップ環境構築

>> 新しく書き直しました <<

概要

しばらく時間が経つと設定方法が変わるのでFreeBSD9時点での設定方法をまとめてみた。
殆どPC-BSDだけどw
少し追記

 

目標

PC-BSDではなく、FreeBSDで一から構築
取り合えずgnomeで、日本語入力できて、ブラウザでネット
動画/音楽再生・Skype・FLASH動画再生・PDF閲覧ができる位

 

OSバージョン

FreeBSD9 beta1 i386
※デスクトップ用途だと対応ソフトウェアとかで32bitの方が都合が良いため。

 

シェル

ZSH

 

PCスペック

Athlon X2 4400+
Radeon HD 4670
k8n diamond
memory 4GB
※現状Windows7 64bitとデュアルブート

グラフィックカードはNVIDIAかAMDのWindows7のaero対応レベルのものが好ましい。
他メーカーもしくは古いと思うように動かない場合がある。
Intelとかはオススメしない

 

FreeBSDインストール

FreeBSDのインストールは出来るものとして省略
適当にパーティション作ってインストール。
今回はUFS+SUJでフォーマット。
baseのみの最小インストール。

再起動

 

カーネルモジュール読み込み

Linuxバイナリ互換機能を使わないと達成できない部分があるので、以下のモジュールをロード。

kldload linux

 

ports取得

portsnap fetch extract

 

ソフトウエアインストール

portsから上から順番に入れる。
その時芋づる式にインストールされるが、お構い無く。
パッケージ使うとかPC-BSD使えとかあるけど、今回はportsでシコシコ。
多分丸1日くらいコンパイルしっ放しになります。

lang/perl5.14
lang/python27
devel/subersion-freebsd

#ソース取得
svn svn://svn.freebsd.org/base/head /usr/src

shell/zsh
editors/vim
emulators/linux_base-f10
www/linux-f10-flashplugin10
www/nspluginwrapper
sysutils/bsdstats
print/acroreadwrapper
japanese/acroread9
net-im/skype
multimedia/pwcbsd
x11-fonts/droid-fonts-ttf
x11/xorg
japanese/ibus-mozc
x11/gnome2

※お好みに
www/firefox
www/firefox-i18
www/chromium
www/opera

#最後にカーネルモジュールと同じくバージョンににする
cd /usr/src
make -j4 buildworld && make kernel && make installworld
mergemaster -sviF

インストール後chshでshellをzshに変える。

 loader.conf

/boot/loader.confにコピペ。PC-BSDより
要らないモジュール・追加のモジュールは書き替えてください。

# Kernel Options
kern.ipc.shmseg=1024
kern.ipc.shmmni=1024
kern.maxproc=10000

# Load atapicam
atapicam_load="YES"

# Load Wireless Support
if_bwn_load="YES"
runfw_load="YES"
legal.intel_ipw.license_ack=1
legal.intel_iwi.license_ack=1

# Load Bluetooth Drivers
ng_ubt_load="YES"

# Enable usb Webcam Support
cuse4bsd_load="YES"
pwc_load="YES"

# Load mmc card-reader support
mmc_load="YES"
mmcsd_load="YES"

# Load additional sata device support
siis_load="YES"
sdhci_load="YES"

# Load support for scd
scd_load="YES"

# Load geom support
geom_journal_load="YES"
geom_uzip_load="YES"
geom_mirror_load="YES"
geom_eli_load="YES"

# Load Serial Bus Protocol Support
sbp_load="YES"

# Load File-System Support
libiconv_load="YES"
libmchain_load="YES"
cd9660_iconv_load="YES"
msdosfs_iconv_load="YES"
ntfs_load="YES"
ntfs_iconv_load="YES"
udf_load="YES"
udf_iconv_load="YES"
zfs_load="YES"
tmpfs_load="YES"

# Load u3g support
u3g_load="YES"

# Disable acpi throttle by default, fixes issues with powerd and later AMDs
hint.acpi_throttle.0.disabled="1"

# Fix crashes on 32bit with Nvidia
machdep.disable_mtrrs=1

# Enable POSIX semaphores
sem_load="YES"

# Show keystokes for passphrases
kern.geom.eli.visible_passphrase=2

sysctl.conf

/etc/sysctl.confに書き替え。
これもPC-BSDより。

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0

# Disable coredump
kern.coredump=0

# Up the maxfiles to 4x default
kern.maxfiles=49312

# Allow users to mount CD's
vfs.usermount=1

# Enable more sound channels
dev.pcm.0.play.vchans=4
dev.pcm.0.rec.vchans=4

# Autodetect the most recent sound card. Uncomment for Digital output / USB
#hw.snd.default_auto=1

# Allow pinging in jails
security.jail.allow_raw_sockets=1

# Required for postgres
security.jail.sysvipc_allowed=1

# Required for smb
security.jail.mount_allowed=1

# Solves permission problems for some ports
security.jail.chflags_allowed=1

# Disable the system speaker
hw.syscons.bell=0

# Tune for desktop usage
kern.sched.preempt_thresh=224

# Enable for proper lagg failover
#net.link.lagg.failover_rx_all=1

rc.conf

インストール後以下を/etc/rc.confに記述
殆どPC-BSDからのコピペ

linux_enable="YES"
linux_adobe_enable="YES"
devd_enable="YES"
devfs_system_rulesets="devfsrules_common" 

# FSCK Enhancements
fsck_y_enable="YES" 

# powerd: adaptive speed while on AC power, adaptive while on battery power
powerd_enable="YES"
powerd_flags="-a hiadaptive -b adaptive" # set CPU frequency

# Enable console mouse
moused_type="auto"
moused_enable="YES" 

# Enable HAL / DBUS
dbus_enable="YES"
hald_enable="YES"

# Enable webcamd
webcamd_enable="YES"

# Enable sound-support
snddetect_enable="YES"
mixer_enable="YES"

# Enable avahi_daemon
avahi_daemon_enable="YES"

# Enable the gdm display manager
gdm_enable="YES"
gdm_lang="ja_JP.UTF-8"

# ntp
ntpd_enable="YES"
ntpd_sync_on_start="YES"

# Enable BSDStats
bsdstats_enable="YES"

# Enable BlueTooth
hcsecd_enable="YES"
sdpd_enable="YES"

 

devfs.rules

/etc/devfs.rulesにコピペ
これもPC-BSDから

[devfsrules_common=7]
add path 'ad[0-9]*' mode 666
add path 'da[0-9]*' mode 666
add path 'acd[0-9]*' mode 666
add path 'cd[0-9]*' mode 666
add path 'mmcsd[0-9]*' mode 666
add path 'pass[0-9]*' mode 666
add path 'xpt[0-9]*'mode 666
add path 'ugen[0-9]*' mode 666
add path 'usbctl' mode 666
add path 'usb/*' mode 666
add path 'lpt[0-9]*' mode 666
add path 'ulpt[0-9]*' mode 666
add path 'unlpt[0-9]*' mode 666
add path 'fd[0-9]*' mode 666
add path 'uscan[0-9]*' mode 666
add path 'video[0-9]*' mode 666  
add path 'dvb/*' mode 666

 

fstab

gdmとlinuxバイナリ互換機能に必要なので以下の2行を/etc/fstabに追記

proc            /proc              procfs    rw 0 0
linprocfs       /compat/linux/proc linprocfs rw 0 0

.zshrc

UTF-8で使うので以下の2行を.zshrcへ書く

export LANG=ja_JP.UTF-8
export GDM_LANG=ja_JP.UTF-8

また、日本語入力をできるようにするため以下の3行を.zshrcに書く

mozc_server_start
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="-r --daemonize --xim"

 

日本語キーボード設定

何も設定しないと英語配列になってしまいますのでhalの設定ファイルを作ります。

/usr/local/etc/hal/fdi/policy/jp106.fdiとして以下をそのままコピペして作成

<?xml version="1.0" encoding="ISO-8859-1"?>
    <deviceinfo version="0.2">
    <device>
        <match key="info.capabilities" contains="input.keyboard">
            <merge key="input.x11_driver" type="string">kbd</merge>
            <merge key="input.x11_options.XkbRules" type="string">xorg</merge>
            <merge key="input.x11_options.XkbLayout" type="string">jp</merge>
            <merge key="input.x11_options.XkbModel" type="string">jp106</merge>
            <merge key="input.x11_options.XkbOptions" type="string">ctrl:nocaps</merge>
        </match>
    </device>
</deviceinfo>

gnomeにもキーボード配列の設定があるのでそちらも合わせて確認

 

再起動

再起動後、gdmを立ち上げれば完了です。

 

Adobe Flash Player (Frefox, Chromiumの場合)

www/nspluginwrapperをインストールし、使用するユーザーごとに以下のコマンドで有効化させます。

nspluginwrapper -i /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so

解除は以下のコマンド

nspluginwrapper -r ~/.mozilla/plugins/npwrapper.libflashplayer.so

 

Adobe Flash Player (Operaの場合)

www/opera-linuxpluginsをインストールするだけ。

 

Adobe Reader

ブラウザで表示させる場合の設定。
Flash Playerと同じ要領だがChromiumは対応していない?(認識されないので)

Firefoxの場合

nspluginwrapper -i /usr/local/Adobe/Reader9/JPN/Adobe/Reader9/Browser/intellinux/nppdf.so

Operaの場合

ln -s /usr/local/Adobe/Reader9/JPN/Adobe/Reader9/Browser/intellinux/nppdf.so /usr/local/lib/npapi/symlinks/linux-opera/nppdf.so

 

フォント

日本語フォント設定はしていません。
最近はデフォルトでも綺麗なフォントが設定されています。

Adobe Flash Playerも設定は何もせず、日本語フォントも□やミミズが這ったようなフォントではなく綺麗なフォントで表示されています。

 

xorg.conf

昔は設定必須でしたが細かい設定を使用としない限り、現在は作成しなくてOKでしょう。
自分の環境ではOKだったので作成していません。

 

マウス

Intellimouse Explorer 3.0を使っているが、何もしなくてもサイドのボタン二つがブラウザやnautilusでちゃんと効いていることに感動。
以前はゴチャゴチャ設定ファイル書いたり、nautilus用にソフト入れないと使えなかった。

 

完成

こんな感じになります。
1,2年前に構築した頃よりはデフォルトでもだいぶ綺麗になっているのではないでしょうか。

 

Firefox6 + Adobe Flash Player 10
Chromium13 + Adobe Flash Player 10
Opera11.50 + Adobe Flash Player 10
Skype
Adobe Reader 9

 

 

Java

たまにブラウザでも必要になるのでおまけ。

先に/etc/make.confに以下を追記

JAVA_VENDOR=    openjdk

FirefoxとOperaは以下をportsからインストールだけでOKです。

java/openjdk6
java/icedtea-web

Chromiumは加えて以下を実行してください

mkdir -p /usr/local/share/chromium/plugins
ln -s /usr/local/lib/IcedTeaPlugin.so /usr/local/share/chromium/plugins/IcedTeaPlugin.so

/etc/fstabに以下を追記

fdesc           /dev/fd            fdescfs   rw 0 0

以下で確認ができます
http://java.com/ja/download/installed.jsp

このままだと日本語が□になるので
以下を/usr/local/openjdk6/jre/lib/fontconfig.propertiesに作成

#
# Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#

# Version

# Uses Fedora Core 6 fonts and file paths.
version=1

# Component Font Mappings
dialog.plain.japanese=Droid Sans Japanese
dialog.bold.japanese=Droid Sans Japanese
dialog.italic.japanese=Droid Sans Japanese
dialog.bolditalic.japanese=Droid Sans Japanese
sansserif.plain.japanese=Droid Sans Japanese
sansserif.bold.japanese=Droid Sans Japanese
sansserif.italic.japanese=Droid Sans Japanese
sansserif.bolditalic.japanese=Droid Sans Japanese
serif.plain.japanese=Droid Sans Japanese
serif.bold.japanese=Droid Sans Japanese
serif.italic.japanese=Droid Sans Japanese
serif.bolditalic.japanese=Droid Sans Japanese
monospaced.plain.japanese=Droid Sans Japanese
monospaced.bold.japanese=Droid Sans Japanese
monospaced.italic.japanese=Droid Sans Japanese
monospaced.bolditalic.japanese=Droid Sans Japanese
dialoginput.plain.japanese=Droid Sans Japanese
dialoginput.bold.japanese=Droid Sans Japanese
dialoginput.italic.japanese=Droid Sans Japanese
dialoginput.bolditalic.japanese=Droid Sans Japanese

# Search Sequences
sequence.allfonts=japanese
sequence.allfonts.UTF-8.ja.JP=japanese,japanese

# Font File Names
filename.Droid_Sans_Japanese=/usr/local/lib/X11/fonts/Droid/DroidSansJapanese.ttf

 

現在の問題

使用しているオンボードのSound Blaster Audigy LSが現在使用できない。
FreeBSDのドライバーは対応していないのでOSSを使用。
過去OSSで使用できた実績があるが、今回OSSのモジュールをロードした途端カーネルパニックを起こす。
単にFreeBSD 9に対応していない可能性が高いので、しばらく様子見。

とりあえず放置していた初代Andigyを取り付け以下を/boot/loader.confに追記

snd_emu10kx_load="YES"

サウンドは正常に鳴るようになった。

x11/xorg
multimedia/pwcbsd
japanese/ibus-mozc
x11-fonts/droid-fonts-ttf

FreeBSD 9のデスクトップ環境構築」への1件のフィードバック

  1. ピンバック: FreeBSD 10 BETA2 + pkgngでデスクトップ環境構築

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.