Tuesday 06 January, 2015 [長年日記] この日を編集
_ [BSD][Mac] MacBookにFreeBSDを (5) - Macでの準備 -
前回からずいぶん時間がかかってしまったが、ようやくMacBookでFreeBSDを動かすことができた。今回使っているMacBookはMacBook2,1(Mid 2007)という黒い筐体のモデルである。主なスペックは- CPU
- Intel Core 2 Duo 2GHz
- Memory
- DDR2 SDRAM 2GB / 667MHz
- HDD
- TOSHIBA MK1234GSX 120.03GB
- Optical
- CR-RW/DVD-RW
- Video
- Intel GMA 950 (integrated)
- Display
- 13.3inch, 1280x800
- OS
- MacOS X 10.6.8 (10.7まで対応らしい)
まずは元のMacOSXは万が一の場合に備えて残しておくことにするとおよそ25GB程度を使っているので余裕をみてHDDの1/3の40GBにした。 ディスクユーティリティではこんな感じで。
次にBootManagerを入れる。Mac本体/BootCampでもoptionキーを押しながら起動すると起動するパーティション/OSを選ぶ機能があるがLinuxやBSDでは対応していない。そこで別のBootManagerを入れておく。今回使ったのはrEFItである。 これはすでに開発が停止しているようで、作者自ら後継としてrEFIndを勧めている。私は両方使用したが、Uninstallをしやすいというだけの理由でrEFItを使うことにした。
_ [BSD][Mac] MacBookにFreeBSDを (6) - FreeBSDの導入 -
MacOSX側の準備が終わったところでFreeBSDのinstallを行う。 USBメモリからの起動を試してみたがうまくいかなかったので、 久しぶりにCD-Rを出してきてFreeBSD-10.1-RELEASE-i386-disc1.iso
を焼いて使うことにした。
定石どおりにCDを入れてcキーを押しながら起動するとFreeBSDのInstallerまで自動的に進む。
基本的にはふつうのPCに入れるのと変わらない手順でおこなえる。注意が必要なのはPatition Editorのところである。Manualモードで進むと
ada0 112GB GPT
ada0p1 200 MB efi
ada0p2 37 GB apple-hfs
となる。ada0
はFreeBSDでのHDDの識別子で機種によっては異なることもあり得るので注意が必要である。
p1
とp2
がMacOSで使用されているのでp3
以降にFreeBSDのPartitionを設定する。
一番簡単にはfreebsd-boot
、freebsd-swap
、freebsd-ufs
を置けばいいのであるが、私はきちんと分けるほうなので
boot
に64KB、swap
に2GB、/
と/var
に1GBずつ、/usrに20GBを割り当てる。
またこれは私の我流であるが、通常/usr
にあるsrc
とports
は書き込み頻度が高いので
別のパーティション/opt
に15-20GBを確保してここに置くことにしている。
残りが/home
に割り当てられる。
割当が決まったらCreate
コマンドでpartitionを設定する。(MBRパーティションのころのようにsliceの中にpartitionを切るのではないので昔の方法に慣れている人は要注意である。私もこの新しいGPTパーティションはまだ慣れていない。)
間違いがなければFinish
で確定する。
p1
とp2
が残っていればMacOSで起動できるのであまり慎重になりすぎなくてもいい。インストールが終わるとConfigurationに移る。
root
のパスワードの設定をしたあとはNetwork設定になるが、無線LANの設定もできるようになっていることに驚いた。インストーラを使うのは久しぶりなのでいつから使えるようになったのかは分からないが。TimeZoneの設定、起動するServiceの設定、ユーザーの作成と続くのは通常通りで終わったら再起動する。
_ [BSD][Mac] MacBookにFreeBSDを (7) - 最後の設定 -
再起動するとBootManagerであるrEFItの画面になる。MacOSXにあたる青い林檎マークのとなりに白黒の菱形のアイコンができていて、 これでFreeBSDが起動できるかと試してみたら黒画面にNo bootable device -- insert boot disk and press any key
という表示が出てhaltしてしまう。ここでは電源を切るしかないようである。FreeBSDを起動できるようにするには下に並んでいるアイコンからStart Partitioning Toolを選択して起動する。 そうすると黒画面でディスクの設定が表示され一番下に
May I update the MBR as printed above? [y/N] _
と表示される。これについては私も充分に理解していないのが、おそらくGPTパーティションとMBRパーティションの齟齬が
あるので修正するということであると想像する。
ちょっと怖いがここでY
を選んで再起動すると、rEFItの画面の白黒のアイコンからFreeBSDが起動できる。Congratulations!
ちなみにFreeBSD-10.1では
atp
という名前のdeviceでタッチパッドが認識されてmulti-finger tapがサポートされる。
これはどこまで使えるのかじっくり確認したい。
Wednesday 07 January, 2015 [長年日記] この日を編集
_ [BSD][Mac] MacBookにFreeBSDを (8)
インストール中の画面は写真を撮る以外ではなかなかキャプチャできないのでとりあえず現在のディスクの状況を示す。すでいいろいろなpackageを入れているので使用状況は初期値としては当てにならない。# gpart show ada0
=> 34 234441581 ada0 GPT (112G)
34 6 - free - (3.0K)
40 409600 1 efi (200M)
409640 78164064 2 apple-hfs (37G)
78573704 128 3 freebsd-boot (64K)
78573832 4194304 4 freebsd-swap (2.0G)
82768136 2097152 5 freebsd-ufs (1.0G)
84865288 2097152 6 freebsd-ufs (1.0G)
86962440 41943040 7 freebsd-ufs (20G)
128905480 41943040 8 freebsd-ufs (20G)
170848520 62914560 9 freebsd-ufs (30G)
233763080 678535 - free - (331M)
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ada0p5 1015324 726584 207516 78% /
devfs 1 1 0 100% /dev
/dev/ada0p6 1015324 437800 496300 47% /var
/dev/ada0p7 20307196 4242172 14440452 23% /usr
/dev/ada0p8 20307196 2709144 15973480 15% /opt
/dev/ada0p9 30450780 33832 27980888 0% /home
linprocfs 4 4 0 100% /compat/linux/proc
_ [BSD][Mac] MacBookにFreeBSDを (9) - srcを取る -
ここから先はMacBookは関係なくて通常のFreeBSDの設定についてなんだが、デスクトップとして使うものを設定するのは久しぶりなので備忘録として手順を記録しておく。元のCD-Rは10.1-RELEASEのものだったのでsecurityを含めたupdateを掛けないといけない。freebsd-updateという便利なものがあるらしいが私はよく分からないのでsrc
を取ってくる。以前はcvsupを使っていたが9.0-RELEASEあたりからssubversionでの提供に変わったのでまだあまり慣れていない。Handbookによるとmirrorは四ヶ所しかない。本来であればsubversionをinstallしないとsvnが使えないのであるが、実はbaseにsvnlite
というコマンドが含まれておりそのままでsrcを取りにいける。今回私はsrc
をinstallせずにsrcを置く/opt/src
ディレクトリは空だったのでいきなり
# svnlite checkout https://svn0.us-west.FreeBSD.org/base/releng/10.1 /opt/src
とした。もし空でない場合は元のファイルを消しておいたほうがトラブルになりにくいらしい。デフォルトではsrcは/usr/srcにあるので
# svnlite checkout https://svn0.us-west.FreeBSD.org/base/releng/10.1 /usr/src
とする。
二回目からはsrcディレクトリで
# cd /opt/src
# svnlite update
とすれば(この場合は最初に取ってきたbase/releng/10.1
の)常に最新の内容を取ってこられる。このサイトが参考になる。
そのあとはお決まりの手順でmakeしてinstall,mergemasterをしたら。
% uname -v
FreeBSD 10.1-RELEASE-p3 #0 r276745: Tue Jan 6 21:39:03 JST 2015
Saturday 10 January, 2015 [長年日記] この日を編集
_ [BSD][Mac] MacBookにFreeBSDを (10) - mergemaster -
base systemをupdateするにはfreebsd-update
を使うのが簡単らしく主流になっているけど私はいまだにsrcからbuildすることにしている。一般的な手順は/usr/src/UPDATING
に記載されている。
To rebuild everything and install it on the current system.
-----------------------------------------------------------
# Note: sometimes if you are running current you gotta do more than
# is listed here if you are upgrading from a really old current.
<make sure you have good level 0 dumps>
make buildworld
make kernel KERNCONF=YOUR_KERNEL_HERE
[1]
<reboot in single user> [3]
mergemaster -p [5]
make installworld
mergemaster -i [4]
make delete-old [6]
<reboot>
この中で面倒なのがmergemaster
である。これは/etc
にある設定ファイルを書き換える際に元にある設定を残しながら編集するためのものである。最近では
# mergemaster -UPi
というoptionをつけることでかなり手間が省けることになってるが、これを覚えるのもちょっと面倒でもある。
mergemaster(8)
にも記載されているが、
/etc/mergemaster.rc
または$HOME/.mergemasterrc
に設定を書けばoptionの入力を省略できる。
AUTO_INSTALL=yes
AUTO_UPGRADE=yes
PRESERVE_FILES=yes
IGNORE_MOTD=yes
VERBOSE=yes
FREEBSD_ID=yes
としておくとかなり楽になる。
_ [BSD][Mac] MacBookにFreeBSDを (11) - linux_base -
Handbookにあるように FreeBSDにはLinuxのbinaryを実行するemulatorの機能が含まれている。 基本機能を提供するportsとしては
emulators/linux_base
というデフォルトのportsがあって
以前はlinux_base-fc4
にlinkされていたように記憶している。
しばらく前からlinux_base-f10
を使っていたが、ちょっと古くなってきたので
今回はlinux_base-c6
を使うことにした。
これを使う時にはFreeBSD内部で設定されているLinux kernelのバージョンが異なるので設定の変更が必要である。
/etc/sysctl.confには
compat.linux.osrelease=2.6.18
を追加する。
portsからinstallするときはこの変更がないとerrorとなるのであらかじめ
# sysctl compat.linux.osrelease=2.6.18
を入力しておく。
/etc/make.confには使うportsの種類を指定する。
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
/etc/rc.confには
linux_enable="YES"
/etc/devfs.conf には
link /tmp shm
/etc/fstabには
linprocfs /compat/linux/proc linprocfs rw 0 0
を追加する。
Sunday 11 January, 2015 [長年日記] この日を編集
_ [BSD][Mac] MacBookにFreeBSDを (12) - X11の設定 -
もう一つハードウェアに依存する話があった。X WINDOW SYSTEM (X11) の設定である。 もっとも最近のXorgのX11は自動的に設定される部分が増えてとりあえず全部入れてstartx
すると起動してしまうのであまり気にすることはないことも確かである。
ただ今回のMacBookの場合はDiskの容量が限られているのでわずかとはいえ余計なものは入れたくない。
最近になってportsにx11/xorg-minimal
というものができているのに気付いたので、
とりあえずこれとx11/xterm
、x11-wm/twm
と最低限のものを入れることにした。
hald
とdbus
を使うので/etc/rc.conf
に
hald_enable="YES"
dbus_enable="YES"
を追加する。と書いたところで確認してみたらports/UPDATINGに
20141219: AFFECTS: users of x11/xorg and all xorg ports AUTHOR: dumbbell@FreeBSD.org The X.Org server (x11-servers/xorg-server) is updated to 1.14. All ports which provide X.Org drivers must be updated simultaneously, i.e. x11-drivers/xf86-*, emulators/virtualbox-ose-additions, net/tigervnc, etc. The input device autodetection backend is switched from HAL to devd. If you configure your keyboard layout through HAL .fdi files, you need to migrate this configuration to plain X.Org configuration files. Up-to-date instructions and a description of the changes brought by this update are detailed in a blog post: http://blogs.freebsdish.org/graphics/2014/11/19/xserver-1-14-update-ready/とあり、HALを使わないような変更が行われたようである。ということで
/etc/rc.conf
には
dbus_enable="YES"
だけでいいのかな。
keyboard layoutの変更などはHALの設定で行われることになっていたが、もういちど確認が必要かな。X11の設定についてはrootで
# X -configure
とすると自動的に設定されたxorg.conf.newができる。今回の場合は
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF/"
FontPath "/usr/local/lib/X11/fonts/Type1/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "ShadowFB" # [<bool>]
#Option "DefaultRefresh" # [<bool>]
#Option "ModeSetClearScreen" # [<bool>]
Identifier "Card0"
Driver "vesa"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
となった。これでX11は起動するがせっかくVideoがIntelだと分かっているので(ほとんど効果はないが)
x11-drivers/xf86-video-intel
をinstallして
"vesa"の代わりに"intel"としたものを/etc/X11/xorg.conf
とした。一般ユーザーでも$HOMEにX11の設定がない場合にstartxすると
/usr/local/etc/X11/xinit/xinitrc
の
内容に従って起動する。この中ではtwm、xclock、xtermを起動させている。
とりあえずこれを$HOME/.xinitrc
としてcopyして編集して使うのが楽である。
もっとも後ほど述べるlogin managerを導入する際には$HOME/.xsession
が必要になるので
私の場合は$HOME/.xsession
としておいて.xinitrc
はsymbolic linkとしている。
$ ln -sf .xsession .xinitrc
その他の設定についてはこのサイトが参考になる。
(12/05/2015 追記) この項については内容が変わっているので後の日記を参照のこと。
Monday 12 January, 2015 [長年日記] この日を編集
_ [BSD][X11][Fonts] X11でのFontの設定
これまでの続きではあるが、MacBook固有でもない話なのでタイトルをresetした。
とりあえずX11も動いていろいろアプリケーションを動かすことができるようになったが、ときどきhomeに./fontconfig/
というdirectoryができているのが気になったので調べてみたらfontconfigのバグらしいということでついでにX11でのfontの扱いについて調べてみることにした。
X11のfontはportsにもたくさん登録されている。Xorgから提供されているx11-fonts/xorg-fonts-*
を初めとして、x11-fonts/font-*
として多くのものがあり、また一部の日本語Fontはjapanese/
に登録されている。
これらのフォントは/usr/local/lib/X11/fonts/
にinstallされるが、必要に応じて/etc/X11/xorg.conf
のFontPath
を追加することでX11から利用可能になる。私のxorg.conf
ではこうしている。
Section "Files"
ModulePath "/usr/local/lib/xorg/modules"
FontPath "/usr/local/lib/X11/fonts/misc/"
FontPath "/usr/local/lib/X11/fonts/local/"
FontPath "/usr/local/lib/X11/fonts/noto/"
FontPath "/usr/local/lib/X11/fonts/Droid/"
FontPath "/usr/local/lib/X11/fonts/Roboto/"
FontPath "/usr/local/lib/X11/fonts/proggy_fonts-ttf/"
FontPath "/usr/local/lib/X11/fonts/SourceCodePro/"
FontPath "/usr/local/lib/X11/fonts/SourceSansPro/"
FontPath "/usr/local/lib/X11/fonts/TrueType/"
FontPath "/usr/local/lib/X11/fonts/TTF/"
FontPath "/usr/local/lib/X11/fonts/OTF/"
FontPath "/usr/local/lib/X11/fonts/Type1/"
FontPath "/usr/local/lib/X11/fonts/100dpi/"
FontPath "/usr/local/lib/X11/fonts/75dpi/"
EndSection
また古の時代にはX11ではbitmap fontしか扱えなかったが、しばらく前からscalableであるTrueTypeやOpenTypeをサポートするようになっている。以前はxorg.conf
のModule Sectionに"xtt"または"freetype"を追加することになっていたが、どうやら"xtt"はobsoleteとなり現在は"freetype"を使うことになっているようだ。
Section "Module"
Load "glx"
Load "freetype"
.
.
.
EndSection
ここまでのことはHandbookの
次の'6.6.3. Anti-Aliased Fonts'では/usr/local/etc/fonts/local.conf
や~/.fonts.conf
などがでてくるがこのあたりが現在進行中でいくらか変更が入りつつあるようできちんと整理しないといけないかな。6.6.3に書かれているのはXft
についてであってこれとfontconfig
が現在X11でのFontの制御の主流になっているようである。
Xft
はclient側でfontをrenderingするもので、アプリケーションにlibraryとして組み込まれて動作する。主なものとしてKDE、GNOME、Firefoxなどがありかなり多くのアプリケーションに使われていることになる。Xft
がfontを検索するときに用いられるのがfontconfig
でその設定ファイルが.font.conf
であるが、その場所が変更になっている。man fonts-confによると、~/.fonts.conf
や/etc/fonts.conf
となっているが、
実際には/usr/local/etc/fonts.conf
または~/.config/fontconfig/fonts.conf
に置くことになる。内容についてはXMLで記述すること以外はまだよく理解できていないので改めて。
(12/05/2015 追記) この項については内容が変わっているので後の日記を参照のこと。
Sunday 18 January, 2015 [長年日記] この日を編集
_ [BSD][X11] mlterm on X11
mltermはX11上で動作する端末エミュレータで多言語に対応している(Multi-Lingual Terminal)ということは私が今さら書くこともないのであるが、最近ようやく気づいたことがあったのでメモしておく。mltermは端末上でCtrl+右クリックすると端末の設定画面が出てほとんどの設定がdialogでできるのは便利なのでが、保存しても次に起動するときにデフォルトに戻っていてその理由がわからなかった。
設定した内容は~/.mlterm
というディレクトリができてその中のいくつかのファイルに分かれて保存されるのだが、もともとファイルのない場合には新規でつくられないようである。そこでデフォルトの設定(FreeBSDの場合は/usr/local/etc/mlterm
の内容)を~/.mlterm
にコピーしてそこから設定を行えばきちんと保存されて次回以降も同じ設定で起動する。内容はファイルを見れば大体想像がつくのでそれほど難しい話ではない。
最近はxtermもUTFに対応しており特に何もしなくても日本語を表示できるので困らないのであるがBSDを十年以上も使っている割に細かい設定の仕方がまだわからないのでmltermを当面は使うことになりそう。
Saturday 24 January, 2015 [長年日記] この日を編集
_ [BSD] FreeBSDで導入したpkg/ports
(1) はじめに
いろいろpkgを入れていたらまとまりもなくなってきたので、新規で立ち上げるのも久しぶりだしpkg/ports
で何を導入したかきちんと記録しておこうということで一旦pkg
をすべて消して一つ一つ記録してみることにした。あとで何かの時にまとめられるメモになるかも。
まずはpkg
を入れる。というよりもコマンドを打つと入れてくれる。もちろんports-mgmt/pkg
からでもinstallできるんだけど。
# pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:
ここでyと入力すると
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:32/latest, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.4.6...
Extracting pkg-1.4.6: 100%
Message for pkg-1.4.6:
If you are upgrading from the old package format, first run:
# pkg2ng
pkg: not enough arguments
Usage: pkg [-v] [-d] [-l] [-N] [-j |-c ] [-C ] [-R ] [-o var=value] [-4|-6] []
For more information on available commands and options see 'pkg help'.
と表示される。10.x以降ではPKGNGがデフォルトになっているらしいので特に何もいらない(はず)。
あとは順々に必要なものを入れていけばいいのであるが私はpkg
はあまり好みではないのでports-mgmt/portmaster
を使う。
# cd ports-mgmt/portmaster
# make install clean
とする。
# pkg install ports-mgmt/portmaster
# portmaster ports-mgmt/portmaster
としてもいいんだけど。
perl
とruby
は何かと必要になるので先に入れておく。ただしこれらはversionがいろいろあるので混乱の元になるが、FreeBSDでは複数のversionが並存しているpkgのversionを指定する方法が用意されている。以前は/etc/make.confで
# python
PYTHON_VERSION= 2.7
PYTHON_DEFAULT_VERSION= 2.7
# ruby
RUBY_DEFAULT_VER=1.9
RUBY_VERSION=1.9.3
などと個別に指定する方法になっていた。しかし現在は変更になっていて以下のようにDEFAULT_VERSIONS
を定義するようになっている。
DEFAULT_VERSIONS= perl5=5.18 ruby=1.9 python=2.7 python2=2.7 python3=3.3 \
php=5.5 pgsql=9.0 mysql=5.6 apache=2.4 gcc=4.7 fpc=2.6.2
ということで
# portmaster lang/ruby19 lang/perl5.18
.
.
.
===>>> The following actions will be taken if you choose to proceed:
Install lang/ruby19
Install devel/autoconf
Install devel/autoconf-wrapper
Install devel/gmake
Install devel/gettext-runtime
Install print/indexinfo
Install devel/gettext-tools
Install textproc/expat2
Install devel/m4
Install lang/perl5.18
Install misc/help2man
Install devel/gmake-lite
Install devel/p5-Locale-gettext
Install devel/libffi
Install devel/readline
Install textproc/libyaml
===>>> Proceed? y/n [y]
Linux emulatorであるlinux_baseについては以前に書いたとおりで
# portmaster emulators/linux_base-c6
のあとで必要な変更を行う。
_ [BSD] FreeBSDで導入したpkg/ports
(2) CUIまわり
まずはシェルかな。tcsh
はすでにbase
に入っているので昔から使っているbash
と最近使い始めて便利さを感じつつあるzsh
を入れる。
# portmaster shells/bash shells/zsh
PAGERは大昔はjless
だったが、いまはlv
を使っているので
# portmaster misc/lv
remoteで操作するときはsessionを保持するためにscreenかtmuxを使う。最近はtmuxばかりかな。
# # portmaster sysutils/screen sysutils/tmux
_ [BSD][X11][Fonts] FreeBSDで導入したpkg/ports
(3) Xorg
次に入れるのはいつもならEmacsだけど今回はX11が前提になっているのでXorgをいれる。以前なら全部入りのX11/xorg
を入れていたがx11/xorg-minimal
ができているのでそれを入れる。これにはxterm
とtwm
が含まれていないので追加する。
# portmaster x11/xorg-minimal x11/xterm x11-wm/twm
また今回はMacBook2,1ということでgraphicsまわりがIntelということが分かっているので
# portmaster x11-drivers/xf86-video-intel
を追加する。フォントについては好みもあるけどmeta portもあって
# portmaster x11-fonts/xorg-fonts
.
.
===>>> The following actions will be taken if you choose to proceed:
Install x11-fonts/xorg-fonts
Install x11-fonts/font-alias
Install x11-fonts/bdftopcf
Install x11-fonts/mkfontdir
Install x11-fonts/mkfontscale
Install x11-fonts/xorg-fonts-100dpi
Install x11-fonts/encodings
Install x11-fonts/font-adobe-100dpi
Install x11-fonts/font-adobe-utopia-100dpi
Install x11-fonts/font-bh-100dpi
Install x11-fonts/font-bh-lucidatypewriter-100dpi
Install x11-fonts/font-bitstream-100dpi
Install x11-fonts/xorg-fonts-75dpi
Install x11-fonts/font-adobe-75dpi
Install x11-fonts/font-adobe-utopia-75dpi
Install x11-fonts/font-bh-75dpi
Install x11-fonts/font-bh-lucidatypewriter-75dpi
Install x11-fonts/font-bitstream-75dpi
Install x11-fonts/xorg-fonts-cyrillic
Install x11-fonts/font-cronyx-cyrillic
Install x11-fonts/font-misc-cyrillic
Install x11-fonts/font-screen-cyrillic
Install x11-fonts/font-winitzki-cyrillic
Install x11-fonts/xorg-fonts-miscbitmaps
Install x11-fonts/font-arabic-misc
Install x11-fonts/font-cursor-misc
Install x11-fonts/font-daewoo-misc
Install x11-fonts/font-dec-misc
Install x11-fonts/font-isas-misc
Install x11-fonts/font-jis-misc
Install x11-fonts/font-micro-misc
Install x11-fonts/font-misc-misc
Install x11-fonts/font-mutt-misc
Install x11-fonts/font-schumacher-misc
Install x11-fonts/font-sony-misc
Install x11-fonts/font-sun-misc
Install x11-fonts/xorg-fonts-truetype
Install x11-fonts/dejavu
Install x11-fonts/font-bh-ttf
Install x11-fonts/font-misc-ethiopic
Install x11-fonts/font-misc-meltho
Install x11-fonts/xorg-fonts-type1
Install x11-fonts/font-adobe-utopia-type1
Install x11-fonts/font-bh-type1
Install x11-fonts/font-bitstream-type1
Install x11-fonts/font-ibm-type1
Install x11-fonts/font-xfree86-type1
===>>> Proceed? y/n [y]
# portmaster japanese/alias-fonts
.
===>>> The following actions will be taken if you choose to proceed:
Install japanese/alias-fonts
Install japanese/elisa8x8
Install japanese/font-jisx0213
Install x11-fonts/mkbold-mkitalic
Install japanese/font-shinonome
Install japanese/k10
Install japanese/kanji18
Install archivers/sharutils
Install japanese/kanji26
Install japanese/kappa20
===>>> Proceed? y/n [y]
# portmaster japanese/font-std
.
===>>> The following actions will be taken if you choose to proceed:
Install japanese/font-std
Install japanese/font-ipa
Install japanese/font-mplus-ipa
===>>> Proceed? y/n [y]
あたりは入れておいても邪魔にならないかな。
他にjapanese/font-*
とかx11-fonts/
でいろいろ探してみると面白い。Fontは意外に容量は取らないので私は多めに入れることにしている。使わないものも多いけど。
これでとりあえずX11は起動するのでここに書いたような作業をする。X11がとりあえず動くようになれば一段落で、この先は自分の好みの部分になる。まずはWindow Manager(WM)である。世の中で決してmajorではないX11を使いたいと思ってしまうのはWindow Managerで見かけだけでなく色々な機能を選ぶことができることが大きいと思う。X.orgのdefaultのWMは先ほど入れた
twm
で比較的長くde fact standardとなっている。当たり前であるが必要最低限のことはできるのでまだ広く使われているらしい。昔まだきちんと使っていなくてインストールの練習をしていた頃はいろいろなWMを試していたものであるが、最近はずっとサーバー的な使い方をしていてWMはほとんど使うことはない。ただ新しいものもいくつか現れていてじっくり使ってみたいのはEnlightenmentとCompizであるが、これは高性能なマシンでないと使うのは苦しいだろう。比較的軽量で使いやすいものとして私はFluxboxが好みである。Fluxboxはそれ以前に軽量なWMとして使われていたblackboxから派生したものである。versionが0.9のころから知っているが最近ちょっと流行っているwindowのtab化などを先取りしたものでNotePCのような画面の狭い機種には向いているのではないか。WMもx11-wm/に並んでいるのでいくつか入れてみて好みのものを探すのが良い。
# portmaster x11-wm/fluxbox
次にterminalである。X.orgのdefaultは
xterm
であり、以前はいろいろ使い勝手は良くなかったがいつの間にか改良が重ねられてきて標準で日本語も表示できるようになっていた。twm+xterm
でも結局はそれ以外に何を使うかが問題なのでここでPCのresourceを節約するというのも一つの考え方だと思う。やはりいくつか使い比べてみたが、今はもっぱらmlterm
を使っている。
# portmaster x11/mlterm
最低限の設定しかしていないのでこんな感じのdesktopとなる。
Fluxboxは広く使われていることもあっていろいろなthemeが作られている。portsにもx11-themes/fluxbox-tenr-styles-packが置かれておりかなりたくさんのthemeが含まれている。
Saturday 31 January, 2015 [長年日記] この日を編集
_ [BSD][Emacs] Emacsの導入
最初にEmacsの名前を知ったのは18.xか19.xのころだったが、実際に自分で使ったのは19.34ベースのMule-2.3が最初だったように思う。FreeBSDを使い始めたのが3.0-RELEASEが出る少し前からで本格的に使い始めたのが3.3-RELEASEあたりだった。そのころからEmacsを使い始めていたかな。もっともエディタとしてではなくてmailやnetnewsを読むためだった。その当時はSunのWSあたりがメールサーバになっていてPOP3プロトコルでメールを読みだしてPCで読むのが主流だった。しかし同じメールを複数のPCで読み込むことは考慮されていないのでいろいろと不都合があった。そこで考えたのがremoteで接続できるサーバーをFreeBSDで立ててそこにメールを集めておくということで、そのときにまずMule+mewを使い始めたのが最初であるように記憶している。そのころ日本語入力に使っていたのがCannaかWnnで、しばらくしてオムロンソフトからWnn6が発売になった時もすぐに購入した。Wnn7も発売になったが確か当時のFreeBSDではかなり工夫しないと使えなかったのでバージョンアップはやめたように思う。その後はこのサイトにも書いているがAnthyを主に使っている。
そういう思い出話はともかくとしてEmacsの導入について。ports treeをみてるとEmacs関連のものはかなり整理されてしまっていた今も有効なのかどうかわからないが、/etc/make.confに
# Emacs Version
EMACS_PORT_NAME=emacs24
と入れた。ports treeにemacs21などがまだ入っていた頃の話なのでもし今でもVerson管理の必要があればDEFAULT_VERSIONSに入るはずのものなので今は必要ないのかもしれない。導入そのものは
# portmaster editors/emacs
とするだけ。現時点で24.4ベースのものが導入される。
Emacsの設定は以前は~/.emacsもしくは~/.emacs.elに記述していたが、現在では設定ファイルを集めた~/.emacs.d/というディレクトリを作り初期設定はinit.elに記述することになっている。ただし優先順位としては~/.emacsと~/.emacs.elの方が高いので~/.emacsに~/.emacs.d/init.elを読み込むように書くといいらしい。ということで~/.emacsは
;; .emacs.el
(load (expand-file-name (concat (getenv "HOME") "/.emacs.d/init")))
とする。
次は.emacs.d/init.elに設定を順々に記述していく。まずは文字コードであるがUnicide (UTF-8)がdefaultになっているし、他のシステムでも困ることもないのでUnicide (UTF-8)とする。
;; -*- mode: emacs-lisp; coding: utf-8; indent-tabs-mode: nil -*-
次に日本語環境の設定をする。もうすでにほとんどのシステムでUTF-8を使うようにしたのですでに必要ないのであるが、以前のEUC環境でのことも考えて
;; Coding system
(setq lang (getenv "LANG"))
(if (or (equal lang "ja_JP.UTF-8")
(equal lang "ja_JP.UTF8")
(equal lang "utf-8"))
(progn
(set-language-environment 'Japanese)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(setq coding-system-for-read 'utf-8)
(prefer-coding-system 'utf-8))
(progn
(set-language-environment 'Japanese)
(set-default-coding-systems 'euc-jp)
(set-terminal-coding-system 'euc-jp)
(set-keyboard-coding-system 'euc-jp)
(set-buffer-file-coding-system 'euc-jp)
(set-selection-coding-system 'euc-jp)
(setq default-buffer-file-coding-system 'euc-jp)
(setq coding-system-for-read 'euc-jp)
))
というように書いている。また同じようにしてEmacsのversionやOSによって一つのinit.elで切り替えるということもできるが私は今のところやっていない。日本語入力に関しては上に書いたように以前であればCannaかWnnであったが今はほとんどのところでAnthyが使われているのではないか。FreeBSDでは
# portmaster japanese/anthy
でinstallすることで、Emacsで変換を行うためのanthy.elも入れてくれる。これを使うためにはinit.elに
;; Anthy.el
(load-library "anthy")
;; set japanese-anthy
(setq default-input-method "japanese-anthy")
と書けば動くはずである。しかしemacs24になっているせいか起動すると
Invalid read syntax: . in wrong context
というエラーが出て正常に動いてくれない。他でも症状は違うがemacs24でanthy.elが動かないという話が出ていたので互換性の問題があるのかもしれない。
そこで違う方法としてtamagoを使うことにした。tamagoは
# portmaster editors/tamago
でinstallされる。このtamagoは4.0.6というバージョンであるが元々はかなり古いもので現行のemacsや漢字変換サーバに対応するためにいろいろなパッチが当てられている。しかし実際にはメンテナンスをする主体が存在せずいつ使えなくなるかわからないものでもある。一方で開発を引き継ごうという話も出ており新しい情報を集めておく必要がある。emacs24+tamagoでanthyを使うにはinit.elに
(set-language-environment "Japanese")
があるのを前提に
(set-input-method 'japanese-egg-anthy)
(push "/usr/local/share/emacs/24.4/site-lisp/egg/egg/" load-path)
と記述すればいい。