筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2012-05-14 Bluetooth
■ FreeBSD で Bluetooth マウスを使う…も USB マウスを挿していないと使えない
Mitzyuki's Blog :: FreeBSD で BlueTooth マウスを利用する あたりを参考にしました。
使うマウスは1000円くらいで買ったSoftBank SELECTION Bluetoothレーザーマウス MO01。
Bluetooth を使うためにカーネルモジュールをロードする。
cat >> /boot/loader.conf <<EOF netgrph_load="YES" ng_ubt_load="YES" vkbd_load="YES" EOF
Bluetooth のデバイスアドレスを調べる。
# hccontrol -n ubt0hci inquiry
出力結果の BD_ADDR の部分がデバイスアドレスなのでこれを /etc/bluetooth/hcsecd.conf に書き足す。
# softbankmouse
device {
bdaddr 00:a0:b0:e2:xx:xx;
name "softbankmouse";
key nokey;
pin nopin;
}
同じくデバイスアドレスを /etc/bluetooth/hosts に書く。
00:a0:b0:e2:xx:xx softbankmouse
その後も参考ページと同様に…。
# bthidcontrol -a softbankmouse query > /etc/bluetooth/bthidd.conf
で、これでは参考ページの丸写しなので補足。/etc/rc.conf に以下の3行を追加して Bluetooth 関係のデーモンを起動させる。
bluetooth_enable="YES" bthidd_enable="YES" hcsecd_enable="YES"
service(8) コマンドでサービスを起動。ubt0 の部分は環境に応じて適当に。
# service bluetooth start ubt0 # service bthidd start # service hcsecd start
以上で繋がるはずです。繋がったかどうかは l2ping(8) コマンドで確かめます。
# l2ping -a softbankmouse 0 bytes from softbankmouse seq_no=0 time=588.802 ms result=0 0 bytes from softbankmouse seq_no=1 time=34.595 ms result=0 ^C
softbankmouse の部分は /etc/bluetooth/hosts に書いた名前を。
これで無事 Bluetooth マウスが X11 上で使えるようになったんですが、なぜか USB マウスを引っこ抜くと Bluetooth マウスまで一緒に使えなくなりました。マウスとキーボードは HAL が面倒を見ているので hald が Bluetooth マウスを見つけられてないんだと思うんだけど…眠いのでまた今度。
2013-05-14 TigerVNC
■ net/tigervnc に欠けていた x11/xkeyboard-config への依存関係を追加
net/tigervnc を少し修正しました。欠けていたランタイムの依存関係を追加したのが主な変更です。
- x11/xkeyboard-config, x11/xkbcomp への依存関係を追加
- xorg-macros を BUILD_DEPENDS から USE_XORG へ移動
- vncviewer といっしょにデスクトップエントリファイルをインストールするように変更
- ライセンス情報を追加
- 不要なオプションを CONFIGURE_ARGS から除去
以下のように出力されて、Xvnc が起動しませんでした。Xvnc の実行に必要な x11/xkeyboard-config への依存関係が欠けていたためです。
FreeBSD に TigerVNC だけでなく x11/xorg をインストールしている環境であれば x11/xkeyboard-config が既にインストールされているため、問題なく動作していたはずです。xorg をインストールせずに net/tigervnc だけで運用しようとしている環境では全く使い物にならない状況になっていました…。もし引っかかっていた人がいたらすみません。
$ Xvnc :10 (オプション省略) Xvnc TigerVNC 1.2.0 - built May 9 2013 17:35:57 Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt) See http://www.tigervnc.org for information on TigerVNC. Underlying X server release 11006000, The X.Org Foundation Tue May 14 04:07:47 2013 vncext: VNC extension running! vncext: Listening for VNC connections on all interface(s), port 5910 vncext: created VNC server for screen 0 (EE) XKB: Couldn't open rules file /usr/local/share/X11/xkb/rules/base (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) XKB: Couldn't open rules file /usr/local/share/X11/xkb/rules/base XKB: Failed to compile keymap Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config. Fatal server error: Failed to activate core devices.
2015-05-14 複数の OS やアーキテクチャでホームディレクトリを共有している環境で rbenv を使う方法
■ 複数の OS やアーキテクチャでホームディレクトリを共有している環境で rbenv を使う方法
rbenv を使っていると各バージョンの Ruby が $HOME/.rbenv/versions 以下にインストールされ、 $HOME/.rbenv/shims/ruby などを経由して実行されますが、GNU/Linux と FreeBSD などでホームディレクトリを共有している場合は、FreeBSD でビルドした Ruby のバイナリは Linux では実行できない(逆はできる)ので、これでは都合が悪い場合があります。同じ Linux を使っていても amd64 と i686 などアーキテクチャが違えばバイナリ互換性がない場合があるので、同様のトラブルが発生します。
これを回避するには RBENV_ROOT 環境変数を設定して、OS やアーキテクチャごとに異なるディレクトリ以下に Ruby がインストールされるようにします。rbenv init - を実行する前に設定していなければならないので、例えば以下のように。例では zsh を使っているので .zshenv を書き換えます。
export RBENV_ROOT=$HOME/.rbenv/$(uname) [ -x "$(which rbenv)" ] && eval "$(rbenv init - zsh)"
こうすると、Linux 環境では $HOME/.rbenv/Linux に、FreeBSD 環境では $HOME/.rbenv/FreeBSD 以下に rbenv の環境が構築されそれぞれにあった方を使ってくれるようになります。ただこのままではアーキテクチャを考慮しないので、少し変更して以下のようにするのがいいかもしれません。
export RBENV_ROOT=$HOME/.rbenv/$(uname -r).$(uname -m)
hostname を個別に設定しているなら、hostname を使って
export RBENV_ROOT=$HOME/.rbenv/$(hostname)
でもいいかも。
Σ Matthewfex [[b][/b] ]
Σ Fluxal [ I'm impressed, I have to admit. Rarely do I come across ..]