Gnu ScreenでEmacsを使っているときにctrl周りのキー入力がおかしくなる件

キャプチャGnu Screenの上にEmacsを立てているときにキーバインドがうまく効かなくなる現象がはっせいすることがある。
実際にはEmacsだけでは無くてシェルのCtrlを利用したバインディングもおかしくなってしまう。

Emacsの場合であれば検索ができない(C-s)、保存ができない(C-x-s)、置換で改行(C-q C-j)が入力できないなどなど、コントロールキーと何かのキーを押したときに正常に動作しない。
flowってのが悪さしてる。これなにするもんなんだろう。
以下引用。偶然にも同じくC-tをscreen制御に割り当ててる。
Screen上でEmacsを使用していると、C-sが無視されるようになることが時々あった。こうなるとEmacsを終了してもC-sがきかなくなる。 Screenをデタッチしたり、他のScreenに移動すれば直る。 Screenを終了しても直る。
再現性が低く原因がなかなかわからなかったのだが、どうやら”C-t f”を押していたようである。デフォルトでは”-flow(auto)”であるのが、”C-t f”によって、 “+flow”となり”C-s”が無視される。もう一度”C-t f”とすると”-flow”となり、更にもう一度”C-t f”とすると”-flow(auto)”となる。 “-flow”となっている時は、”C-s”がそのままできく。 “+flow”で”C-s”がきかない時は、”C-t s”とすることで”C-s”をプログラムに渡すことができる。
http://kyoto.cool.ne.jp/kinoka/pc/screen.html

mumble server on FreeBSD

mumbleのサーバをFreeBSDで立ててみたメモ。
どうやらmumbleのサーバはmurmur(つぶやきの意)というものらしい。これがわからなくて当初苦労。
Linux用にソースを配布しているのだがmumble(クライアント)+murmur(サーバ)がセットになって配布されている。
sourceforgeいってソースをもらってくる。トラブルでごたごたしているうちに1.1.6->1.1.7とバージョンがあがってしまった。
サーバの起動に
qmake
Boost C++ library. http://www.boost.org
ZeroC ICE. http://www.zeroc.com
が必要とのこと。それぞれportsからインストール。依存でいろいろと入れてくれる。ソースから入れることなんてないから苦労。ports最強おかげさまでいつまでも素人です本当にありがとうございます。
portsの場所は下記。
devel/qmake4
devel/boost
devel/ice
マニュアルを読んだがよくわからず適当にやった。
qmakeってのはMakefileを作ってくれるものらしい。嘘ついてたらごめん。
%qmake-qt4 main.pro main.pro CONFIG+=no-client
%make release
make中にエラーが発生。g++コンパイラに”-fvisibility=hidden”オプションが見つからないとか。3系列が入ってたんだけどこのオプションは4系列じゃないと無いんだって。portsからアップグレードも考えたけどまぁいけんべってことでこのオプションを削除。
compiler.priっていうファイルに二カ所あります。
-fvisibility=hidden
これを削除。
んでmake
%make release
したらreleaseフォルダにバイナリが完成。これを起動すればおk。起動スクリプトとかはまだ何も作ってないです。
./murmurd -supw hoge
で管理者パスワードをつけれるみたい。static_murmurのperlスクリプトで管理者画面にログインできるんじゃないかなって勝手に想像してます。
こんだけやるだけでゆうに一週間はかかりました。ああ・・・。

mumbleの起動中にperlモジュールが足りなかった

mumbleというボイスチャットソフトを起動しようとしてみた。
ソースを落としたらperlのスクリプトだった。
TeamSpeakも既に立ってるけど諸般の事情で両方立ててみようと。
起動させようとしたら下記のようなエラーが。

Software error:

Can't locate CGI/Session.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at ./murmur.pl line 44.
BEGIN failed--compilation aborted at ./murmur.pl line 44.

For help, please send mail to this site’s webmaster, giving this error message
and the time and date of the error.

[Thu Jan 22 19:05:35 2009] murmur.pl: Can’t locate CGI/Session.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at ./murmur.pl line 44.
[Thu Jan 22 19:05:35 2009] murmur.pl: BEGIN failed–compilation aborted at ./murmur.pl line 44.
モジュールが足りないらしいので、CPAN起動して
cpan> install CGI/session
Local directory now: /root/.cpan/sources/modules
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Not connected.
Bad luck… Still failed!
Can’t access URL ftp://ftp.dti.ad.jp/pub/lang/CPAN/modules/03modlist.data.gz.
Please check, if the URLs I found in your configuration file
(ftp://ftp.dti.ad.jp/pub/lang/CPAN/) are valid. The urllist can be edited.
E.g. with ‘o conf urllist push ftp://myurl/’
とかなんかエラーになった。ftpサイト登録すればいいのかしらんけど、対話モードで設定すべきなのか.cpan消して起動させてみたけどよくわからん。
そしたらportsにあった。ports最強。もうわしみたいな初心者には涙が出るほど嬉しい。
%sudo portinstall www/p5-CGI-Session
%sudo portinstall dns/p5-Net-DNS
%sudo portinstall devel/p5-Net-DBus
%sudo portinstall graphics/p5-Image-Magick-Iterator
気がついたらdnsとかっていうカテゴリ増えてるし・・・、いつの間に増えたんだろう。
と思ったらこのperlのスクリプトはどうやらmumbleサーバの設定とかを行うためのCGIなのかもしれない疑惑。

Subversionで新しいリポジトリを作る

ディレクトリ作成
%cd /usr/local/repositories/
%sudo mkdir hogeProject
%sudo svnadmin create /usr/local/repositories/testrep –fs-type fsfs
なんかよくわからんけど後で困るのでパーミッションを変えておく。
%sudo chown -R nobody:nobody testrep
権限をあげるためにパスワードの設定と外からのパーミッションを落とす。
%sudo emacs /usr/local/repositories/testrep/conf/passwd
%sudo chmod 600 passwd
追加とかのテスト
%cd tmp
%svn co svn://svn/testrep
%cd testrep
%cat > hoge

svnの参照するリポジトリを変更するコマンド

svn switch URL [PATH]
switch –relocate FROM TO [PATH…]
説明
このサブコマンドの最初の形式 (–relocate オプションなし) は、自分の作業コピーを新しい URL (そうする必要はありませんが、通常、URL は作業コピーと共通の祖先を持っています) を指し示すように更新します。これが Subversion で、作業コピーを新しいブランチに移動させる方法です。切り替えについてもっと詳しい内容は ブランチの横断項 をご覧ください。
–relocate オプションにより svn switch は少し異なる動作をします。作業コピーが示す、同じリポジトリディレクトリを、異なる URL から更新します (通常、管理者がリポジトリを別のサーバや、同じサーバの別の URL に移動した場合です)。
http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.ref.svn.c.switch.html

AD1981Bのサウンドドライバ

LaVie LL350/8で使われているAD1981Bのドライバが本家(analog.com)に行っても見あたらなかった。
とりあえずの対応策
ttp://support.packardbell.com/uk/item/index.php?i=platform_K1&g=2000
SoundMax audio controller driversuite for EasyNote C3 series
をインストールして解決。

http://pc11.2ch.net/test/read.cgi/pc/1115635761/262n-

steam server on FreeBSD 7.1-R

FreeBSD 7.1-Rにsteamのサーバをインストール。
%sudo portinstall games/linux-steam
するとエラーが出てきた。リンクが無いとか。locate更新して確認するとファイルが存在。
もう一度やると通る。こんなのが何度か。
最後にはsteamのファイルが無いって。手動で拾って/usr/ports/distfilesに突っ込む。
最後に出てきたメモ書きがこれ。
##################################################################
# To get started goto /usr/local/%%INSTALLDIR%% #
# and type the following to create a steam-user. #
# ./steam -command create -username \ #
# -email -password \ #
# -question -answer #
# #
# Example #
# ./steam -command create -username johndoe \ #
# -email johndoe@mydomain.com -password 12345678 \ #
# -question nameofmygun -answer M4A1 #
# #
# Once you have a steam-user account or if you have a registered #
# account already type the following to start updating your HLDS #
# ./steam -command update -game -dir \ #
# -username -password -remember_password #
# #
# Example #
# ./steam -command update -game cstrike -dir /usr/local/steam \ #
# -username johndoe -password 12345678 -remember_password #
# #
# Once your server has been updated type the following #
# to test your server. #
# ./hlds_run -game cstrike +map de_dust -maxplayers 16 #
# #
# For instructions on configuring your server goto #
# http://server.counter-strike.net #
# #
##################################################################
今日はアップデートサーバが死んでるらしく、結局元々もってたhlds関連のディレクトリを丸ごと/usr/local/steamにコピー。
で、起動すると、
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Unable to determine CPU Frequency. Try defining CPU_MHZ.
updateが無理、CPUの周波数がわからんって言われる。
/proc/cpuinfoが無いことが原因。
これってどうやらLinuxにしか無いらしく、linux_enableしても作られてない。
ml115の時には適当にぐぐってそれを書いた。
以下がそれ。
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 79
model name : AMD Athlon(tm) 64 Processor 3500+
stepping : 2
cpu MHz : 2200.314
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp
lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8_legacy
bogomips : 4404.86
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
これを書いておくといいらしい。
でも/etc/fstabに
linprocfs /compat/linux/proc linprocfs rw 0 0
これをかいて
#mount -a
すれば
#kldstat
Id Refs Address Size Name
1 12 0xc0400000 97f830 kernel
2 1 0xc0d80000 6a2c4 acpi.ko
3 2 0xc32aa000 22000 linux.ko
4 1 0xc329d000 7000 linprocfs.ko
となって/compat/linux/proc/の中身が増える。
これでちゃんと起動する。こっちはさっき知った。さすが。

emacsの文字コード

現在の文字コード
emacsの下部に「-EEE:%%-」と表示されている部分の「EEE」が現在のemacsの文字コードです。
* 左端の「E」の部分
キーボードからどの文字コードが入力されると期待しているかを示します。
* 左から2番目の「E」の部分
画面上の表示にどの文字コードを使用するか示します。
* 左から3番目の「E」の部分
バッファ内および保存するファイルに使用する文字コードを示します。
* 文字コードをあらわす文字の例
E EUCコード
S ShiftJISコード
J JISコード

文字コードの変更方法
* キーボードから入力する文字コード
「CTL+x」「RET」「k」の後、ミニバッファの質問に変更したい文字コードを入力する。
(「ESC」「x」set-keyboard-coding-system「RET」文字コードでも良い)
* 画面表示に使用する文字コード
「CTL+x」「RET」「t」の後、ミニバッファの質問に変更したい文字コードを入力する。
(「ESC」「x」set-terminal-coding-system「RET」文字コードでも良い)
* ファイルの保存に使用する文字コード(カレントバッファのみ)
「CTL+x」「RET」「f」の後、ミニバッファの質問に変更したい文字コードを入力する。
(「ESC」「x」set-buffer-file-coding-system「RET」文字コードでも良い)
* バッファやファイルの文字コード(emacs全体で有効)
「CTL+x」「RET」「c」の後、ミニバッファの質問に変更したい文字コードを入力する。
(「ESC」「x」universal-coding-system-argument「RET」文字コードでも良い)
* 文字コードをあらわす文字列
文字列 文字コード
euc-japan EUCコード
shift_jis ShiftJISコード
junet JISコード
http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?emacs%2F%B4%C1%BB%FA%A5%B3%A1%BC%A5%C9%A4%CE%CA%D1%B9%B9%CA%FD%CB%A1
めもめも。