タイトル/名前 | 更新者 | 更新日 |
---|---|---|
Emacs/指定行数にジャンプ | msakamoto-sf | 2009-04-26 13:40:56 |
Emacs/選択リージョンの色づけ | msakamoto-sf | 2009-04-26 13:38:45 |
Emacs/テキストの折り返し | msakamoto-sf | 2009-04-26 13:37:16 |
技術/Linux/kinput2+Cannaで「半角・全角」「変換」キーを使う | msakamoto-sf | 2009-04-19 22:26:28 |
日記/2003/08/29/".canna"設定ファイル | msakamoto-sf | 2009-04-19 22:25:34 |
添付ファイル/2003/08/29/dot_canna | msakamoto-sf | 2009-04-19 22:24:17 |
日記/2003/06/04/昭和、平成を西暦に変換する年号変換 | msakamoto-sf | 2009-04-19 12:50:57 |
日記/2003/01/19/NetBIOS over TCP/IPとWin98SE以前 | msakamoto-sf | 2009-04-19 12:48:17 |
技術/Linux/IDEディスクパラメータの設定(hdparm)メモ | msakamoto-sf | 2009-04-19 11:23:48 |
技術/Linux/カーネルパラメータの設定(sysctl)メモ | msakamoto-sf | 2009-04-19 11:06:20 |
M-x goto-line
でOKです。デフォルトではキーバインドが指定されていません。
(global-set-key "C-x:" 'goto-line)
などで設定しておくと便利です。
実際にはC-@かC-Spaceによるマークですが。
;; Region Mark Visualization On. (setq-default transient-mark-mode t)
TTYログインでも、Rxvtからでも効果があります。
※たしか自分が使用していた2003年当時、Emacsはデフォルトでテキストの折り返しが有効になっていました。
テキスト折り返しを無効化するには.emacs.el等で以下のデフォルト値設定を行います。
(setq-default truncate-partial-width-windows t) (setq-default truncate-lines t)
この二つを設定して初めて無効になります。片方だけでは無効に・・・ならなかったような気がします。
(setq truncate-lines t) (setq truncate-partial-width-windows t)
としてしまうと、デフォルトモードのローカル値の設定になり、新しくバッファを開いてモードが変更されると効果が無くなります。
※TurboLinux 8 Workstation 使用当時のメモ
※なお、2003年のTLX8WS使用当時の ".canna" 設定ファイルは 添付ファイル/2003/08/29/dot_canna 参照。
TLX8WS使用当時、非力なマシンを使用していたこともあり、ATOKXではなくてkinput2 + Cannaの組み合わせを使っていました。
Ctrl + o や Ctrl + Space でCannaをON/OFFする習慣にどうしてもなじめなかった為、どうにかしてWindowsでのATOK風に、「半角・全角」でCannaをON/OFFし、ON中は「変換」(JP106キーボードでスペースの右にあるキー)で英数字入力モードにしたい。
色々と試行錯誤しまして、その一部が
です。
上記ページの後半にもある通り、パッチを作る程ではなくてxmodmapを使ったキーコードの変換だけで実現しました。
kinput2のソースを読んでいて気づいたのですが、やはり、想定しているキーボードがJP106のような日本語キーボードではない、というのが重要でした。
一部Solarisのキーボードには「漢字」キーというのがあります。他にも基本的にPC/AT互換機上での日本語キーボードとは無縁の、英語キーボードの世界で発達してきたUNIXの影響をkinputは強く受けています。
ここでxevコマンドで調べた、X上での関連キーコードを載せます。
半角・全角 | 49 (デフォルト定義:Zenkaku_Hankaku) |
変換 | 129 (Henkan_Mode) |
無変換 | 131 (Muhenkan) |
※「無変換」はJP106キーボードで、スペースバーの左に位置するキーです。
これに加え、Solarisなどのコンピュータで長年使われているキーボードには、「漢字」というキーが存在します。
漢字 | (不明) (Kanji) |
ソースを調べたところ、kinput2が想定しているのは「漢字」と「無変換」キーです。
よって、一番簡単なやり方は xmodmap を使って「半角・全角」を「漢字」キーのコードに、「変換」を「無変換」キーのコードに変換することです。
xmodmapコマンド :
$ xmodmap -e "keycode 49 = Kanji" $ xmodmap -e "keycode 129 = Muhenkan"
"$HOME/.Xmodmap"をつかうなら、上記""の中をそのまま記述すれば大丈夫でした。
... keycode 49 = Kanji keycode 129 = Muhenkan ...
2009年現在は、殆どをWindows上で過ごし、Linux/UNIXを使う場合はSSHターミナルでログインしての作業となる為、XWindowSystem上での日本語入力に悩む場面は滅多にない。
それでも2003年当時はデスクトップLinuxに結構はまっていて、かなり苦労もしていた。上記エントリを含め、関連エントリを整理していたらkinput2 + Cannnaにまつわる苦闘は 2003/06月頃に端を発し、2003/09月にパッチ作成で一旦落着した後、xmodmapによる最終決着は2003/12月と、実に半年にわたり延々とCannaやkinput2が心の引っかかりとして頭の中にあったことになる。
Linux/UNIXのXWindowSystem、というかデスクトップ環境について恨み言しか喋れないのは、さんざん苦労させられた上、結局デスクトップLinuxの夢はいつまで経っても実現せず、Linux/UNIXサーバもWindows上でVMwareを入れれば使えるようになり・・・結局、あれだけ苦労したのが全て徒労に終わった、終わらせられた感が強いから。
gccやMake, サーバ環境などでの苦労はその後お仕事で報われる事も多かったが、ことデスクトップ環境やXWindowSystem関連については殆どその後役に立たなかった、というのが実情。
基本的に
昭和X年 = 西暦(1925+X)年
平成Y年 = 西暦(1988+Y)年
となります。基準点は昭和64年、なおかつ平成元年(1年)が1989年。
逆方向:
西暦X年 = 昭和(X-1925)年 = 平成(X-1988)年
以上
とある先輩の研究室へ遊びに行ったら、なんか「Windowsネットワークでパソコンが見えない・・・。」とかあって困ってた。
様子を聞いてみると、問題のパソコンが他のパソコンのエクスプローラから見えるのだが、問題のパソコンから他のパソコンは見えない。pingは双方ともに通過。したがってTCP/IP周りのうっかりミスとは思えず。パソコン同士はHUBで繋がっているのでポート塞ぎとかで無理とも思えず。なにより問題のパソコンはWindowsネットワークだけ死んでて、TCP/IPのHTTP, メールとかは普通にできる。
「なんだこりゃ」と思ってネットワークの設定を見てみると。
Windows9x系列で必ず見かけるNetBEUIプロトコルが見あたらない。
まさかと思い、NetBEUIをWin98CDROMからインストールしてみたら、あっさりWindowsネットワークが動いてくれました。つまり、問題は解決されたと言うこと。
Windows95前後、少なくともWindows98迄のWin9X系列では、Windowsネットワークを使うためにはNetBEUIプロトコルを積む必要があるらしい。
NetBEUIはTCP/IPと同じレイヤーに位置するプロトコル。
では、NetBIOSとは何ものか?
NetBIOSはWindowsネットワークと通信する為の、アプリケーション層に位置するプロトコルになる。
Win2k以降あたりからはNetBIOSを使うのにわざわざNetBEUI使う必要が無くなった。というのも、NetBIOS over TCP/IPが使えるようになったので、インターネット標準プロトコルのTCP/IPさえ積んでおけばWindowsネットワークに参加することができるようになった、ということ。
ただ、Windows9x系列はまだNetBEUIが無くてはNetBIOSを扱えないため、Windowsネットワークに参加するためには必須である、ということ。
今までNetBEUI nearly equal NetBIOS と思っていた。たしかにその理解の仕方でも今回の問題には対処できたが、これがもしWin2kマシンで起こっていたらこの理解の仕方では混乱するばかりだろう。
正確にきっちり理解する必要がありました。というお話。
※TurboLinux 8 Workstation 使用当時のメモ
hd''param''ではなくて、hd''parm''に注意。
hdparmパッケージ収録のhdparmコマンドを使うと、ATA-IDEディスクの各種パラメータの確認/設定、ディスクパフォーマンスの測定を行える。
実行例:
ハードディスクに関する情報を得る :
# hdparm /dev/hda # hdparm -i /dev/hda
# hdparm /dev/hdb /dev/hdb: multcount = 0 (off) I/O support = 1 (32-bit) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 2481/255/63, sectors = 39862368, start = 0
DMAの有効無効のチェックでよく紹介される。
using_dma : -d : DMA転送の是非。0で無効、1で有効。
以下のコマンドでは、/dev/hda のディスクに対してDMA転送を有効に設定している。
# hdparm -d1 /dev/hda
HDDのread/write速度をチェックする場合は -t or -T オプションをつけて、2~3回測定してみる。
# hdparm -t /dev/hda /dev/hda: Timing buffered disk reads: 64 MB in 5.11 seconds = 12.52 MB/sec # hdparm -T /dev/hda /dev/hda: Timing buffer-cache reads: 128 MB in 0.97 seconds =131.96 MB/sec
hdparmによる設定を起動時に行わせるには、rc.sysinitやrc.localに記述しておくのがよい。
ディストリビューションによっては/etc/sysconfig/harddisksファイルに設定を書いておくだけ物もある。この場合、rc.sysinitまたはrc.localなどに同ファイルを読み込んでhdparmを実行してくれるスクリプトが既に埋め込んである。詳細は同スクリプトファイル、またはディストリビューションのマニュアルを参照。
例:TurboLinux 8 Workstationの場合、下記のような /etc/sysconfig/harddisks を記述できる。
USE_DMA=1 MULTIPLE_IO=16 EIDE_32BIT=1 LOOKAHEAD=1 EXTRA_PARAMS="-X66 -M16"
※TurboLinux 8 Workstation 使用当時のメモ
procpsパッケージに収録されている sysctl コマンドを使うと、システム起動後にカーネルパラメータを設定できる。
カーネルパラメータとして利用できる全ての値を表示するには ...
# sysctl -a # sysctl -A
ファイルから読み込むには ...
# sysctl -p /etc/sysctl.conf(デフォルト)
値を表示するには ...
# sysctl -n kernel.hostname
値をセットするには ...
# sysctl -w kerenel.domainname="example.com"