平衡点
2008/10/24
_ s2ram の log
hibernate-ram:Warning: Tuxonice binary signature file not found. Stopping pdnsd. Stopping anac(h)ronistic cron: anacron. Stopping ACPI services.... /tmp/tmp.hibernate.rptvbi: line 6: echo: write error: 無効な引数です Loading ACPI modules.... Starting ACPI services.... Starting anac(h)ronistic cron: anacron deferred while on battery power.. Starting pdnsd.
なんだろう?
_ firefoxでリンク先の拡張子に応じてiconを表示する
とりあえず PDF だけ.
a[href$=".pdf"]:before { content:url("moz-icon://.PDF?size=14");
表示できる icon の一覧を取得するにはどうしたら良いのかな?
2014/10/24
_ ibus-skk を使い始めた.
先日,
というメールが来ていたので ibus-skk を試し始めた.
以前は「モードを切り替えても gnome3 の表示が変わらない」という, 個人的には割と面倒な機能不足があったのだけれど, ibus-skk(>= 1.4.2) からはきちんと表示が変わるようになっていて, とっても満足している.
現状 bugreport もそんなに出てないし, 特に問題無い気がしているのだけれど, これがこのまま jessie に入るのであればとっても幸せだと思ったりする.
以下, ibus について他に気がついたこと.
ibus-skk の gnome3 topbar での表示
Gnome-Shell のデフォルトのテーマでは
# source: css /* default text style */ stage { font-family: cantarell, sans-serif; font-size: 11pt; color: white; }
となっている. そのため SKK の表示「あ」「_A」で表示幅が異なるため, 変換エンジンを切り替える度にtopbar に表示させている icon がピョコピョコ動いてしまい, 煩わしい.
とりあえず ~/.themes/Adwaita-Custom/gnome-shell/gnome-shell.css" に
# source: css @import url("/usr/share/gnome-shell/theme/gnome-shell.css"); stage { font-family: "VL Gothic" !important ; }
なんて書いておいて, gnome-tweak-tool で Gnome-Shell のテーマを Adwaita-Custom (上記 ~/.themes 以下に作ったディレクトリ名に揃える) としておいた. 実際には日英の幅がしっかりした等幅フォントならなんでも良いと思う.
ibus engine <hogehoge> と gnome3 topbar の不一致
ibus-skk 固有の話じゃないけれど.
ibus は 1.5 以降で
ibus list-engine # 使用可能なキー配列(変換エンジン)のリスト ibus engine xkb:jp:jpn # 日本語キーボードへ変更 ibus engine skk # ibus-skk へ変更
なんて, CUI でキー配列(変換エンジン)を切り替えられるようになっているらしい. しかしながら, 上記コマンドラインでのキー配列(変換エンジン)の切り替えは Gnome3 の topbar に表示されるキーボードレイアウトの切り替えとは別個のモンらしく, コマンドラインでキー配列を切り替えても, topbar での表示が変わらない.
何が困るか, というと
- Vimperatorのコマンドラインで自動的にIMEをオフにする - 貳佰伍拾陸夜日記
- iBus1.5でも快適にIMEをON・OFFする 〜VimやVimperatorを念頭に〜 | PCと遊ぶ日々の記録
みたいな事をしたくても(できるけれど), Gnome3 の topbar との表示が解離してしまって, 麗しくない.
うーん.
とりあえず
# source: sh #!/bin/sh STAMP=/tmp/$USERNAME-ibus-toggle [ -x /usr/bin/xte ] || exit 0 if [ -e $STAMP ] ; then xte "keydown Super_L" "keydown space" "keyup space" "keyup Super_L" rm -f $STAMP else xte "keydown Super_L" "keydown space" "keyup space" "keyup Super_L" touch $STAMP fi
なんて sh script 作って上記スクリプトの実行を Henkan に割り当てておく(uim の時と同じ) 「Super +Space」での ibus の切り替えは使わないようにしてみた.
ad hoc で嫌になる. なんか良い方法無いの?
2015/10/24
_ OpenBlocks AX3
昨年度末に買ったは良いが、まったく触れていなかった OpenBlocks AX3 にようやく火を入れた. 購入したのは「OpenBlocks AX3 イーサ4ポート J パッケージ」.
初期状態で起動し, シリアルコンソールで接続してみると, ほぼ「素」の Wheezy環境. 公式ドキュメントにある通り,
- / は 128MB の RAM ディスク(initrd)
- /.rw を 384MB の RAMディスク(tmpfs) として確保し,
/etc,/user 等をこの下に作成
- Unionfs で /.rw/user 等を /usr に被せている
flashcfg で RAM ディスク(initrd)は上書き可能なので, 必要な設定をしたら initrd を更新しておき, システムは read-only で運用する, などとするのが良いのだろう.
想定している用途は「4 つある Gigabit Ethernet を使っての, 居室内のルーティングと職場 LAN 環境のモニタリング」であるわけだが, ちょっと設定したら, すぐに 384MB 使い切ってしまったので, そのうちメモリとディスクを追加すると思う.
_ 複数 NIC が存在する場合のルーティング
最近弄ってなかったから忘れてしまっていたので, メモ.
HW
- HW: Openblocks AX3
- OS: Debian 7.9 (wheezy)
ネットワーク環境
OpenBlocks AX3 をルータに.
- eth0: global IP
- eth1: 内部 LAN, 固定 IP
- eth2: 居室 LAN, 固定 IP
図にすると以下の様な感じ, かな?
+--------+ | | +----------内部LAN1---+gateway1+---内部LAN2,3,... | | | +------+-------+ +--------+ | eth1 | +--------+ | | | | 居室LAN---+eth2 eth0+----+gateway0+---------The Internet | | | | | eth3 | +--------+ +------+-------+
AA ちゃんと出るのかしら? 駄目か.
やりたい事
- 居室LAN内の計算機は eth2 から IP Masquarade で eth0 を経由して外へ出る
- ただし, 内部LANへの接続の際には eth1 を経由する.
- 内部LAN には VLAN 間通信が設定されているので, 内部LAN2, LAN3 への接続の際には LAN1 の gateway を経由して接続する
ルーティング
- 先ず, eth0 は通常通りに設定する.
- 次に eth1, eth2 に関しては gateway に関する設定行を書かない.
この時点で eth0, eth1, eth2 の機材との疎通を確認しておくと良い.
% route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 [gateway0] UG 0 0 0 eth0 [内部LAN1] 0.0.0.0 255.255.255.0 U 0 0 0 eth2 [グローバルIP] 0.0.0.0 255.255.255.0 U 0 0 0 eth0 [居室LAN] 0.0.0.0 255.255.255.0 U 0 0 0 eth1
といった塩梅.
最後に route を追加: 内部LAN2,3 の gateway として [gateway1] を指定してやれば良い
% route add -net [内部LAN2] netmask 255.255.255.0 gw [gateway1] dev eth2 % route add -net [内部LAN3] netmask 255.255.255.0 gw [gateway1] dev eth2 % route add -net [内部LAN4] netmask 255.255.255.0 gw [gateway1] dev eth2
結果
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 [gateway0] UG 0 0 0 eth0 [内部LAN1] 0.0.0.0 255.255.255.0 U 0 0 0 eth2 [内部LAN2] [gateway1] 255.255.255.0 U 0 0 0 eth2 [内部LAN3] [gateway1] 255.255.255.0 U 0 0 0 eth2 [グローバルIP] 0.0.0.0 255.255.255.0 U 0 0 0 eth0 [居室LAN] 0.0.0.0 255.255.255.0 U 0 0 0 eth1
DNS
グローバル側, 内部LAN, 居室LANそれぞれの名前解決をどうするか, ということで安直なのは dnsmasq を使うこと.
/etc/resolv.conf は常に 127.0.0.1 を見るようにしておく.
nameserver 127.0.0.1 search [居室LANのドメイン]
/etc/dnsmasq.d/local.conf なんてファイルを作成して, 以下を書き込んでおく.
except-interface=eth0,eth2,eth3 listen-address=127.0.0.1,[eth1のIP] bind-interfaces dhcp-range=eth1,[居室LAN DHCP start],[居室LAN DHCP end],12h no-dhcp-interface=eth0,eth2,eth3 resolv-file=/etc/dnsmasq.resolv.conf strict-order server=/[内部LANドメイン]/[内部LANのDNS] server=/[内部LAN1逆引き]/[内部LANのDNS] server=/[内部LAN2逆引き]/[内部LANのDNS] server=/[内部LAN3逆引き]/[内部LANのDNS]
/etc/dnsmasq.resolv.conf にグローバル側の DNS を書いておく
nameserver [DNS1] nameserver [DNS2]
- /etc/hosts に居室LAN内の計算機をベタ書きしておく. DHCP レンジは使わないこと.
これによって
- DNS, DHCP の受け付けは 居室LAN (eth1) からのみ.
- 通常は global 側の DNS で名前解決:
- 指定したドメイン等に関しては内部LANのDNSを使う
となる. また, DHCP での接続も OK
NAT/IP forward
net.ip4.ip_forward=1 にして iptables で NAT テーブルを書くだけで良い. POSTROUTING をアドレスによってデバイス(eth0, eth2)に割り振る, というのが違いかな?
最近は適当に ip forward の設定を書いた後で, iptables-persisitent (jessie 以降は netfilter-persistent) を実行して, 起動時に有効になるようにしている.
まとめ?
居室にはいま(プリンタ等も含め) 15 台ぐらい計算機があって, わりと結構な量の通信があるのだけれど, 特に問題無く動いている模様.
とりあえず.