GUIモード・CUIモード切り替え

Xが起きている状態で, Ctr+Alt+F1〜F6を押すことでコマンドラインモードに変わる.
その状態でXのGUIモードに移るには,Alt+F7.

このコマンドは利用するttyを切り替えている模様。
tty7はXorgが管理していて、tty1〜tty6はCUIで使える。

tty(Tele Type)の略.端末を表す.昔のテレタイプ端末から名前が残っている模様.

文字コード変換

nkfコマンドとそのオプション(シェルスクリプト・コマンド)>
nkf オプション ファイル名

 -e EUCコードで出力する。
 -j JISコードで出力する。
 -s シフトJISコードで出力する。
 -w UTFコードで出力する。

 -Lm 改行コードを" CR " (MAC)で出力する。

 -Lu 改行コードを" LF " (UNIX)で出力す-Lw 改行コードを " CR/LF " (Windows)で出力する。

<変換の例>
sample.txtのテキストを漢字コードをS-JIS、改行コードをCR/LFでsample_sjis.txtに出力する。

$nkf -s -Lw sample.txt > sample_sjis.txt

遠隔ログイン時の文字化けを防ぐ

僕のいる研究室での共通文字コードEUC-JPであり,cygwinの設定もそのようになっている(実は僕のcygwinだけShift-JISになっているが,後輩にはEUC-JPにするように指示を出していたり….そのうち直さないとなぁ…).が,Ubuntu文字コードUTF-8である.そのため,Ubuntucygwinから遠隔ログインしたときに日本語は文字化けを起こす.これを解決するために,cocotを使う.

■cocot・インストール

$ mkdir src
$ cd src
$ wget http://vmi.jp/software/cygwin/cocot-20080315.tar.bz2
$ tar jxvf cocot-20080315.tar.bz2
$ cd cocot-20080315
$ ./configure
$ make
$ make install

Ubuntuにインストールする場合は,最後のコマンドだけつぎのように変更する.

$sudo make install

■環境設定

$ infocmp cygwin > cygwin.terminfo %定義ファイルを作成
$ scp cygwin.terminfo [リモートホスト]:/tmp %定義ファイルをコピー
$ ssh -l username@リモートホスト
$ sudo tic /tmp/cygwin.terminfo %エントリーを追加

■使い方

$ cocot -t EUC-JP -p UTF-8  ssh username@リモートホスト

-t のあとにローカルの端末の文字コード,-p のあとにリモートの端末の文字コード

ゲートウェイマシンで自動的にSSH通信する場合

cocot -t EUC-JP -p UTF-8 ssh -t -X username@リモート ssh -X 192.168.hoge.hoge

というように打ち込めば良い.hoge.hogeのところには自分のマシンのIPアドレス

Cygwinで日本語入力

cygwin上で日本語入力なんてしてなかったから忘れていた.cygwin画面上で日本語入力に切り替えるには Alt+半角/全角キー.ちなみに,.inputrc は次のようになっている..inputrcが設定されていない場合は日本語入力はできない.

set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on 

.bashrc バックアップ

ついでに残しておく.EUC-JPに直さなくちゃなぁ…といつも思うけれどやらない自分.

export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis
alias ls='ls --show-control-chars --color=auto' 
alias geomview='/usr/local/Geomview/bin/geomview'
alias opengl='gcc -DWIN32 -lglut32 -lglu32 -lopengl32'
alias openglp='g++ -DWIN32 -lglut32 -lglu32 -lopengl32'