2015年12月18日金曜日

Tera Termで入力コマンドをファンクション登録

題名が変な気がするけど、適切な言葉が思いつかないので。。。
仕事上、色んなサーバのコンソール画面に出たり入るのだけれども「exit」とかのコマンドなどキー一発で打てると楽だなと思う事がある。
そういえば前の会社の上司がTera Termのキーボード設定に良く使うコマンドを仕込んでたなと思い、調べてみた。

「KEYBOARD.CNF」というファイルがTera Termのプログラムフォルダ内にあり、こちらで設定できる。
※あるバージョンではマクロからTera Termを起動した際にこのコンフィグが読まれない事があるそうなので、その場合はバージョンアップしてください

私が登録した例として、「F1キー」を「exit+エンターキー」として定義した時の設定として

XF1=off ;59として定義されているのをoffにする

[User keys]
User1=59,0,exit$0D$0A ;F1キー(59)をexitとエンターキーとしてユーザーキーセクションで定義

Tera Termマクロで文字コード指定して接続

仕事で色んなサーバにアクセスして作業するのだけど、都度パスワード打ったりするのが面倒なのでマクロを作成している。
同じ文字コード環境のサーバならTeraTermのデフォルトの文字コードを「TERATERM.INI」で指定していればいいんだけど、異なる場合はログイン後に文字化けするので困る事になる。

そこでマクロの中で文字コード指定を含める方法を調べてみた。
TTX Kanji Menu というプラグインをインストール時に選択している事が前提となるので、インストールしていない人は追加を。

以下はEUC-JPにしたい場合。
callmenu 54011 ; [KanjiCode] Recv: EUC-JP
callmenu 54111 ; [KanjiCode] Send: EUC-JP

詳細は以下をURLを参照頂くと良いかと。
https://ttssh2.osdn.jp/manual/ja/macro/command/callmenu.html

Solarisで文字コード判断コマンド

仕事で文字化けを調べていた際に気が調べたコマンドを記録。
「auto_ef」 という便利なコマンドがあるらしい。

auto_ef 判定したいファイル

で確認する。

結果としては
PCK → SJIS
eucJP → EUCJP

といった具合にでるらしい。


改行コードを調べたい時は「od」で以下のように調べる。
od -c 判定したいファイル | more

こうする事で
LF → \n
CR → \r
CR+LF → \r\n

って具合に文字が表示されるので確認すればよいらしい。