Yamamoto's Laboratory
Ubuntu
 16.04
 日本語 Remix
モバイル
   14.04
   16.04
   vmware
VMWARE

Ubuntu 16.04 のインストール

iso ファイルをダウンロードし,それを DVD に書き込みインストールします.

起動用のデバイスの作成

Ubuntu 16.04 をインストールするディスクを用意します.雑誌の付録を使っても良いし,ネットからダウンロードすることもできます.ここでは,ネットからダウンロードし,起動用のディスクの作成する二通りの方法を示します.Windows 10 で DVD を作成する方法と Ubuntu 16.04 で 起動用の USB メモリーを作成する方法です.

DVDの作成 (Windows 10)

Windows 10を使い起動 DVD を作成します.その手順は以下の通りです.

  1. Ubuntu Desktop 日本語 Remixのダウンロードから,必要なファイルをダウンロードします.私は,「ubuntu-ja-16.04-desktop-amd64.iso (ISOイメージ)」をダウンロードしました.
  2. DVD をPCに挿入します.そして,ダウンロードしたファイル「ubuntu-ja-16.04-desktop-amd64.iso」右クリックし,ディスクイメージの書き込み を選択します.すると,ディスクイメージが書き込まれます.

以上で起動用の DVD の作成は完了です.

USBメモリーの作成 (Ubuntu)

まずは,usbメモリーに インストール用の 16.04 の準備をします.ここでは,他の PC で稼働している Ubuntu 16.04 を使い起動 USB メモリーを作成します.その手順は以下の通りです.

  1. Ubuntu Desktop 日本語 Remixのダウンロードから,必要なファイルをダウンロードします.私は,「ubuntu-ja-16.04-desktop-amd64.iso (ISOイメージ)」をダウンロードしました.
  2. 2Gバイト以上のusbメモリーを Ubuntu の PCに差し込んで,ブータブル USB を作成します.usb メモリーを差し込んで,メニューの アプリケーション > システムツール > Administration > ブータブルUSBの作成 を選択します.すると,ダイアログ「ブータブル USB ディスクの作成」が現れます.
    • 「書き込み元のディスクイメージ (.iso):」として,ダウンロードした「ubuntu-ja-16.04-desktop-amd64.iso」を選択します.
    • 「使用するディスク:」は差し込んだ USB メモリーになっているはずです.
    そして,ブータブルUSBの作成 をクリックします.
  3. メッセージ「ディスクイメージをこのデバイスに書き込んでもよろしいですか? 既存のデータはすべて失われます。」が現れます.はい(Y) をクリックします.
  4. 「ディスクイメージを書き込んでいます」が現れます.書き込みにはしばらく時間がかかります.
  5. 「インストールが完了しました」と表示されたら完了です.終了(Q) をクリックします.

以上で,インストール用の起動 USB の作成が完了です.

インストール

起動用の DVD or USBメモリーを使い,Ubuntu 16.04 をインストールします.私の PC は USB メモリーのブートは不可だったので,DVD の方を使いました.

  1. 自分のホームディレクトリーとバックアップ用のディレクトリーのあるハードディスクを PC から切り離します (SATAの線を取り外すだけ).私は OS を入れるディスクとこれらのディスクを分けています.
  2. DVD (or USB メモリー) をインストールする PC に差し込みます.
  3. PC の電源を ON します.パワーオンセルフテスト中,Dell のロゴが表示された時に,F2 を押してシステムセットアップ (BIOS設定) にアクセスします.
    • Boot Sequence で,CD/DVD/CD-RW Drive を最上位にします.
  4. BIOS の設定を終了すると,DVD からの起動が始まります.
  5. Ubuntu が起動しますので,インストールボタンをクリックします.
  6. 質問に答えて,インストール作業を進めます.
  7. しばらくすると,インストールが終了します.そして,再起動が促されますので,再起動をします.その時に,DVD を取り外します.

ハードディスクを元に戻す

OS (Ubuntu 16.04) インストール時の取り外したハードディスクを元に戻します.

取り付け

PCの電源が OFF の時に SATA の線を元に戻します.そして,PCを起動すると,ハードディスクが認識されます.ブート時に fsck が延々と続く場合は,キー s を連打します.すると,fsck がスキップされます.

マウントポイントの設定

接続したハードディスクのマウントポイントを設定します.

  1. ハードディスクの情報を確認します.マウントするディスクが決まれば,その UUID を調べます.
    $ sudo blkid
    とします.UUID とファイルタイプが表示されますので,メモします.
  2. /etc/fstab」に,以下のように記述します.
    UUID=f3ea7423-33f0-46db-a1c0-c1accbcc73e1 /home ext4 defaults 0 2
    UUID=44210bd6-d024-4536-a5a3-820406eb2b8e /home/yamamoto/Backup/hdd_01 ext4 defaults 0 2
    UUID=b7a9f266-6a34-46ea-b46c-585e64813050 /home/yamamoto/Backup/hdd_02 ext4 defaults 0 2
    これは指定した UUID の指定したデバイスを「/home」にマウントします.ext4 はファイルタイプです.その他のオプションについては,「fstab」を参考にしてくだい.後ろから二番目のオプションは dump するか否かの指定です.0 の場合は dump 不要の場合です.最後のオプションは,ブート時のファイルシステムのチェック (fsck) の実行の有無です.0: チェックを実行しない,1:ルートファイルシステムでチェック,2:ルートファイル以外でチェックする.複数のハードディスクがある場合は,それぞれ記述します.

デスクトップの設定 (Metacity)

私は派手なウインドウマネージャーは嫌いで,ちょと古臭い Matacity-Motif がお気に入りです.その設定方法を示します.

インストール

クラッシックな環境

まずは,クラッシクなデスクトップを使うために,以下をインストールします.

$ sudo apt update
$ sudo apt install gnome-session-flashback

GNOME 設定ツール

GNOME の設定ツールである gnome-tweak-tool と unity-tweak-tool をインストールします.unity-tweak-tool だけでも良いかもしれません.

$ sudo apt install gnome-tweak-tool
$ sudo apt install unity-tweak-tool

テーマ (Metacity-Motif)

以前の Metacity-Motif にバグがあったのかどうかは分かりませんが,2016/04/15 にファイルがアップデートされています.最新版をダウンロードしましょう.

  1. GNOME-LOOK.ORGMetacity-Motifの Files(1)をクリックします.「75972-Metacity-Motif.tar.bz2」をクリックします.すると,「75972-Metacity-Motif.tar.bz2」をダウンロードするダイアログが現れますので,ファイルを保存するのラジオボタンを選択して,「OK」ボタンをクリックします.
  2. ダウンロードしたディレクトリーに移動して,以下のコマンドで解凍します.すると,「Metacity-Motif」というディレクトリーができあがります.
    $ tar jxvf 75972-Metacity-Motif.tar.bz2
  3. 解凍により作成されたディレクトリー「Metacity-Motif」を「~/.local/share/themes」にコピーします.
    $ cp -r  Metacity-Motif ~/.local/share/themes/

カラーテーマ

RAVEfinity(Open Source Design Project)Download Ambiance & Radiance Colors のページに示されている Ambiance と Radiance に様々な色のテーマをインストールします.

$ sudo add-apt-repository ppa:ravefinity-project/ppa
$ sudo apt-get update
$ sudo apt-get install ambiance-colors radiance-colors

設定

インストールが完了したら,設定を行います.

  1. デスクトップ環境を設定します.
    1. PCを再起動します.
    2. ログイン画面で Ubuntu のマーク (丸っこいやつ) をクリックし,「GNOME Flashback (Metacity)」を選択します.
    3. パスワードを入力し,ログインします.
  2. Metacity-Motifを設定します.
    1. 理由はわかりませんが,Ubuntu 16.04 にインストールされる tweak tool のテーマのウインドウの設定がありません.コマンドラインで,設定します.
      $ gsettings set org.gnome.metacity theme Metacity-Motif
  3. 画面の設定
    1. メインメニューの アプリケーション > システムツール > Preference > Unity Tweak Tool を選択します.
    2. 概観のテーマを選択し,設定を行います.私の設定は以下のとおりです.
      設定名 設定値
      GTKのテーマ Radiance-xfce-lxde-blue-spring
      ウィンドウ装飾テーマ Radiance-xfce-lxde-blue-spring
      アイコン Ubuntu-mono-light
      カーソル DMZ-Black

システムの設定

Ubuntu 16.04 の様々な設定を行います.

ネットワークの設定

ここでは,固定 IP を設定します.

まずはじめに,コマンド「ip a」を用いてネットワークインターフェースの名前を調べます.

#  ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eno1:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 90:b1:1c:8a:bc:80 brd ff:ff:ff:ff:ff:ff
   inet 192.168.1.61/24 brd 192.168.1.255 scope global eno1
   valid_lft forever preferred_lft forever
   inet6 2400:4050:b061:d900:92b1:1cff:fe8a:bc80/64 scope global mngtmpaddr dynamic 
   valid_lft 14299sec preferred_lft 12499sec
   inet6 fe80::92b1:1cff:fe8a:bc80/64 scope link 
   valid_lft forever preferred_lft forever

ネットワークインターフェース名は,eno1 です.これが分かったら,ネットワークの設定ファイル「/etc/network/interfaces」を編集します.私の設定は,以下のとおりです.

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
address 192.168.1.61
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4

Happy Hacking Keyboard 設定

Happy Hacking Keyboard Professional 2 Type-S (以降,HHK) の英語配列キーボードを設定します(参考).

本体の DIP スイッチ

まずは,キーボード背面の DIP スイッチを設定します.私は [Delete] キーよりも [BS] を多用しますので,それを入れ替えます.DIP スイッチの 3 (SW3) を ON (上に) にします.その他は,OFF です.これは私の好みなので,読者は適当に設定してください.

Happy Hacking Keyboard の背面
図1: Happy Hacking Keyboard の背面

Ubuntu への登録

以下のコマンドを実行することで Ubuntu に HHK キーボードを登録します.

$ sudo dpkg-reconfigure keyboard-configuration

私の設定は以下のとおりです.

項目設定
モデル Happy Hacking
由来する国 英語 (US)
レイアウト 英語 (US)
AltGr として機能 AltGr キーなし
コンポーズキー なし
Xサーバーの強制終了 Control+Alt+Backspace を使う

キー配列の変更

デフォルト設定では,左右のメタキー () が Muhenkan と Henkan_Mode になっています.こんなキーは使わないので,元のメタキーに戻します.せっかくの英語キーボードなので,こんな野暮ったいキーは変更です.

Happy Hacking Keyboard Professional 2 キーボード配列
図2: Happy Hacking Keyboard Professional 2 キーボード配列

キーアサインは,コマンド「xev」で確認できます.これを実行すると,event tester というウインドウが開きますので,そこでキーを押すとキーコードやキーシンボルを調べることができます.

Ubuntu での HHK の設定
キー キーコード キーシンボル
変更前 変更後
左のメタ () 102  0xff22, Muhenkan 0xffe7, Meta_L
右のメタ () 100  0xff23, Henkan_Mode 0xffe8, Meta_R

メタキーが問題なんで,xev で左右のメタキーの詳細を調べます.すると左のメタキーは「keycode 102 (keysym 0xff22, Muhenkan)」,右は「keycode 100 (keysym 0xff23, Henkan_Mode)」となっていることがわかります.これでキーボードのキーと (キーコード, キーシンボル) の対応がわかります.システムのキーコードとキーシンボルの関係は,コマンド「xmodmap -pke」で調べることもできます.修飾キーは,コマンド「xmodmap」です.

キーコードとキーシンボルとの関係は,ファイル「~/.Xmodmap」に記述します.

keycode 102 = Meta_L
keycode 100 = Meta_R

そして,以下のコマンドで設定を反映させます.~/.bashrc などにこのコマンドを記述すると起動時に設定が反映されます.

$ xmodmap ~/.Xmodmap

設定が消えないように

原因は不明ですが,xmodmap の設定が効かなくなることがあります.私の場合,emacs でしばしば発生しました.

  1. dconf-editor を起動します.コマンドは「dconf-editor」です.
  2. econf エディターの設定スクリーンが表示されます.左側に表示されるツリーから org > gnome > settings-daemon > plugins > keyboard を表示させます.
  3. そして,active のチェックマークを外します.
  4. dconf エディターを閉じます.

samba クライアント設定

自宅の WEB サーバー(192.168.1.81)の「/home/yamamoto」を「~/www_server/yamamoto」にマウントしますす.samba の設定は「自宅サーバー(ubuntu server Samba)」を参照ください.

準備

cifs を samba のクライアントとして使います.そのため,cifs-utils をインストールします.

$ sudo apt-get install cifs-utils

マウントポイントをホームディレクトリー直下の www_server とします.マウントポイント用のディレクトリーを作成が必要です.

$ mkdir www_server
$ cd www_server
$ mkdir yamamoto

テンポラリー接続

これで,サーバー(192.168.1.81)の「/home/yamamoto」がクライアントの「~/www_server/」にマウントできます.テンポラリーにマウントするコマンドは,次のとおりです.

$ cd
$ sudo mount -t cifs -o user=yamamoto //192.168.1.81/yamamoto www_server/yamamoto/
Password: パスワードを入れる

起動時にマウント

毎回手動でマウントするのもやっかいなので,起動時にマウントするようにします.以下を「/etc/fstab」に追記します.再起動すると,「//192.168.1.81/yamamoto」を「/home/yamamoto/www_server_yamamoto/」にマウントします.

//192.168.1.81/yamamoto /home/yamamoto/www_server/yamamoto/ cifs uid=yamamoto,username=yamamoto,password=パスワード,rw 0 0

すぐに反映

再起動しないで,「/etc/fstab」の設定を反映させるコマンドは以下のとおりです.

$ sudo mount -a

アンマウント

必要ないとは思いますが,アンマウントしたい場合は,以下のようにします.

$ sudo umount ~/www_server/yamamoto

Windows の共有ファイル

Windows 10 の設定

Windows 10 側は以下のように設定します.私はデータ用のディスク全体 (E ドアライブ) を共有ファイルにします.

  1. ファイルマネージャー(エクスプローラー)を起動します.そして,共有したいディスクを選択し,右クリックでプロパティ(R)を選択します.すると,ダイアログ「ローカルディスク (E:) のプロパティ」が現れます.
  2. そして,共有のタブをクリックします.そして,以下のとおりに設定します.
    • 「詳細な共有(D)」をクリックします.
    • ダイアログ「詳細な共有」が現れます.
      • 「このフォルダーを共有する(S)」をチェックします.
      • 追加(A) をクリックします.そして,共有名(例: Win10-E)と説明(lagrange E:),ユーザー数制限を記載します.設定後, OK をクリックします.
      • アクセス許可(P) をクリックします.そして,グループ名またはユーザー名,アクセス許可を設定します.設定後, OK をクリックします.
    • 適用 をクリックします. OK をクリックし,ダイアログを閉じます.

Ubuntu の設定

理由は分かりませんが,Ubuntu のメニューの 場所 > ネットワーク > Windows ネットワーク > ワークグループ名 をクリックしても,Windewos の共有フォルダーが見えなくなりました.図3のように,「要求された場所にアクセスできません.サーバーからの共有リストを取得できませんでした:接続がタイムアウトされました」と表示されるようになってしまいました.

windows 接続エラー.「要求された場所にアクセスできません.サーバーからの共有リストを取得できませんでした:接続がタイムアウトされました」と表示
図3: windows 接続エラー

何か,設定に問題がありそうですが,調べるのも面倒です.間に合わせですが,次のようにして,Windows のフォルダーを共有します.Ubuntu のメニューの 場所 > サーバーへ接続 を選択します.すると,ダイアログ「サーバーへ接続」が現れますので,サーバーアドレス「smb://192.168.1.62/」とタイプします.そして,接続する(O)をクリックします.すると,Windows のフォルダーが見えるはずです.

ドライブのマウント

以下のコマンドで,Windows 10 のドライブをマウントできます.

$ sudo mount -t cifs -o username=XXXX,password=YYYY,vers=3.0 //192.168.1.62/e /home/yamamoto/lagrange/

XXXX がユーザー名で,YYYY がパスワードです.「//192.168.1.62/e」は Windows のドライブ/ディレクトリーで,「/home/yamamoto/lagrange/」はマウントポイントです.アンマウントコマンドは,以下のとおりです.

$ sudo umount /home/yamamoto/lagrange/

/etc/fstab に以下のように記述すると,起動時にマウントされます.

//192.168.1.62/e /home/yamamoto/lagrange/ cifs uid=XXXX,username=XXXX,password=YYYY,vers=3.0

様々な設定

  • デフォルトの bash のプロンプトは,深いディレクトリーでは長くなりすぎて煩わしいです.このプロンプトは,環境変数 $PS1 で決められています.コマンド「echo $PS1」で内容を調べることができます.この環境変数はファイル「.profile」で決められ,ユーザーによる修正も可能です.ただし,bash を使っている場合は,このファイルでは設定できません.bash を使っている私は,「.bashrc」に記載しました.以下のようにするとこれで長ったらしいパス名が表示されることはなくなりました.
    if [ "$color_prompt" = yes ]; then
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    else
        #    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
        PS1='[${debian_chroot:+($debian_chroot)}\W]\$ '
    fi
  • Ubuntu での作業は,もっぱら CUI (コマンドライン入力) なので,ディレクトリー名が日本語(カタカナ)だと,面倒です.そこで,英語に変更します.以下のコマンドを入力すると,
    $ LANG=C  xdg-user-dirs-gtk-update
    4が現れます.「Don't ask me this again」をチェックして,[Update Names]を押すと,ディレクトリー名が英語になります.再設定するつもりで,コマンド「LANG=C xdg-user-dirs-gtk-update」を実行しても,今度は何も起こりません.再設定するためには,(1)~/.config/user-dirs.dirs を削除し,(2)再ログインする必要があります.
    ホームでレクトリーの標準ディレクトリーの言語設定
    図4: ホームでレクトリーの標準ディレクトリーの言語設定

サーバー設定

Synergy

ひとつの机で複数のPCを使っている場合,キーボードとマウスが共用できる Synergy が便利です.一組のキーボードとマウスで,複数の PC を操作することができます.Linux と Windows,Mac のように異なった OS 間でも,共用が可能です.

インストール

ここでは Synergy 1.8.3 をダウンロードし,設定します.インストール方法は以下のとおりです.だだし,有料ですので事前に登録する必要が有ります.

  1. Synaptic パッケージマネージャで,libssl1.0.0をインストールします.
  2. Synergy のWEBサイトにログインし,ダウンロードサイトに行き Ubuntu 64-bit バージョンをダウンロードします.ダウンロードするべきファイルは,synergy-v1.8.3-stable-db9181b-Linux-x86_64.deb です.最新の「synergy_1.10.0.stable_b33+275cdc1c_ubuntu_amd64.deb」はインストールに苦労します(私は諦めました).
  3. インストールコマンドは,以下のとおりです.
    $ sudo dpkg -i synergy-v1.8.3-stable-db9181b-Linux-x86_64.deb

設定

キーボードとマウスをシェアーするPCを定義します.定義ファイルは,「~/.synergy.conf」に保管できます.私の定義ファイルは,以下のとおりです.この内,「ThinkPad-E145」と「lagrange」は Windows 10 です.これらの Windows PC では,meta と alt キーを入れ替えています.Windows で Emacs を使うためです.Windows の Emacs のメタキーは alt に割り当てられます.Happy Hacking Keyboard の◇をメタキーとして使うことができます.

section: screens
         ThinkPad-E145:
                meta = alt
                alt = super
         masashi:
         lagrange:
                meta = alt
                alt = super
end
section: links
         ThinkPad-E145:
                right = masashi 
         masashi:
                left  = ThinkPad-E145
                right = lagrange
         lagrange:
                left  = masashi
end
section: aliases
        ThinkPad-E145:
                192.168.1.66
        masashi:
                192.168.1.61
        lagrange:
                192.168.1.62
end

サーバーの自動起動

Ubuntu で Synergy サーバー を自動起動できるようにします.

  1. 自動起動の設定画面を表示させます.メインメニューの アプリケーション > システムツール > Preferences > 自動起動するアプリケーション を選択します.
  2. ダイアログ「自動起動するアプリケーションの設定」が現れます.
    1. 追加(A)をクリックします.
    2. ダイアログ「自動起動するプログラムの編集」で,以下のように設定を行います.
      項目 設定
      名前(N): 何でもOK.例: Synergys
      コマンド(M): synergys -c /home/yamamoto/.synergy.conf
      説明(E): 何でもOK.例: start synergys
    3. 最後に,閉じる(C)をクリックします.

クライアントの自動起動

Ubuntu で Synergy クライアントを自動起動できるようにします.これは簡単でコマンド「synergyc アドレス」を起動時に自動的に実行させるだけです.アドレスは,IPアドレスかホスト名です.

  1. 自動起動の設定画面を表示させます.メインメニューの アプリケーション > システムツール > Preferences > 自動起動するアプリケーション を選択します.
  2. ダイアログ「自動起動するアプリケーションの設定」が現れます.
    1. 追加(A)をクリックします.
    2. ダイアログ「自動起動するプログラムの編集」で,以下のように設定を行います.
      項目 設定
      名前(N): 何でもOK.例: Synergy クライアント
      コマンド(M): synergyc 192.168.1.62
      説明(E): 何でもOK.例: Synergy クライアントの起動
    3. 最後に,閉じる(C)をクリックします.

samba

私は,Windows と Linux(Ubuntu) の2つの OS を複数の PC で使っています.これらの間でのデータの共有が問題になります.今のところの解決策は,Ubuntu の Samba サーバーを使ったファイル共有です.

インストール

以下のコマンドで,インストールできます.

$ sudo apt-get install samba

私のシステムにインストールされたバージョンは,「Version 4.3.11-Ubuntu」のようです.コマンド「sudo smbd -V」でバージョンを調べることができます.

設定 (smb.conf)

設定パラメーターは,/etc/samba/smb.conf に記述します.デフォルトのファイルに説明が書かれていますが,英文なのでいまいち分かり難いにくいです.英文の説明を省きた私の設定です.

[global]
## Browsing/Identification ###
   workgroup = YAMAMOTO
   server string = %h server (Samba, Ubuntu)
   dns proxy = no

#### Networking ####
   interfaces = 127.0.0.0/8 eno1
   bind interfaces only = yes

   hosts deny = all
   hosts allow = 127.0.0.0/8 192.168.1.61 192.168.1.62 192.168.1.66

#### Debugging/Accounting ####
   log file = /var/log/samba/log.%m
   max log size = 1000
   panic action = /usr/share/samba/panic-action %d

####### Authentication #######
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = Never

########## Domains ###########

############ Misc ############
   usershare max shares = 100
   usershare allow guests = no

#
[yamamoto]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0644
   directory mask = 0755
   path = /home/yamamoto
   writeable = yes
   guest ok = no

私が設定ではまったのは,8行目の「interfaces = 127.0.0.0/8 eno1」です.以前はネットワークカードは eth0 のように,記述されていました.それが変わり,和田区の場合は「eno1」でした.これはPCによって変わります.それは,コマンド「ifconfig」で調べることができます.

設定後は,以下のコマンドで設定を確認をします.

$ sudo testparm

エラーがでなければ,設定完了です

ユーザーの追加

Ubuntu 14.04 では,Linux のアカウントとパスワードで samba に接続できましたが,Ubuntu 16.04 では別途設定する必要があるようです.そのために,pdbedit という samba ユーザーのデータベースを関するツールを使います.

$ sudo pdbedit -a -u yamamoto

パスワードが聞かれますので,適当に答えます.

ランレベルの設定

自動的に samba を起動させるために,ランレベルの設定を行います.ランレベルの設定のために,sysv-rc-conf をインストールします.インストールコマンドは,「 sudo apt-get install sysv-rc-conf」です.インストール後,コマンド「 sudo sysv-rc-conf」で起動します.そして,以下のようにランレベル 2, 3, 4, 5 で起動するように設定します.h ボタンを押すとヘルプが起動しますので,操作方法がわかります.

┌ SysV Runlevel Config   -: stop service  =/+: start service  h: help  q: quit ┐
│                                                                              │
│ service      1       2       3       4       5       0       6       S       │
│ ---------------------------------------------------------------------------- │
│ nmbd        [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]      │
│ samba       [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]      │
│ smmba-ad-$  [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]      │
│ smbd        [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]      │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ Use the arrow keys or mouse to move around.      ^n: next pg     ^p: prev pg │
│                        space: toggle service on / off                        │
└──────────────────────────────────────────────────────────────────────────────┘

クライアント側

クライアント側の設定は,samba クライアントの再設定クライアント側の設定を参考にしました.

日本語関係

私の日本語環境は,日本語変換システム (IME: Input Method Engine) は「Mozc」,キーボード入力システム (IM: Input Method) は「fcitx」,エディターは「Emacs」を使っています.ただし,Emacs のみ,IM は emacsmozc です.

日本語の設定

以前の日本語入力は IBus + Anthy でしたが,16.04 では Fcitx + Mozc です.ちゃんと日本語が使えるように設定が必要です.私は以下のようにして設定しました.

  1. 不完全な言語サポートの修正.右上のアイコンをクリックし,システム設定 > 言語サポート を選択します.すると,「言語サポートが完全にはインストールされていません」と表示されます.インストール(I)をクリックします.
  2. インストールが完了すると,ダイアログ「言語サポート」が現れます.そして,キーボード入力に使うIMシステムを Fcitx にします.
  3. ここで,PCをリスタートします.起動すると,右上の方にキーボードのアイコンが現れます.
  4. メインメニューの アプリケーション > システムツール > Preferences > Fcitx を選択します.すると,ダイアログ「入力メソッドの設定」が現れます.各々のタグは以下のとおりに設定します.説明の図をクリックすると拡大されます.
    • 入力メソッド は,「キーボード-英語(US)」と「Mozc」となっていれば OK です (参照: 図6).異なっている場合は,下のボタンで追加・削除ができます.
    • 全体の設定 の入力メソッドのオンオフは,ふたつとも[Shift+Space]にします(お好みで).その他については,図6
    • 外観 は,そのままでも問題ないでしょう (参照: 図7).
    • アドオン もそのままです.
    ダイアログを閉じたら,設定は完了です.

図5: 入力メソッドの設定

図6: 全体の設定

図7: 外観

Emacs

ここでは,Emacs で Mozc を使うための設定を示します.まずは,Emacs のバージョンを確認します.Emacs を起動した状態で「M-x emacs-vesion」とタイプします.私が使っているバージョンは「GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7) of 2014-03-08 on lamiak, modified by Debian」です.以下は,この Emacs についての設定です.

mozc 設定

理由は分かりませんが,fcitx などの IM (XIM?)を使うと,Emacs 上で日本語のインライン変換ができません (?).そこで,インライン変換が可能な emacs-mozc をインストールします.

$ sudo apt-get install emacs-mozc

Emacs で emacs-mozc を使うために,Emacs の初期設定ファイル「~/.emacs.d/init.el」に以下の記述を追加します.ただし,「 ~/.emacs」あるいは「~/.emacs.el」を使っている場合は,これらに記述します.要するに,優先度の高い初期設定ファイルに記述しなくてはならないということです,

(require 'mozc)(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")

この設定が反映されると,Emacs 上でキー[Control]+[\] を押すことで日本語入力の On/Off ができます.しかし,このままでは,XIM の起動も可能なので,厄介なことが起きます.XIM では,インライン変換できません.そこで,Emacs では XIM の起動を抑制するために,「~/.Xresources」に以下を記述します.

emacs.useXIM:false

この設定は,システムを再起動しても反映されません.この設定を反映させるためには,以下のコマンドを実行する必要があります.

$ xrdb ~/.Xresources

システム再起動後,Emacs では [Control]+[\] でのみ emacs-mozc の IM が On/Off します.私の場合,Macintosh の漢字トーク 6.x の時代から [Shift]+[space] に指が慣れているで,初期設定ファイル「~/.emacs.d/init.el」に以下を追加します.

(global-set-key (kbd "S-SPC") 'toggle-input-method)
(add-hook 'mozc-mode-hook
   (lambda()
      (define-key mozc-mode-map (kbd "S-SPC") 'toggle-input-method)))

この設定により,Emacs 上ではキー[Shift]+[space]で日本語変換の On/Off ができます.以上で設定は完了です.

フォント

最初からインストールされる日本語フォントはいまいちです.そこで,Synaptic パッケージマネージャで takao フォントをインストールします(図8).

図8: takao フォントのインストール

Emacs の表示フォントの設定は,ウィンドウから設定と init.el に記載のふた通りが有ります.前者では,Emacs のウインドウのメインメニューの Options > Set Default Font から,選択します.私の場合,選択ができその時は反映されるのですが,再度ファイルを読み込むとダメでした.

そこで,init.el に記述することにしました.選択可能なフォントは,先ほどのウインドウのメインメニューの Options > Set Default Font で確認できます.そして,良さそうなフォントを選んで,以下のように設定しました.

(set-fontset-font t 'japanese-jisx0208 "TakaoPGothic")

設定ファイル

以下に,私の Emacs の設定ファイル init.el を示します.

;================================================================
; いろいろな設定
;================================================================
(global-set-key [delete] 'delete-char)
(global-set-key [kp-delete] 'delete-char)

(global-font-lock-mode t) ;文字装飾(カラー強調)
(setq-default transient-mark-mode t) ;リージョンのハイライト

(setq require-final-newline t)  ;最後に改行を追加

;; stop at the end of the file, not just add lines
(setq next-line-add-newlines nil)

(when window-system
  (mwheel-install)   ;enable wheelmouse support by default
;; use extended compound-text coding for X clipboard
  (set-selection-coding-system 'compound-text-with-extensions)
)


(global-set-key [(ctrl z)] 'undo)  ;undoの設定

;; 起動時の画面を非表示にする
(setq inhibit-startup-message t)

;; load pathの追加
(setq load-path (append (list
       (expand-file-name "/usr/local/share/emacs/site-lisp")
                         )
                        load-path))

(setq load-path (append (list
       (expand-file-name "/usr/share/emacs/25.2/site-lisp")
                         )
                        load-path))
(setq load-path (append (list
      (expand-file-name "/usr/share/emacs/site-lisp")
                         )
                        load-path))
(setq load-path (append (list
      (expand-file-name "/home/yamamoto/.emacs.d/site-lisp")
                         )
                        load-path))
(setq load-path (append (list
      (expand-file-name "/home/yamamoto/.emacs.d/site-lisp/yatex")
                         )
                        load-path))

;;http://www.naney.org/diki/d/2014-07-23-Emacs-global-auto-revert-mode.html
(global-auto-revert-mode t)

;================================================================
; 日本語環境の設定
;================================================================
;(require 'un-define)
(set-language-environment "japanese")  ;; 日本語環境の設定
(set-default-coding-systems 'utf-8)
(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)
(prefer-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)
;(setq x-select-enable-clipboard t)

;----------------------------------------------------------------
;; 全角スペース・タブを目立つように表示する
;;http://www2.hyo-med.ac.jp/~tanimura/Ubuntu/UbuntuTrusty.html#sec17
;-----------------------------------------------------------------
(require 'whitespace)
(cond (window-system
     (setq whitespace-style            ; 必要な物を登録する tabsは登録しない
           '(face                       ; faceで可視化
;             spaces                     ; 空白
;             newline                    ; 改行
             space-mark                 ; 表示のマッピング
             newline-mark               ; 改行のマッピング
             ))
     (setq whitespace-space-regexp "\\( +\\|\u3000+\\)")
     (setq whitespace-display-mappings
           '(
             (space-mark ?\u3000 [?\u25a1])  ; 全角空白を に
;             (newline-mark 10 [9166 10])      ; 改行マーク
             ))
     (global-whitespace-mode 1)
     (set-face-attribute 'whitespace-space nil
                         :background "white"
                         :foreground "gray80"
                         :underline t)
     ))

;================================================================
; Mozc 設定
;================================================================
; http://compress.hatenadiary.com/entry/2014/02/24/001932
(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
;
; set input method toggle key to 'Shift-Space'
(global-set-key (kbd "S-SPC") 'toggle-input-method)
(add-hook 'mozc-mode-hook
  (lambda()
    (define-key mozc-mode-map (kbd "S-SPC") 'toggle-input-method)))


;================================================================
; モードの設定
;================================================================
(setq auto-mode-alist
      (append
       '(
     ("\\.h$"    . c++-mode)
     ("\\.txt$"  . text-mode)
     ("\\.tex$"  . yatex-mode)
     ("\\.sty$"  . yatex-mode)
     ("\\.html$"  . web-mode)
     ("\\.htm$"  . web-mode)
     ("\\.php$"  . web-mode)
     ) auto-mode-alist
       )
)

;==========================================================
; web-modeの設定
;        参考: http://yanmoo.blogspot.jp/2013/06/html5web-mode.html
;;==========================================================
(require 'web-mode)
(defun web-mode-hook ()
  "Hooks for Web mode."
  ;; 変更日時の自動修正
  (setq time-stamp-line-limit -200)
  (if (not (memq 'time-stamp write-file-hooks))
      (setq write-file-hooks
            (cons 'time-stamp write-file-hooks)))
  (setq time-stamp-format " %3a %3b %02d %02H:%02M:%02S %:y %Z")
  (setq time-stamp-start "Last modified:")
  (setq time-stamp-end "$")
  ;; web-modeの設定
  (setq web-mode-pre-elements nil)       ;; content inside <code>,<pre>,<textarea> is not indented any more
  (setq web-mode-markup-indent-offset 2) ;; html indent
  (setq web-mode-css-indent-offset 2)    ;; css indent
  (setq web-mode-code-indent-offset 2)   ;; script indent(js,php,etc..)
  (setq web-mode-comment-style 2)
  )

(add-hook 'web-mode-hook  'web-mode-hook)
;; 色の設定
(custom-set-faces
 '(web-mode-doctype-face
   ((t (:foreground "#82AE46"))))                          ; doctype
 '(web-mode-html-tag-face
   ((t (:foreground "#E6B422" :weight bold))))             ; 要素名
 '(web-mode-html-attr-name-face
   ((t (:foreground "#CCFF00"))))                          ; 属性名など
 '(web-mode-html-attr-value-face
   ((t (:foreground "#87ceeb"))))                          ; 属性値
 '(web-mode-comment-face
   ((t (:foreground "#FF7F50"))))                          ; コメント
 '(web-mode-server-comment-face
   ((t (:foreground "#FF7F50"))))                          ; コメント
 '(web-mode-css-rule-face
   ((t (:foreground "#A0D8EF"))))                          ; cssのタグ
 '(web-mode-css-pseudo-class-face
   ((t (:foreground "#FF7F00"))))                          ; css 疑似クラス
 '(web-mode-css-at-rule-face
   ((t (:foreground "#FF7F00"))))                          ; cssのタグ
)


;================================================================
; color設定
;================================================================
(setq default-frame-alist 
      (append 
       (list 
    '(mouse-color . "red");
    '(foreground-color . "bisque1") ; 文字の色
    '(background-color . "dark slate gray") ; 背景の色
    '(width . 90)                 ; ウインドウの幅
    '(height . 65)                ; ウインドウの高さ
    '(top . 0)                    ; ウインドウ上端の位置
    '(left . 5)                   ; ウインドウ左端の位置
    '(vertical-scroll-bars . t)   ; スクロールバーを出す
       )
      default-frame-alist)
)


;=====================================================================
; フォント設定
;=====================================================================
(set-fontset-font t 'japanese-jisx0208 "TakaoPGothic")
;(add-to-list 'default-frame-alist '(font . "Noto Sans CJK JP DemiLight-11" ))

;=====================================================================
; カーソルの種類
;=====================================================================
(setq default-frame-alist
      (append '(
        (cursor-color . "GreenYellow")         ;; 色
        (cursor-type . (bar . 2))      ;; 形
               )
              default-frame-alist)
)

;=====================================================================
; modeline に行数と桁数を表示
;=====================================================================
(line-number-mode t) 
(column-number-mode t)


;=================================================================
; 全てのバックアップファイルを/tmp以下に保存する。
;http://satosan.jp/CustomizeEmacs.html
;=================================================================
(defun make-backup-file-name (filename)
  (expand-file-name
    (concat "/tmp/" (file-name-nondirectory filename) "~")
    (file-name-directory filename)))


;=====================================================================
; 辞書の設定
;=====================================================================
(setq ispell-dictionary "US-xlg")

;=====================================================================
;自動改行(auto-newline)を有効にする 改行後 M-q
;=====================================================================
(setq text-mode-hook 'turn-off-auto-fill)
(setq auto-fill-mode nil)


;=====================================================================
; #filename というバックアップファイルを作らない
;=====================================================================
(setq make-backup-files nil)

;=====================================================================
;   ツールバーの設定
;=====================================================================
(tool-bar-mode -1)   ;M-x tool-bar-mode で表示非表示を切り替え

;=====================================================================
;  yatex の設定
;    http://d.hatena.ne.jp/supermassiveblackhole/20090409/1239252776
;=====================================================================
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq auto-mode-alist
      (append '(("\\.tex$" . yatex-mode)
                ("\\.ltx$" . yatex-mode)
                ("\\.cls$" . yatex-mode)
                ("\\.sty$" . yatex-mode)
                ("\\.clo$" . yatex-mode)
                ("\\.bbl$" . yatex-mode)) auto-mode-alist))
(setq YaTeX-kanji-code nil)
(setq tex-command "platex")
(setq dvi2-command "xdvi")
(setq bibtex-command "pbibtex")
(setq dviprint-command-format "dvipdfmx")
(add-hook 'yatex-mode-hook '(lambda () (auto-fill-mode -1))) ;; 自動で改行しない
(put 'upcase-region 'disabled nil)

;=====================================================================
; edit-server の設定
;=====================================================================
(require 'edit-server)
(edit-server-start)

Mozc の設定

Mozc を使いやすくするために,以下の設定を行っています.

  • 予測変換機能を停止しています.予測変換が動作していると,日本語入力がもさっとした感じです.また,私は予測変換を使うと思考が妨げられるので,そんなものは邪魔でしかありません.Mozc の設定で,「サジェスト」の項目で,「入力履歴からのサジェスト自動表示を有効にする」と「システム辞書からのサジェスト自動表示を有効にする」のチェックマークを外します.

アプリケーションのインストール

LaTeX

LaTeX をインストールします.

インストール

CTAN の texlive をインストールします.texlive のインストールは,「LaTeX(インストール)」が参考になります.

Comprehensive TEX Archive Network (CTAN) が配布する TeX Live をインストールします.この配布パッケージはお勧めです.この TeX Live パッケージは,「/usr/local/texlive/XXXX」にインストールされます.XXXX は,バージョンを表す西暦年です.具体的なインストール手順は,以下の通りです.

  1. CTANIndex of /systems/texlive/tlnet にあるインストーラー「install-tl-unx.tar.gz」をダウンロードします.
  2. ダウンロードしたディレクトリーに移動し,ファイルを解凍します.
    $ tar zxvf install-tl-unx.tar.gz
  3. 解凍されたディレクトリーに移動します(コマンド「cd install-tl-20180901」).インストールスクリプトは,install-tl です.また,コマンド「./install-tl -h」でヘルプを見ることができます.ここでは,text モードでインストールします.コマンドは,
    $ sudo ./install-tl -lang ja
    です.
  4. 途中,インストール開始の質問があれば,適当に答えます(「I」を押す).私の場合,インストールに30分程度が必要でした.問題なくインストールが完了すると,「Welcome to TeX Live!」が表示されます.途中でインストールが失敗すると,メッセージが現れます.上手くいくまで,再ストールを繰り返します.
  5. インストール完了後,PATH の設定を行います.「.profile」などに,以下を記述します.
    if [ -d "/usr/local/texlive/2018" ] ; then
       PATH="/usr/local/texlive/2018/bin/x86_64-linux:$PATH"
       MANPATH="/usr/local/texlive/2018/texmf-dist/doc/man:$MANPATH"
       INFOPATH="/usr/local/texlive/2018/texmf-dist/doc/info:$INFOPATH"
    fi
  6. 書き換えた「.profile」を反映させます.
    $ source ~/.profile

これで,TeX Live のインストールと設定は完了です.TeX Live のファイル一式は,「/usr/local/texlive/2018/」にインストールされます.

ユーティリティ

LaTeX 用のユーティリティをインストールします.

$ sudo apt install texlive-binaries
$ sudo apt install texlive-extra-utils

アップデート

必要になったらアップデートします.

アップデート

アップデートの時に,「リポジトリ情報のダウンロードに失敗しました」とダイアログが表示されることが有ります (図9).この場合は,以下のコマンドを実行します.

$ sudo rm -vf /var/lib/apt/lists/*
$ sudo apt-get update
アプデートエラー:リポジトリ情報のダウンロードに失敗しました
図9: アプデートエラー:リポジトリ情報のダウンロードに失敗しました

その他

  • 通常,仮想コンソールはControl+Alt+F1で起動します.私の場合は,何故か起動しません.いろいろ試したところ,Control+Alt++F1で仮想コンソールが起動しました.はメタキーと言われるやつで,HappyHacking Keybord ではダイヤモンド(ひし形)です.
  • 新たにハードディスクを接続し再起動した際に,ログインできなくなりました.パスワードは通るのですが,すぐにログイン画面戻ります (ログインループ).原因は,いい加減なハードディスクのマウントでした.マウントの設定ファイル「/etd/fstab」を直したところ,ログインができるようになりました.このファイルの修正は,仮想コンソールでログインし,fstab を書き直します.その設定は,「ハードディスクの追加」に書かれています.

ページ作成情報

参考資料

以下は,ページを作成するために参考にした資料です.

  1. Happy Hacking Keyboad のキー設定は,「Ubuntu 15.04: キーボードのカスタマイズ設定」を参考にしました.
  2. Samba の設定パラメーターについては,「Sambaサーバの設定:tech.ckme.co.jp」が分かりやすいです.

更新履歴

2018年09月16日 新規作成


no counter