Xサーバが使いたくCygwinをインストールした。ウェブ上のCygwinに関する情報は古くなっているものが多く、試行錯誤してやっと使えるようになった。誰かの役に立つかもしれないのでメモを公開する。
デフォルトで選択されているものに加え、次のパッケージを追加する。
Keepにチェックを入れて上書きインストールを阻止する。
次のパッケージは追加する
次のパッケージはインストールしない。
マイコンピュータのプロパティを開いて設定する。
| 変数名 | 値 |
|---|---|
| CYGWIN | tty binmode nontsec |
| HOME | /home/USERNAME |
| MAKE_MODE | UNIX |
| SHELL | /bin/bash |
ホームディレクトリをD:\home\以下に置くなら、次のようにマウントする。
C: cd C:\cygwin\bin umount -A mount -b C:\cygwin / mount -b D:\home /home
日本語マニュアルはインストール済み。whatisデータベースをつくっておく。
$ /usr/sbin/makewhatis
/etc/man.confを開く。100行目付近からgroffなどのパスが間違っているので修正する。
$ tar Cxzf / Xbin-corrected.tgz $ tar Cxzf / kterm.tgz $ tar Cxzf / canna.tgz $ tar Cxzf / imeproxy.tgz $ tar Cxzf / kinput2.tgz
$ ./fixappdefaults.sh
$ tar -zxvf startup.tgz $ cd startup $ ./install.sh
http://www.eaflux.com/cygwin/tips/よりcyg-addon.tgzをダウンロードしインストールする。
$ tar -zxvf cyg-addon.tgz $ cd cyg-addon $ ./install.sh
Emacsでtamago(日本語入力)が使えるようになる。
ない場合はつくる。これがないと.bashrcが読まれない。
if [ -f $HOME/.bashrc ]; then source $HOME/.bashrc fi
環境変数にDISPLAY=localhost:0.0は設定しない。emacsがターミナル上で起動しなくなる。
#!/bin/bash
# .bashrc - bash resource script, read at beginning of execution by each shell
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Alias file
if [ -f ~/.bash_aliases ] ; then
. ~/.bash_aliases
fi
# A righteous umask
umask 22
# Path
export PATH=/usr/local/bin:/usr/X11R6/bin:$PATH:~/bin
export NLSPATH="/usr/share/locale/%L/LC_MESSAGES/%N"
# Prompt
PS1="$USER@$HOSTNAME:\w$ "
if [ ! -n "${TERM}" ]; then
TERM=cygwin
fi
# Environmental Variables
export HOME=/home/USERNAME
export LC_CTYPE=ja_JP.SJIS
export LANG=ja_JP.SJIS
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix
export SHELL=/bin/bash
export PAGER=less
export EDITOR=vim
export JLESSCHARSET=japanese-sjis
# Shell variables
HISTSIZE=500
HISTFILESIZE=500
HISTCONTROL=ignoreboth
IGNOREEOF=3
# Aliases
alias ls='ls -F --color=auto --show-control-chars'
alias la='ls -aF --show-control-chars'
alias ll='ls -l --show-control-chars'
alias jpwhois='whois -h whois.jprs.jp'
alias source='source ~/.bashrc'
alias f="find ./ -name '\!*' -print"
alias vi='vim'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias mkdir='mkdir -p'
echo Now bash version $BASH_VERSION start!
コンソール画面で日本語入力できるようにする。
set convert-meta off set input-meta on set output-meta on set kanji-code sjis set meta-flag on
既に作成されているはずなので、お好みで設定する。
; .emacs.el
;; environmental variables
(setenv "LANG" "C")
(setenv "TZ" "JST-9")
(setenv "RCSINIT" "-z+09:00")
;; path
(setq load-path
(append '(
"~/lisp"
"~/elisp"
)
load-path))
;;; misc settings
(setq inhibit-startup-message t)
(setq make-backup-files nil)
(setq-default transient-mark-mode t)
(setq tooltip-use-echo-area t)
(blink-cursor-mode nil)
(tool-bar-mode 0)
(menu-bar-mode 0)
(setq next-line-add-newlines t)
(setq ls-lisp-dirs-first t)
(setq resize-mini-windows nil)
(setq cursor-in-non-selected-windows nil)
(auto-image-file-mode)
(setq-default line-spacing 0)
(scroll-bar-mode nil)
(setq default-frame-alist
(cons '(cursor-type . box) default-frame-alist))
(setq visible-bell t)
(setq directory-free-space-program nil)
;;; font-lock-mode
(setq default-frame-alist
(append '((font . "fontset-12")) default-frame-alist))
(global-font-lock-mode t)
;;; japanese environment (input method, encoding, and fonts)
(set-language-environment "Japanese")
(set-default-coding-systems 'sjis)
(set-keyboard-coding-system 'sjis)
(set-terminal-coding-system 'sjis)
(setq network-coding-system-alist
'(("nntp" . (junet-unix . junet-unix))
(110 . (no-conversion . no-conversion))
(25 . (no-conversion . no-conversion))))
;;; no need for mule-ucs!
;(utf-translate-cjk-mode 1)
;;; ime
(if (not (null window-system))
(progn
(setq default-input-method "japanese-egg-canna")
(setq canna-hostname "localhost")
(setq its-hira-comma ",")
(setq its-hira-period "。")
(load-library "egg")))
;;; shell
(setq exec-path
(mapcar
'expand-file-name
(list
"~/bin"
"/usr/local/bin"
"/usr/bin"
"/bin"
"/usr/X11R6/bin"
)))
(setenv "MAKE_MODE" "unix")
(setenv "MANPATH" "/usr/local/netpbm/man:/usr/local/man:/usr/X11R6/man:/usr/share/man:/usr/man")
(setq explicit-shell-file-name "bash")
;;; clipboard
(global-set-key "\C-cw" 'cb-copy)
(global-set-key "\C-cy" 'cb-paste)
(defun cb-copy ()
(interactive)
(let ((coding-system-for-write 'shift_jis-dos))
(shell-command-on-region (region-beginning) (region-end) "cat > /dev/clipboard" nil nil nil))
(message ""))
(defun cb-paste ()
(interactive)
(let ((coding-system-for-read 'shift_jis-dos))
(goto-char
(+ (point) (cadr (insert-file-contents "/dev/clipboard"))))))
;;; emacsclient
(server-start)
(put 'narrow-to-region 'disabled nil)
;; key-binding
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\C-x\?" 'describe-key)
(global-set-key "\C-z" 'scroll-down)
(global-set-key "\M-r" 'query-replace)
;(global-set-key "\C-M-r" 'query-replace-regexp)
;(global-set-key "\C-\/" 'undo)
(global-set-key "\C-\\" 'toggle-input-method)
(global-set-key [end] 'end-of-buffer)
(global-set-key [home] 'beginning-of-buffer)
(global-set-key [henkan] 'toggle-input-method)
viの設定。
set tabstop=8 set showmode set autoindent set number set showmatch set ignorecase set nobackup
vimの設定。
set enc=japan set encoding=shift_jis :set ttyfast
DISPLAY=localhost:0.0を設定する。好きなウィンドウマネージャーに変更する。
#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $
cd
# log
#exec > .xinitrc.log 2> .xinitrc.log
# environmental variables
export LANG=ja_JP.SJIS
export LC_CTYPE=ja_JP.SJIS
export XMODIFIERS='@im=kinput2'
export PATH=/usr/local/netpbm/bin:/usr/X11R6/bin:/usr/bin:/bin:/usr/local/canna/bin
export DISPLAY=localhost:0.0
# function killall()
killall() {
ps -as | grep $1 | while read line
do
set $line
kill $1
done
}
# start cannaserver
cannaserver=echo
cannakill=echo
if [ -f /usr/sbin/canna2imm32.exe ]; then
cannaserver="/usr/sbin/canna2imm32 -nolog -inet"
elif [ -f /usr/local/canna/sbin/cannaserver.exe ]; then
cannaserver=/usr/local/canna/sbin/cannaserver
cannakill=/usr/local/canna/sbin/cannakill
elif [ -f /usr/sbin/cannaserver.exe ]; then
cannaserver=/usr/sbin/cannaserver
cannakill=/usr/sbin/cannakill
fi
$cannakill
rm -rf /tmp/.iroha_unix
$cannaserver
# the keyboard layout is determined automatically.
#setxkbmap jp
#setxkbmap us
if [ -f $HOME/.Xresources ]; then
xrdb -override $HOME/.Xresources
fi
if [ -d $HOME/.ttfonts ]; then
xset fp+ $HOME/.ttfonts
fi
kinput2 -canna &
#if [ -f $HOME/.canna ]; then
# kinput2 -canna -cannafile $HOME/.canna &
#else
# kinput2 -canna &
#fi
# start some programs
#kterm -geometry +5+5 -title 'kterm' -km euc -e bash &
#xsetroot -solid DarkSlateBlue &
# window manager
#twm &
#wmaker &
#openbox &
blackbox &
#fvwm2 &
# terminal
kterm -e bash --login
# kill allprograms
killall kterm
$cannakill
# if cannakill could not terminate cannaserver...
killall $cannaserver
rm -rf /tmp/.iroha_unix
お好みで。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! common
*cursorColor: DarkOrange
*customization: -color
*conversionOnKeys: Henkan
*.VT100.Translations: #override\n\
<KeyPress>Prior: scroll-back(1, line)\n\
<KeyPress>Next: scroll-forw(1, line)
*VT100*translations:#override \
Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION) \n\
<Key>Kanji: begin-conversion(_JAPANESE_CONVERSION)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! kinput2
!!
Kinput2*conversionServer: canna
Kinput2*cannahost: localhost
Kinput2*ConversionStartKeys: Shift<Key>space
*KinputProtocol.BackwardCompatible: true
*KinputProtocol.XlcConversionStartKey: Shift<Key>space
Kinput2*useOverrideShellForMode: true
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! kterm
!!
KTerm*kanjiMode: sjis
KTerm.VT100.geometry: 80x20
KTerm*scrollBar: True
KTerm*saveLines: 500
KTerm*background: black
KTerm*foreground: white
KTerm*allowSendEvents: true
KTerm*VT100*openIm: True
KTerm*fontList:-*-fixed-medium-r-normal--16-*,\
-*-fixed-medium-r-normal--16-*,\
-*-fixed-medium-r-normal--16-*
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! xterm
!!
XTerm*utf8: 1
XTerm.vt100.geometry: 80x30
XTerm*scrollBar: yes
XTerm*rightScrollBar: yes
XTerm*jumpScroll: false
XTerm*reverseVideo: true
XTerm*saveLines: 500
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! rxvt
!!
rxvt*multichar_encoding: sjis
rxvt*geometry: 80x30+10+10
rxvt*scrollBar: True
rxvt*scrollBar_right: True
rxvt*scrollstyle: next
rxvt*reverseVideo: True
rxvt*visualBell: True
rxvt*saveLines: 500
rxvt*linespace: 2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! emacs, xemacs
!!
Emacs.Font: fontset-standard
Emacs*useXim: True
Emacs*inputMethod: kinput2
Emacs.geometry: 80x45
bash起動時に/usr/bin/tr: No such file or directoryなどと表示されるときは、/etc/profileの83行目付近でtrやsedのパスが間違っているので直す。
2008年5月19日
広告
広告