読者です 読者をやめる 読者になる 読者になる

😃 mattintosh note 📝

Hello Raspberry Pi!

🐧 Linux Mint 17.1 Rebecca Cinnamon (Ubuntu Server based)

デスクトップ環境構築の練習として、先日、コードーネームが発表された Linux Mint 17.1 Rebecca を Ubuntu Server に入れてみた。

Ubuntu Serve のイメージをダウンロードする。今回は Ubuntu 14.04.1 LTS Server (32-bit) を使用。32-bit 版は Alternative downloads のページに置いてある。500 MB 程度なので軽い。更に軽い Minimal CD 版も作業方法はほぼ同じ。をインストールはほぼガイド通りで追加パッケージのインストールは OpenSSH のみ行う。Ubuntu のインストールが終了して再起動したらコンソールでログインして /etc/apt/sources.list に Linux Mint のリポジトリを追加する。

deb http://packages.linuxmint.com rebecca main upstream import
deb http://extra.linuxmint.com rebecca main

/etc/apt/preferences を作成し、リポジトリの優先順位を変更する。これを行わないと mintsources と software-properties-gtk などが衝突して mint-meta-cinnamon がインストールできない。Linux Mint 本来のリポジトリ設定は /etc/apt/preferences.d/official-package-repositories.pref で設定している。

Package: *
Pin: release o=linuxmint
Pin-Priority: 700

Package: *
Pin: origin packages.linuxmint.com
Pin-Priority: 700

Package: *
Pin: release o=Ubuntu
Pin-Priority: 500

アップデートを実行し、linuxmint-keyring から Linux Mint サーバの公開鍵を取得する。これを行わないと NO_PUBKEY エラーになる。

sudo aptitude update
sudo aptitude install linuxmint-keyring

再度アップデートを実行し、NO_PUBKEY エラーが出ないことを確認してアップグレードを実行する。

sudo aptitude update
sudo aptitude upgrade

Cinnamon デスクトップ環境のインストール

まずは xorg と libglib2.0-bin。作業中に気づいたけど libglib2.0-bin が無いと Mint-X のアイコンが生成出来ずにエラーになるっぽい?

sudo aptitude install xorg libglib2.0-bin

Linux Mint Cinnamon のメタパッケージをインストールする。Mint として起動するツールはこれだけでほぼ揃う。mdm と mint-mdm-themes はセットになっていないようなので別途指定。

sudo aptitude install mint-meta-cinnamon mdm mint-mdm-themes

自分が使っているのは NVIDIA のグラフィックカードなのでドライバを APT でインストールしてしまう。これでログインしてからドライバマネージャを開く手間が省ける。RADEON と Intel は手元に物がないのでよくわからない。

sudo aptitude nvidia-331

再起動すれば勝手に mdm が立ち上がるはず。

sudo reboot

OS 情報の修正

Welcome Screen で確認すると表記が Xfce 版になっていたので /etc/linuxmint/info 内の Xfce になっている部分を Cinnamon に修正する。URL に関しては今のところ Rebecca 用のページは存在しない。GRUB_TITLE はベースが Ubuntu Server なのでここで変更しても多分意味はない。

ELEASE=17.1
CODENAME=rebecca
EDITION="Cinnamon 32-bit"
DESCRIPTION="Linux Mint 17.1 Rebecca"
DESKTOP=Cinnamon
TOOLKIT=GTK
NEW_FEATURES_URL=http://www.linuxmint.com/rel_rebecca_cinnamon_whatsnew.php
RELEASE_NOTES_URL=http://www.linuxmint.com/rel_rebecca_cinnamon.php
USER_GUIDE_URL=help:linuxmint
GRUB_TITLE=Linux Mint 17.1 Cinnamon 32-bit

フォントのインストール

UI 用と日本語用フォントをインストールする。この辺は好みで。

wget https://www.google.com/get/noto/pkgs/NotoSansCJKJP-hinted.zip
mkdir -p ~/.local/share/fonts/Noto
unzip NotoSansCJKJP-hinted.zip -d ~/.local/share/fonts/Noto
wget --content-disposition http://www.fontsquirrel.com/fonts/download/cousine
mkdir -p ~/.local/share/fonts/Cousine
unzip cousine.zip -d ~/.local/share/fonts/Cousine
sudo aptitude install fonts-ipafont fonts-ipaexfont fonts-vlgothic fonts-roboto

fontconfig の設定を変更する。~/.config/fontconfig/fonts.conf で作成すると GUI でヒンティング設定を行った時に上書きされる?ような気がするのでディレクトリに追加。conf.d に置くファイルは先頭に 10- のような番号がついていないと読み込まれない。

mkdir -p ~/.config/fontconfig/conf.d
vi ~/.config/fontconfig/conf.d/10-alias.conf

いつも alias だけど今回は match で設定した。mode="prepend" にしないと上書きしてくれないかも。設定は数秒後に反映される(ターミナルを起動していればフォントが変わるのがわかるはず)。どのフォントが割り当たっているかは fc-match で確認できる。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  
<!--
  alias で設定する場合
-->
  <!--
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Roboto</family>
      <family>Noto Sans CJK JP</family>
    </prefer>
  </alias>
  
  <alias>
    <family>serif</family>
    <prefer>
      <family>IPAexMincho</family>
    </prefer>
  </alias>
  
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Cousine</family>
      <family>VL Gothic</family>
    </prefer>
  </alias>
  -->
  
<!--
  match で設定する場合
-->
  <match target="pattern">
    <test qual="any" name="family">
      <string>sans-serif</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Roboto</string>
      <string>Noto Sans CJK JP</string>
    </edit>
  </match>
  
  <match target="pattern">
    <test qual="any" name="family">
      <string>serif</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>IPAexMincho</string>
    </edit>
  </match>
  
  <match target="pattern">
    <test qual="any" name="family">
      <string>monospace</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Cousine</string>
      <string>VL Gothic</string>
    </edit>
  </match>
  
</fontconfig>

メモ:alias の prefer は前、accept は後、default は最後。edit の assign はその要素、prepend は前、append は後。 メモ:uim-toolbar-gtk などを実行すると不正な行に関するメッセージを得ることができる。 メモ:binding が same だと alternatives で設定されているフォントに優先度が負けるらしい。strong がいいかも。

テーマフォントの変更

Zuikitwo-Dark-Cinnamon の場合。システムに存在するテーマの場合は ~/.theme にコピーして cinnamon.css を編集する。fontconfig とは違い即時反映ではないので編集したら他のテーマに切り替えて元に戻す。

### バックアップ ###
cp ~/.themes/Zukitwo-Dark-Cinnamon/cinnamon/cinnamon.css{,.default}

### 置換 ###
sed -i '/font-family:/s/Droid Sans/Roboto/' ~/.themes/Zukitwo-Dark-Cinnamon/cinnamon/cinnamon.css

デスクトップフォントの変更

デスクトップは nemo が管理しているのでスキーマを変更する。GUI で操作する場合は dconf-editor を導入すると良い。

### 現在の値を取得 ###
gsettings get org.nemo.desktop font

### 値を設定 ###
gsettings set org.nemo.desktop font 'Roboto 10'

デスクトップアイコンを非表示にする場合。

gsettings set org.nemo.desktop show-desktop-icons false

Google Chrome のインストール

mint-meta-cinnamon では Firefox のインストールは行われないらしい(Mint 版はもともと使う予定がないので好都合)。 Google Chrome をインストールする。

wget http://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
sudo aptitude install gdebi
sudo gdebi google-chrome-stable_current_i386.deb

/usr/share/applications/google-chrome.desktop に StartupWMClass を追加して Exec 行に環境変数の指定を追加する。Exec 行は New Window と Incognito にもあるのでそちらも編集しておく。

StartupWMClass=Google-chrome-stable
Exec=env LANG=en_US.UTF-8 LANGUAGE=en_US:en:ja_JP:ja /usr/bin/google-chrome-stable %U

chrome://settings/fonts でフォントを変更する。Sans などを選択しておけば fontconfig の設定値になる。検索バーなどの日本語が文字化けする場合はロケールを追加する必要があるかもしれない。

echo ja_JP.UTF-8 UTF-8 | sudo tee /var/lib/locales/supported.d/ja
sudo locale-gen

なんか最近 Google Chrome の挙動がよくわからなくなってきた…。

nemo terminal のインストール

KDE のファイルブラウザ Dolphin を使っていて気に入ったので Nemo にもターミナル拡張を導入する。(Dolphin は最初からこの機能が使える)

sudo aptitude install nemo-terminal

そのままだと Python ライブラリのエラーになるのでシンボリックリンクを新たに作成する。

sudo ln -s /usr/lib/i386-linux-gnu/libpython2.7.so.1 /usr/lib/libpython2.7.so.1
sudo ln -s /usr/lib/i386-linux-gnu/libpython2.7.so.1 /usr/lib/libpython2.7.so.1.0

add-apt-repository と software-properties-gtk が実行できない?

追記:mintsources 1.3.5 で修正されたかも? 1.3.5 で修正されてました

add-apt-repository や software-properties-gtk を実行すると以下のようなエラーになる。

  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 1262, in <module>
    Application().run()
  File "/usr/lib/linuxmint/mintSources/mintSources.py", line 559, in __init__
    if self.config["general"]["use_ppas"] == "false":
KeyError: 'general'

ググってみると /etc/lsb-release に書かれている DISTRIB_CODENAME が原因らしい。確認してみると DISTRIB_CODENAME=rebecca だったがまだ対応してないのだろうか?とりあえず qiana に変更したところを実行できるようになった。

DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.1
DISTRIB_CODENAME=qiana
DISTRIB_DESCRIPTION="Linux Mint 17.1 Rebecca"

でもこれ再起動すると戻るんだけど…。

dpkg -L mintsources してみると /usr/share/mintsources に関連ファイルがあり、ここに rebecca のディレクトリが無いのが問題なようだ。この中のファイルには Canonical パートナーのリポジトリを追加する設定も書かれている。

cd /usr/share/mintsources
sudo cp -R qiana rebecca
cd rebecca
sudo sed -i 's/Qiana/Rebecca/;s/qiana/rebecca/' *.conf *.list

aptitude update してみると重複エントリがあるとのこと。/etc/apt/sources.list が Ubuntu Server 用のものなので /usr/share/mintsources/rebecca/official-{package,source}-repositories.list のエントリと被っているようだ。

W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_main_binary-i386_Packages)
W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ trusty-security/restricted i386 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_restricted_binary-i386_Packages)
W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ trusty-security/universe i386 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_universe_binary-i386_Packages)
W: Duplicate sources.list entry http://security.ubuntu.com/ubuntu/ trusty-security/multiverse i386 Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_trusty-security_multiverse_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

/etc/apt/sources.list 内の security.ubuntu.com 行をコメントアウトする。あと、最初に追加した packages.linuxmint.com と extra.linuxmint.com も。とりあえずこれで様子見。


このあと uim-mozc やら Conky やら Docky とか入れてみてインストールサイズは 4 GB 弱。Minimal CD で構成した場合は約 2.8 GB だった(あ、でもこっちは upgrade しなかったかも)。

KDE と違ってログイン早いなぁ…(というか KDE が遅すぎるだけなんだけども)。