最新 追記

ここに日記はありません


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まで対応らしい)
という感じ。くわしくはここで。 HDDをSSDに置き換えるとそれなりのパフォーマンスは出そうだけどそこまではお金をかけるかどうか。 OSが古くなって他のマシンとは連携できなくなったのでMacとしての使用はあきらめたがWindowsマシンとしても苦しいということでX端末っぽい使い方はできないかというのがFreeBSDを入れる目的である。
まずは元のMacOSXは万が一の場合に備えて残しておくことにするとおよそ25GB程度を使っているので余裕をみてHDDの1/3の40GBにした。 ディスクユーティリティではこんな感じで。
Disk Utility
次に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の識別子で機種によっては異なることもあり得るので注意が必要である。 p1p2がMacOSで使用されているのでp3以降にFreeBSDのPartitionを設定する。 一番簡単にはfreebsd-bootfreebsd-swapfreebsd-ufsを置けばいいのであるが、私はきちんと分けるほうなので bootに64KB、swapに2GB、//varに1GBずつ、/usrに20GBを割り当てる。 またこれは私の我流であるが、通常/usrにあるsrcportsは書き込み頻度が高いので 別のパーティション/optに15-20GBを確保してここに置くことにしている。 残りが/homeに割り当てられる。 割当が決まったらCreateコマンドでpartitionを設定する。(MBRパーティションのころのようにsliceの中にpartitionを切るのではないので昔の方法に慣れている人は要注意である。私もこの新しいGPTパーティションはまだ慣れていない。) 間違いがなければFinishで確定する。 p1p2が残っていれば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-fc4 (Fedora Core 4)
  • emulators/linux_base-f10 (Fedora 10)
  • emulators/linux_base-c6 (CentOS6)
  • emulators/linux_base-gentoo-stage3
  • が入っており、それぞれベースとなっているLinuxのdistributionが異なる。 以前は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/xtermx11-wm/twmと最低限のものを入れることにした。 ただしXorgではdeviceの制御にhalddbusを使うので/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.confFontPathを追加することで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.1. Type1 Fonts
  • 6.6.2. TrueType® Fonts
  • に書かれていることとほぼ同じである。

    次の'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で記述すること以外はまだよく理解できていないので改めて。

    以下のサイトが参考になる。
  • 10.0-RELEASE pkg install - FreeBSD/footnote
  • Fontconfig - FreeBSD/footnote
  • LinuxでTrueType font を使う


  • (12/05/2015 追記) この項については内容が変わっているのでの日記を参照のこと。

    Sunday 18 January, 2015 [長年日記] この日を編集

    _ [BSD][X11] mlterm on X11

    mltermはX11上で動作する端末エミュレータで多言語に対応している(Multi-Lingual Terminal)ということは私が今さら書くこともないのであるが、最近ようやく気づいたことがあったのでメモしておく。mltermは端末上でCtrl+右クリックすると端末の設定画面が出てほとんどの設定がdialogでできるのは便利なのでが、保存しても次に起動するときにデフォルトに戻っていてその理由がわからなかった。

    mlterm setting

    設定した内容は~/.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
    
    としてもいいんだけど。 perlrubyは何かと必要になるので先に入れておく。ただしこれらは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ができているのでそれを入れる。これにはxtermtwmが含まれていないので追加する。
    # 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はほとんど使うことはない。ただ新しいものもいくつか現れていてじっくり使ってみたいのはEnlightenmentCompizであるが、これは高性能なマシンでないと使うのは苦しいだろう。比較的軽量で使いやすいものとして私は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
    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)
    
    と記述すればいい。


    ENOTECA Online(ワイン通販 エノテカ・オンライン) 29980円パソコン工房
    リンクシェア アフィリエイト紹介プログラム