最近なぜか ubuntu をインストールする機会が非常に多くなって、いちいちググるのもめんどくさいから。
● インストール
インストールは ubuntu-10.04.2-desktop-i386.iso から行う。
ubuntu の iso は ubuntu.com のダウンロードページから行うことができる。
ミラーサイトは勝手に判断してくれる。
インストールはすべてデフォルトのままで構わない。
注意する点は2つだけで、
- 一番最初の画面で「日本語」を選ぶこと(左ペインのリストの一番下)
- インストールする領域は「全てのパーティションを削除してインストールする」を選ぶ
● アップデートマネージャー
インストールが済んで再起動すると、アップデートマネージャーが動く。
(ネットワークが正しく接続されていて DHCP ならば)
とりあえずアップデートしてしまうことにする。
現時点(2011/04/08)では62パッケージがアップデートされる。
● ネットワークの設定
最初にするのはネットワークの設定。
一番簡単なのは NetworkManager を使った設定。
有線は DHCP か STATIC かを選んで入力するだけだし、無線でも SSID まで自動的に拾ってきてセキュリティ方式を選べば簡単に設定できる。
NetworkManagerの問題は、ログインしてないと機能してくれないことだ。
ということは、このマシンをサーバーとして何らかのソフトを動かすときには、NetworkManager の設定は利用できない。
この場合は /etc/network/interfaces に設定を記入する。
例えば有線の eth0 を起動時から DHCP として動かしたい場合、上記ファイルに以下のように追記する。(デフォルトでは loopback の設定しか書かれていない)
auto eth0 iface eth0 inet dhcpSTATIC の場合は以下のようになる。(もちろん各項目の値は各自ネットワークに合わせる)
auto eth0 iface eth0 inet static address 192.168.0.2 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.1STATIC の場合は /etc/resolv.conf も自分で書かなければならない。
serach [YOUR DOMAIN] nameserver 192.168.0.1無線の場合は格段に難しくなってしまう。
まずは NetworkManager で接続して、デバイス名やドライバ名を確認する。
自宅などで WPA でセキュリティが WEP である無線アクセスポントを使っている場合は以下のようになる。
auto wlan0 iface wlan0 inet dhcp wpa-driver wext wpa-ssid [HOME SSID] wpa-ap-scan 1 wpa-key-mgmt WPA-PSK wpa-psk [WEP KEY]会社などで WPA2 でセキュリティが EAP である無線アクセスポイントを使っている場合は以下のようになる。
auto wlan0 iface wlan0 inet dhcp wpa-driver wext wpa-ssid [OFFICE SSID] wpa-ap-scan 2 wpa-proto RSN wpa-pairwise CCMP wpa-group CCMP wpa-eap PEAP wpa-key-mgmt WPA-EAP wpa-identity [YOUR USERNAME] wpa-password [YOUR PASSWORD]会社に関してはどうしても「詳しくはネットワーク管理者に問い合わせ」となってしまう。
サーバとして使う場合は有線につなぎ、/etc/network/interfaces には有線の設定のみを書く。
持ち歩くので無線を使いたい場合は、どうせログインしているので NetworkManager を使う。
というのが賢いやり方じゃないだろうか。
● プロキシの設定
会社内で使う時などではプロキシの必要だろう。
GNOME が使うプロキシは「システム」→「設定」→「ネットワークのプロキシ」で設定できる。
プロキシサーバの設定は Windows とかと同じなので迷いようがないのだが、プロキシ適用を除外するサーバの設定に癖がある。
InternetExplorer での設定方法。
*.hogehoge.com 192.168.0.*Mozilla Firefox での設定方法。
.hogehoge.com 192.168.0.0/24今回のケースである ubuntu GNOME での設定方法。
*.hogehoge.com 192.168.0.0/24個人的には ubuntu GNOME の書式が一番分かり易いので、どうにかこれに統一してくれないかと思う。
GNOME のアプリはこれで設定できたのだが、直打ちするコマンドのプロキシはまだ設定されていない。 これを設定するために /etc/profile の最後に以下を追記する。
export http_proxy="http://[your proxy server]:[port]/" export https_proxy="http://[your proxy server]:[port]/" export ftp_proxy="http://[your proxy server]:[port]/"これで http_proxy というシェル変数を使っているコマンド(wget 等)はプロキシ越しにアクセスできる。
ただし、専用のプロキシ設定方法を持つコマンド(subversion, git, hg 等)はちゃんと各々設定しなければならない。
さらに、sudo apt-get した中で wget が走る場合(sudo apt-get install msttcorefonts 等)のために、sudo しても http_proxy の値を受け継がなければならない。
そこで /etc/sudoers を以下のように変更する。
-Defaults env_reset +#Defaults env_reset +Defaults env_keep = "http_proxy https_proxy ftp_proxy"ここでやっとネットワークの設定が完了するので、今までアップデートマネージャーが動かなかったらここでアップデートする。
「システム」→「システム管理」→「言語サポート」も開き、日本語が一番上になっていることを確認し、「言語」「テキスト」両タブにおいて「システム全体に適用」を押す。(日本語メニュー等がインストールされていなかったら、ここでインストールされる)
また、VMに ubuntu をインストールしている場合、アップデートが完全に終わってから VMware Tools をインストールすると効率が良い。(アップデートにはカーネルも含まれるので、アップデート前に VMware Tools をインストールすると、カーネルへのパッチを当てるため、もう一度 VMware Tools をインストールし直さなければならない)
● 自動起動するサーバ・アプリの削除
なるべく自動起動するものを減らしたい。
まずは自動起動するアプリの削除。
「システム」→「設定」→「自動起動するアプリ」を開く。
残すものは以下で、それ以外のもののチェックをすべて外す。
- GNOME Login Sound(VM以外の場合のみ)
- PulseAudio Sound System(サウンドサーバを使う場合のみ)
- VMware User Agent(VMの場合のみ)
- ネットワーク・マネージャ(ノートPC等で無線の設定に必要なら)
- 電源の管理(ノートPCの場合のみ)
% sudo apt-get install sysv-rc-configON になっているサービス一覧と変更は以下。
載せていないサービスの詳しい内容については Ubuntu Packages Search で調べることができる。
- acpi-suppport
- ACPI イベントに関するスクリプト。ノートPCで蓋を閉じたときにサスペンドしたい、という場合には ON のままにしておく。
- binfmt-support
- Windows のように特定の拡張子に対する動作を決める。ON のままにしておく。
- bluetooth
- bluetooth サポート。使う予定がないので OFF にする。
- cups
- プリンタのキューを制御するデーモン。OFF にする。
- dns-clean
- ダイアルアップ接続時に DNS 情報をクリーンアップする。もちろん OFF にする。
- fancontrol
- 温度や電圧、ファン回転数などのセンサー情報にアクセス出来るようにする。ノートPCで情報を見たい、という場合には ON のままにしておく。
- grub-common
- GRUB の共通関数。ON のままにする。
- kerneloops
- kernel oops トラッカー。PANIC から backtrace を読んで、なんてことはしないと思うが、一応 ON のままにする。
- ondemand
- 負荷が少ない時に CPU の周波数を下げる。ON のままにする。
- pppd-dns
- PPP デーモン。もちろん OFF にする。
- pulseaudio
- PusleAudio サウンドサーバ。VMなどで必要ないなら OFF にする。
- rc.local
- 初期起動スクリプト。ON のままにする。
- rsync
- リモートファイルコピープログラム。使う予定がないので OFF にする。
- saned
- スキャナのための utils。スキャナを使う予定がないので OFF にする。
- speech-dispatcher
- speed synthesizer のための utils。OFF にする。
以下はあくまで個人的なものなので、参考までに。
- GNOME の初期値で存在するディレクトリ名を日本語ではなく英語に
- 端末を起動して以下を入力。
% LANG=C xdg-user-dirs-gtk-update
"Don't ask me this again" にチェックをして、"Update Names" をクリック。 - GNOME アプリのキーバインドを Emacs 風に
- Alt-F2 で gconf-editor を呼び出し、/desktop/gnome/interface にある gtk_key_theme のキーの値を Default から Emacs にする。
- IPv6 を無効にする
- /etc/sysctl.conf の最後に以下を追記する。
# disable IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
- 「システム」→「設定」→「iBus の設定」
- 「一般」タブで「切り替え」の Zenkaku_Hankaku 以外を削除し、Control+o, Control+backslash を追加する。そして「言語パネルの表示」を「表示しない」にする。
デフォルトのインプットメソッドである Anthy(m17n) は何か使い辛いので、「インプットメソッド」タブで「インプットメソッドの選択」→「日本語」→「日本語 - Anthy」を選び、王冠マークの Anthy 以外を消す。もしも王冠マークの Anthy が無い場合は sudo apt-get install ibus-anthy - 「システム」→「設定」→「ウィンドウ」
- 「マウスが移動した先のウィンドウを選択する」をチェックするが、「マウスが移動した先のウィンドウを前面に出す」はチェックしない。
- 「システム」→「設定」→「キーボード」
- 「レイアウト」タブの「オプション」をクリックし、「Ctrlキーの位置」の"Make CapsLock an additional Ctrl" にチェックを入れる。
- 「システム」→「設定」→「外観の設定」
- 「フォント」タブの「詳細」ボタンを押し、「スムージング」を「サブピクセル」、「ヒンディング」を「なし」に設定する。
- 【VMのみ】「システム」→「設定」→「GNOME スクリーンセーバー」
- 「アイドル状態になったらスクリーンセーバーを起動する」「スクリーンセーバーを起動したら画面をロックする」両方ともチェックを外す
- 【VMのみ】「システム」→「設定」→「電源管理」
- 「AC電源使用時」タブは両方とも「しない」、「全般」タブの「通知エリア」は「アイコンを表示しない」。
- Nautilus の表示の設定
- 適当なフォルダを Nautilus で開き、「編集」→「設定」から「動作」タブで「ゴミ箱を経由しないで削除する」をチェックし、「プレビュー」タブでテキスト表示やサムネイルの表紙、サウンド・ファイルの演奏を「しない」にする。
何を差し置いてもこれをインストールする。
re まずは PPA 群をダウンロードしたときに gpg key のダウンロードがうまくいかないことがあるので、修正する。
/usr/share/pyshared/softwareproperties/ppa.py の中の "keyserver.ubuntu.com" を "pool.sks-keyservers.net" に置き換える。
他にも ubuntu のキーサーバーはあるが、とりあえず使ってみる。
「システム」→「システム管理」→「ソフトウェア・ソース」を開き、 「他のソフトウェア」タブの「追加」ボタンを押し、「APT ライン」に以下を入力する。
ppa:tualatrix/ppa「閉じる」ボタンを押すとメタデータの更新が始まる。
それでも "NO_PUBKEY 6AF0E1940624A220" のエラーが出てしまう場合は、以下の操作をする。
% gpg --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220 % gpg --export --armor 6AF0E1940624A220 | sudo apt-key add -apt-get update が終了したら、ubuntu-tweak をインストールする。
% sudo apt-get install ubuntu-tweak
上記はまとめると以下のコマンド1個かもしれない。
% sudo add-apt-repository ppa:tualatrix/ppaコマンドインターフェイス(CUI)の方が分かりやすいという典型であるな。
● Ubuntu Tweak での設定、不必要なアプリの削除
まずは Firefox で Google Chrome のサイトにアクセスして、"32ビット.deb" をダウンロードしておく。
- アプリケーションセンター
- Empathy, Evolution, Gwibber, Mozilla Firefox, PiTiVi のチェックを外し、「適用」ボタンを押す
- パッケージクリーナー
- 「ロック解除」を押して、不要なものを全て消す。
- ウィンドウマネージャの設定
- 「タイトルバーボタンの配置」を右にする。
- デスクトップアイコンの設定
- 「デスクトップアイコンを表示する」のチェックを外す
私が削除したものは以下。
- AisleRiot Solitaire
- Bluetooth
- Byoubu ウィンドウマネージャ
- F-Spot
- Firefox 用の Ubufox 拡張機能
- GNOME マインスィーパ
- Mahjongg
- Quadrapassel
- Transmission
- Ubuntu One
- gbrainy
- onBoard
- リモートデスクトップ
- 数独
だからこれを削除する。
% sudo apt-get remove indicator-messagesVM等で音声出力をしない場合、ツールバーのインジケーターアプレットのスピーカーのアイコンも邪魔だ。
これを削除する。
% sudo apt-get remove indicator-sound
● 必要なアプリのインストール
まずはダウンロードしておいた google chrome をインストールする。
Firefox から chrome に移行したのは、動作が軽いのもあるが、Web サイトのアプリ化が簡単だから。
これで Linux 用のクライアントソフトがないもの(Evernote 等)に対応する。
後、以下のソフトを sudo apt-get install で導入する。
- ssh:sysv-rc-conf で ssh を ON にする。/etc/ssh/sshd_config で X11Forwarding と PasswordAuthentication が yes になっていることを確認する。
- ntp:ntpdate は既にあるので ntpdate -b [ntp server] で合わせておいてから、/etc/ntp.conf の server を修正する。その後、sysv-rc-conf で ntp がチェックされていることを確認。
- vim
- tcsh
- gnome-do
- libaio-dev(これは完全に趣味)
- manpages manpages-ja xmanpages-ja manpages-dev manpages-ja-dev manpages-posix manpages-posix-dev
- cscope
● terminal の設定とフォント
フォントをインストールする
% sudo apt-get install ttf-inconsolata % sudo apt-get install ttf-vlgothic英語のフォントは inconsolata、日本語のフォントは VL Gothic で充分だと思っているので。
gnome-terminal のフォントを inconsolata 12pt、 xterm は以下の設定にする。
~/.Xresources(gdmがデフォルトで読み込むのは ~/.Xresources)
XTerm*selectToClipboard: true !XTerm*utf8: 1 !XTerm*locale: true !XTerm*cjkWidth: true !XTerm*faceName: Monospace !XTerm*faceSize: 10 XTerm*faceName: Inconsolata XTerm*faceSize: 12 !XTerm*font: 8x16 XTerm*Background: black XTerm*Foreground: white XTerm*scrollBar: True XTerm*saveLines: 2048Astec-X などの X サーバで xterm を起動すると、ttf だとフォントのリフレッシュが遅くていらいらする可能性があるので、バックアップで 8x16 を残しておく。
同様に日本語を表示する可能性のために Monospace を残しておく。
● VNC サーバのセットアップ
vnc4server と xinetd をインストールする。
% sudo apt-get install vnc4server % sudo apt-get install xinetd/etc/xinetd.d/vnc を以下の内容で新規作成。
service vnc { disable = no socket_type = stream protocol = tcp wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -geometry 1024x768 -depth 16 -passwordFile=/etc/vncpasswd -once -query localhost }vncpasswd の設定
% sudo vncpasswd /etc/vncpasswd Password: < password入力> Verify: <もう一度入力> % sudo chown nobody:root /etc/vncpasswd % sudo chmod 0600 /etc/vncpasswd % ls -l /etc/vncpasswd -rw------- 1 nobody root ..... /etc/vncpasswd/etc/services に以下の行を追加
vnc 5900/tcp/etc/gdm/gdm.schema を以下のように修正
.... <schema> <key>security/DisallowTCP</key> <signature>b</signature> - <default>true</default> + <default>false</default> </schema> .... <schema> <key>xdmcp/Enable</key> <signature>b</signature> - <default>false</default> + <default>true</default> </schema> ..../etc/gdm/custom.conf を以下のように新規作成
[daemon] RemoteGreeter=/usr/lib/gdm/gdm-simple-greeter DefaultSession=gnome [xdmcp] Enable=true DisplaysPerHost=2 [security] DisallowTCP=falsesysv-rc-conf でgdm を ON にしたら、xinetd と gdm を再起動すれば、各種 VNC クライアントからアクセスできる。(もしかしたらマシンの再起動が必要かも)
% sudo /etc/init.d/xinetd restart % sudo /etc/init.d/gdm restart
● samba client の文字コード
Windows マシンが samba サーバになっている場合は大丈夫なのだが、NAS 等で本体は Linux なのに Windows 用に文字コードを Shift-JIS にしているものを ubuntu から見ると文字化けしてしまう。
これを解消するために、/etc/samba/smb.conf を修正する。
[global] の所に以下を追記する。
dos charset = CP932 unix charset = UTF8 display charset = UTF8デスクトップにマウントポイントの Nautilus フォルダが見えてしまうが、これを非表示にするのは ubuntu tweak からできる。
ターミナルでアクセスしたい場合は、~/.gvfs 以下にマウントポイントが存在する。
このディレクトリは隠しフォルダになっているので注意。
● WOL の設定
サーバとして使う場合には WOL を使いたいこともあるだろう。
家庭で IPMI があるサーバを買うなんてしないはずだし。
まず ethtool をインストールする。
% sudo apt-get install ethtool以下の内容のスクリプトを書く。
/etc/init.d/wakeonlanconfig
#!/bin/bash ethtool -s eth0 wol g exit実行権を与えて、起動時にスクリプトを走らせる。
% sudo chmod a+x /etc/init.d/wakeonlanconfig % sudo update-rc.d -f wakeonlanconfig defaults
● コーデック云々
大体は Nautilus の画面から動画ファイルをダブルクリックして、
totem を起動してしまえば自動的にコーデックをインストールしてくれるのだが、
それでもダメな場合がある。
そんな時には ubuntu tweak のソースセンターで Medibuntu を有効にしてみる。
google earth がインストール可能になるが、まぁこれはどうでもいい。
その後に以下のように打つと、どうやらいいらしい。
% sudo apt-get install non-free-codecsあと下もやると幸せになれるかもしれない。
% sudo apt-get install libdvdcss2 % sudo apt-get install w32codecs(詳しくはMedibuntuのページを参照のこと)
うまくいかなかったので、もしやと思って以下の様にしたら幸せになった。
% sudo apt-get remove totem % sudo apt-get install mplayer gnome-mplayer上記は Medibuntu を有効にした状態でやった方がいいと思う。
gnome-mplayer はとてもシンプルで軽快なので自分の好みだった。
● emacs の設定
エディタは vi 一択なのだが、昔を懐かしく思う意味でも emacs の設定ぐらいはやっておきたい所。
下記のコマンドでインストール。
emacs-goodies-el なんていう便利でオシャレなパッケージがあるので、それを使ってしまう。
scim とか skk とかインストールするものが増えるのは嫌だったので、
標準にインストールされる iBus を漢字変換に使う ibus.el を PPA からインストール。
% sudo apt-get install emacs % sudo add-apt-get-repository ppa:irie/elisp % sudo apt-get update % sudo apt-get install emacs-goodies-el % sudo apt-get install ibus-el~/.Xresources に以下を追加
macs*font: Emacs*useXIM: falseフォントの設定は空でいい。
そして ~/.emacs.d/init.el に以下を設定。タブ幅は男らしく8で統一。
;;============================================================ ;; load path ;; ~/.emacs.d/site-lisp/ 下の全フォルダを展開して読み込む ;;============================================================ (setq load-path (append (list (expand-file-name "~/.emacs.d/site-lisp/") ) load-path)) ;;============================================================ ;; font ;; 直接入力は Inconsolata 日本語は Takaoゴシック ;;============================================================ (set-default-font "Inconsolata-12") (set-face-font 'variable-pitch "Inconsolata-12") (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("Takaoゴシック" . "unicode-bmp")) ;;============================================================ ;; keybind ;; C-h は常に backward-delete-char にする ;;============================================================ (global-set-key "\C-h" 'backward-delete-char) (global-set-key "\M-h" 'help-for-help) (global-set-key "\C-z" 'undo) (global-set-key "\M-g" 'goto-line) (define-key isearch-mode-map (kbd "C-h") 'isearch-delete-char) ;;============================================================ ;; display - init ;; 初期画面は飛ばして、大きさは 80x43 ;;============================================================ (setq inhibit-startup-message t) (setq default-frame-alist (append (list '(width . 80) '(height . 43) ) default-frame-alist)) ;;============================================================ ;; display - toolbar ;; ウィンドウのタイトルの表示と、メニューバー・ツールバーはOFF ;;============================================================ (setq frame-title-format (format "emacs@%s:%%f" (system-name))) (menu-bar-mode -1) (tool-bar-mode 0) ;;============================================================ ;; display - modeline ;; 時刻の表示はやめる ;;============================================================ (column-number-mode t) (line-number-mode t) ;(which-function-mode 1) ;(setq display-time-day-and-date t) ;(setq display-time-24hr-format t) ;(display-time-mode t) ;;============================================================ ;; buffer ;; カーソルの点滅をやめる ;; 対応する括弧に色をつける ;; 現在行に色をつける ;; 単一フレームの場合は行を折り返して表示する ;; 複数フレームの場合は行を折り返して表示しない ;; 1行ずつスクロールさせる ;;============================================================ (blink-cursor-mode 0) (show-paren-mode 1) (set-face-background 'show-paren-match-face "sky blue") (global-hl-line-mode) (set-face-background 'hl-line "lavender") (setq transient-mark-mode t) (set-face-background 'region "peach puff") (setq truncate-lines nil) (setq truncate-partial-width-windows t) (setq scroll-conservatively 35 scroll-margin 0 scroll-step 1) (setq comint-scroll-show-maximum-output t) ;;============================================================ ;; buffer list ;; C-x b でミニバッファにバッファの一覧を表示 ;; C-f/C-b で移動も出来る ;; 入力文字列がミニバッファに無ければ find-file ;; 選択中のバッファの内容をメインに表示 ;;============================================================ (iswitchb-mode 1) (add-hook 'iswitchb-define-mode-map-hook 'iswitchb-my-keys) (defun iswitchb-my-keys () (define-key iswitchb-mode-map "\C-f" 'iswitchb-next-match) (define-key iswitchb-mode-map " " 'iswitchb-next-match) (define-key iswitchb-mode-map "\C-b" 'iswitchb-prev-match) ) (defun iswitchb-possible-new-buffer (buf) "Possibly create and visit a new buffer called BUF." (interactive) (message (format "No buffer matching `%s', " buf)) (sit-for 1) (call-interactively 'find-file buf)) (defun iswitchb-buffer (arg) "Switch to another buffer." (interactive "P") (if arg (call-interactively 'switch-to-buffer) (setq iswitchb-method iswitchb-default-method) (iswitchb))) (defadvice iswitchb-exhibit (after iswitchb-exhibit-with-display-buffer activate) "display the selected buffer in main frame" (when (and (eq iswitchb-method iswitchb-default-method) iswitchb-matches) (select-window (get-buffer-window (cadr (buffer-list)))) (let ((iswitchb-method 'samewindow)) (iswitchb-visit-buffer (get-buffer (car iswitchb-matches)))) (select-window (minibuffer-window)))) ;;============================================================ ;; language ;; 日本語の設定 ;;============================================================ ;(set-locale-environment nil) ;(set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) ;;============================================================ ;; font lock mode ;; タブと全角空白に色を付ける ;; 行末の空白に色を付ける ;;============================================================ (global-font-lock-mode 1) (defface my-face-tab '((t (:background "white smoke"))) nil) (defface my-face-zspace '((t (:background "linen"))) nil) (defvar my-face-tab 'my-face-tab) (defvar my-face-zspace 'my-face-zspace) (defadvice font-lock-mode (before my-font-lock-mode ()) (font-lock-add-keywords major-mode '(("\t" 0 my-face-tab append) (" " 0 my-face-zspace append) ))) (ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode) (ad-activate 'font-lock-mode) (add-hook 'text-mode-hook '(lambda() (progn (font-lock-mode t) (font-lock-fontify-buffer)))) (setq-default show-trailing-whitespace t) (set-face-background 'trailing-whitespace "tomato") ;;============================================================ ;; line number ;; 行番号を付ける ;;============================================================ (require 'linum) (global-linum-mode) ;;============================================================ ;; tab ;; 各モードのタブ幅を8にする ;;============================================================ (setq-default indent-tabs-mode t) (setq-default tab-width 8) (add-hook 'python-mode-hook '(lambda() (setq indent-tabs-mode t) (setq indent-level 8) (setq python-indent 8) )) (add-hook 'sh-mode-hook '(lambda() (setq sh-basic-offset 8) (setq sh-indentation 8) )) ;;============================================================ ;; grep ;; 常にインクリメンタルサーチにする ;;============================================================ (require 'grep) (setq grep-command-before-query "grep -nH -r -e ") (defun grep-default-command() (if current-prefix-arg (let ((grep-command-before-target (concat grep-command-before-query (shell-quote-argument (grep-tag-default))))) (cons (if buffer-file-name (concat grep-command-before-target "*." (file-name-extension buffer-file-name)) (concat grep-command-before-target ".")) (+ (length grep-command-before-target) 1))) (car grep-command))) (setq grep-command (cons (concat grep-command-before-query ".") (+ (length grep-command-before-query) 1))) ;;============================================================ ;; backup file ;; バックアップファイルは作らない ;;============================================================ (setq backup-inhibited t) (setq delete-auto-save-files t) ;;============================================================ ;; dired ;; diredモードをもうちょっと良くする ;;============================================================ (require 'dired-x) (require 'wdired) (define-key dired-mode-map "r" 'wdired-change-to-wdired-mode) (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) ;;============================================================ ;; iBus ;; iBusの変換を C-o にする ;; 日本語モード、直接入力、変更不可の各場合のカーソル色を変える ;;============================================================ (require 'ibus) (add-hook 'after-init-hook 'ibus-mode-on) (ibus-define-common-key ?\C-o t) (setq ibus-cursor-color '("light pink" "black" "medium sea green")) ;;============================================================ ;; tab bar ;; バッファのリストをタブバーとして表示(見た目が良くないためやめる) ;;============================================================ ;(require 'tabbar) ;(tabbar-mode) ;;============================================================ ;; color mode ;; 使わない ;;============================================================ ;(require 'color-theme) ;(color-theme-hober) ;;============================================================ ;; clipboard ;; 選択するだけでクリップボードにコピーする ;;============================================================ (setq x-select-enable-clipboard t)まだ未完成。各モードでTabをCtrl-hで消そうとすると、これを一旦空白に変えて1個ずつ消してしまう。タブはタブとして一気に消してほしい。
● その他の設定ファイル
vi の設定。
タブ幅関連はやはり男らしく8。フレームの移動は Emacs 方式が分かり易い。
Emacs のようにタブやら改行を表示させようとも思ったが、見辛くなってしまうのでやめた。
~/.vimrc
set ts=8 sw=8 sts=0 set backspace=indent,eol,start set showmatch set nohlsearch "set list "set listchars=tab:>-,extends:<,trail:-,eol:< map <c-x>1 <c-w>o map <c-x>2 <c-w>s map <c-x>3 <c-w>v map <c-x>o <c-w>w
shell は昔からの慣れでなんとなく tcsh にしてしまう。(日本語の表示が tcsh じゃないとうまくいかない時代があったのだ!)
gnome-terminal の場合はロケールはデフォルトの ja_JP.utf8 でいいけれども
xterm の場合は C にしないと表示が乱れる。
Xwindows の場合は PWD をタイトルに表示したいが、コンソールの場合にこれをやるとプロンプトが乱れるので嫌だ。
後、数値を表示するコマンドはできる限り human-readable をつけ、削除は確認を入れる。
~/.tcshrc
setenv PATH /bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:${HOME}/bin:. setenv MANPATH /usr/share/man:/usr/local/man if ( !($?COLORTERM) ) then setenv LANGUAGE C setenv LANG C setenv LC_ALL C endif limit coredumpsize unlimited set autolist set ignoreeof set filec set history = 10000 set savehist = 100 set fignore=(.o .aux .toc) if ( ${TERM} == "xterm" ) then set prompt = "%{\033]0;%n@%m:%~\007%}%n@%m:%~ > " else set prompt = "%n@%m:%~ > " endif alias ls 'ls -F --color=auto --human-readable' alias ll 'ls -lFa --color=auto --human-readable' alias rm 'rm -i' alias mv 'mv -i' #alias diff 'diff -w' alias du 'du --human-readable' alias df 'df --human-readable' #alias grep 'grep -n'
●【参考】cifs マウントの話
Nautilus を使った samba マウントの文字化け対策は /etc/samba/smb.conf でいいのだが、普通に cifs でマウントしてファイルシステムとして使いたい、というのがある。
この時は smbfs をインストールしなければならない。
% sudo apt-get install smbfsコマンドでは以下の様になる
% sudo mount -t cifs //[server name]/[path] [mount point] -o username=[username],password=[password],iocharset=utf8,defaultsところがこれが文字化けする。
原因は smbfs が codepage を解釈しなくなったかららしい。
根本的な解決策は古い smbfs を使うか smbfs が再び codepage を解釈するのを待つしかないのだが、一応現時点でも解決策はある。
文字コードを変換する FUSE アプリを使えば良い。
% sudo apt-get install fuse-convmvfs使い方はこんな感じだ。
% sudo mount -t cifs //hoge.server/path /mnt/smb/hoge -o iocharset=utf8,defaults % sudo chmod 666 /etc/fuse.conf % sudo mkdir /mnt/convmvfs % sudo chmod 777 /mnt/convmvfs % convmvfs /mnt/convmvfs -o srcdir=/mnt/smb/hoge,icharset=cp932アンマウントは、
% fusermount -u /mnt/convmvfs % sudo umount /mnt/smb/hoge上記はやはり面倒くさいので、やはり Nautilus から呼び出す samba クライアントがいい。cd
0 件のコメント:
コメントを投稿