カスタマイズしよう
実際にBasixをカスタマイズしていきましょう。
基本的なカスタマイズは以下のとおりです
非常に長くなるので頑張って読んでください...
カスタマイズくらいできるわ!って人は9から読んでください
8以降はOS作成だけのカスタマイズなので知らない人もいるかもしれません
目次
- デスクトップ環境の選択
- ディスプレイマネージャの選択
- テーマのインストール、設定
- アイコンのインストール、設定
- マウスカーソルのインストール、設定
- パッケージの削除
- パッケージのインストール
- デスクトップのカスタマイズ
- 設定ファイルの保存
- インストールスライドの変更
- インストーラーアイコンの変更
- OS名の変更
- Basix設定ファイルの削除
1.デスクトップ環境の選択
まずはデスクトップ環境を決めます
デスクトップ環境を決める上で重要になるのが「ターゲットにするユーザー」です
準備編で決めたことがここで重要になってきます
以下にそれぞれのデスクトップ環境の特徴を書いていくので好きなものを選んでください
重くはなりますが、複数のデスクトップ環境を搭載することもできます
デスクトップ環境 | 標準ディストリビューション | 特徴 | 重さ |
---|---|---|---|
Gnome3 | Ubuntu |
操作が独特
|
やや重い |
Xfce4 | Xubuntu |
標準のパネル設定はMac風になっている
|
軽い |
KDE | Kubuntu |
非常に高機能で、美しいUI
|
Gnomeよりは軽い(かも) |
Lxde |
Lubuntu
Basix |
Windows風のUI
|
最も軽い |
LxQt | --- |
Lxdeと非常に似ている
|
最も軽い |
Unity | Ubuntu(17.10まで) |
Ubuntu版のGnomeと似たUI
|
最も重い |
Cinnamon | --- |
Windows風のUI
|
やや重い |
Mate | Ubuntu Mate |
Windows風のUI
|
やや軽い |
おすすめはXfce4です
軽量でカスタマイズ性が高いので自由に改造することができます
SereneLinuxもXfce4をベースにしています
今回はXfce4を選んだとして関節を勧めていこうと思います
2.ディスプレイマネージャの選択
ディスプレイマネージャとは、いわゆるログイン画面です
以下の様なものがあります
ディスプレイマネージャ | 標準ディストリビューション | 特徴 | 重さ |
---|---|---|---|
GDM3 | Ubuntu |
Gnomeのディスプレイマネージャ
|
やや重い |
LightDM | Xubuntu、Lubuntu、Ubuntu(17.10まで) |
非常に軽い
|
軽い |
KDM(開発停止) | Kubuntu(KDE4以下) |
リッチなUI
|
--- |
SDDM | LxQt, KDE Plasma 5 |
Qtのみで書かれている |
--- |
今回は最も一般的なLightDMを使用していきます
(筆者はLightDMとGDMしか使用したこと無いのでSDDMはわからないです)
Greeterについて
LightDMには「Greeter」と呼ばれるテーマを適用させる機能があります(他のDMにもあるのかな?)
SereneLinuxではUbuntu17.10まで使われていた「unity-greeter」を適用させています
この「Unity-Greeter」はインストール後に手動で設定をする必要があります
参考にしたのは以下のサイトです
How to solve ‘Failed to start session’ with LightDM and Xfce
上のサイトと同じになってしまいますが、一応こちらでも解説しようと思います
- unity-greeterをインストールする
- 設定ファイルを削除する
- 新しい設定ファイルを作成する
- 設定ファイルを記述する
- 再起動します
これがないと始まりませんね
$ sudo apt-get -y install unity-greeter
以下のコマンドを実行して設定ファイルを削除します
$ sudo rm /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
以下のコマンドを実行するだけです
$ sudo touch /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf
nanoを起動します
$ sudo nano /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf
以下のコードを書き込んで「Ctrl + O」を押して保存し、「Ctrl + X」で終了します
[SeatDefaults]
greeter-session=unity-greeter
user-session=xfce
$ sudo reboot
テーマのインストール、設定
自分の好きなテーマを探す
自分の好きなテーマをネット上で探して自分のOSのデフォルトにしましょう
テーマのライセンスさえOKで、現在のGTK3に準拠しているテーマなら何でも適用できます
SereneLinuxでは「Numix」というテーマを採用しています
テーマによってディストリビューションの印象を大きく変えることになるので慎重にに選んでください
テーマは以下のサイトから探すと簡単に見つけることができます
GTK3のテーマをダウンロードしてください
自分の考えたユーザのターゲットに合ったテーマを選ぶといいでしょう
ライセンスをよく読み、再配布が可能かどうかを確かめてください
アイコンのインストール、設定
テーマを配置させます
ダウンロードしたテーマファイルを展開してください
Windowsで展開するといろいろと問題が起きる可能性があるので必ずLinux環境で展開を行ってください
展開したら、.themeの拡張子がついたファイルが入っているフォルダを以下のパスにRoot権限でコピーしてください
/usr/share/themes
コピーしたら設定から自分のテーマを設定します
アイコンの設定
テーマと同じサイトでアイコンを探し、ディレクトリにコピーするだけです
/usr/share/icons
(解説超手抜きです すみません もしかしたら細かく書くかもです)
マウスカーソルのインストール、設定
アイコンと同じ方法でインストール、設定できます
カーソルテーマはアイコンと同じディレクトリにコピーします
パッケージの削除
不要なパッケージを削除します
不要なパッケージが多いとisoサイズがどんどん大きくなってしまいますのでなるべく小さくします
インストールされているパッケージは以下のコマンドで確認できます
$ sudo dpkg -l | less
終了時は「q」キーを押します
Gnome系のパッケージは削除できるかもしれません
削除してよいかどうか分からなかったらパッケージ名で検索してみたり、Basixと比較してみると良いかもしれません
削除する際は「-y」で一気に削除するのではなく、削除されるパッケージを確認して確実に削除してください
また、削除の際は「remove」ではなく「purge」を使用してください
違いはというと、「remove」では設定ファイルは削除されませんが、「purge」では設定ファイルまで削除されます
必要以上の設定ファイルはごみになるだけなので削除します
パッケージを削除する際は以下のテンプレートを使用すると簡単です
$ sudo apt-get purge hogehoge
(hogehogeは各自で置き換えてください)
パッケージのインストール
自分の好きなパッケージをインストールします
標準のリポジトリになければ自分でリポジトリを追加します
おすすめのパッケージは「UbuntuCleaner」です
リポジトリを追加してインストールします
不要なパッケージを削除してくれるのでディストリビューション作成には必須です
デスクトップのカスタマイズ
デスクトップのカスタマイズを行います
Xfceの場合は自分の好きな位置にパネルを配置します
Xubuntuに標準で入っているアプリケーションメニューは以下のコマンドでインストールできます
$ sudo apt -y install xfce4-whiskermenu-plugin
Xfce以外のデスクチップ環境でもある程度はカスタマイズできると思いますが、Gnomeなどはプラグインを追加する程度だと思います
SereneLinuxでは、パネルを上に配置し、長さを変更、アイテムの配置を変更して「cairo-dock」をインストール、設定しています
UIはディストリビューションの顔になるのでしっかりと考える必要があります
設定ファイルの保存
いよいよ最終工程です
今まで設定した項目をisoに適用させるために保存します
BodhiBuilderでは/home以下はisoに入れないので.configといった設定ファイルも保存されません
そのために別のディレクトリに.configなどをコピーする必要があります
それでは順番に見ていきましょう
1.設定を変更したソフトを書き出す
設定を変更したソフトを書き出します
SereneLinuxでは、「Cairo-Dock」や「Xfce4」などが変更されています
2.変更されたソフトの設定ファイルを見つけ出す
ほとんどの設定ファイルはユーザディレクトリ下の.configディレクトリ内に保存されています
そのディレクトリを別のディレクトリにコピーしておきます
一部の設定ファイルはホームディレクトリ直下や、別の場所に保存されていることもあるのでインターネット上で情報を探すなりfindコマンドを実行するなりして設定ファイルを探し出してください
3.見つけ出した設定ファイルを、スケルトンディレクトリにコピーする
設定ファイルのディレクトリ構造をスケルトンディレクトリに再現します
Debian系のスケルトンディレクトリは以下のパスです
/etc/skel
上記のパスを~/(ホームディレクトリ)に見立てて.configなどのディレクトリを作成し、設定ファイルや設定フォルダをコピーします
新しいユーザやisoが作成される際はスケルトンディレクトリ内のデータが~/にコピーされます
例えば~/.config/hoge.confのファイルをスケルトンディレクトリにコピーしたかったら/etc/skel/.config/hoge.confにコピーします
変更されたソフトの設定ファイルをすべてコピーしないと正常に作動しないのでしっかりとコピーする必要があります
かといって、全部丸々コピーするのもよくありません
個人情報までisoに含んでしまうかもしれないのでスケルトンディレクトリにコピーするファイルやフォルダはしっかりと内容を見ておくことが大切です
この部分は非常に複雑なのでわからなければ筆者のDMもしくはメールに来てください
この作業は設定を変更するたびにし直す必要があります
インストールスライドの変更
インストール中に表示されるインストールスライドを変更します
インストールスライドはubiquity-slideshow-*という形式のパッケージで設定されています
なので、まずはそのパッケージを削除します
1.ディストリビューション標準のスライドを削除する
以下のコマンドを実行してインストールされているパッケージを見つけ出します
$ sudo dpkg -l | grep "ubiquiy-slideshow"
出てきたパッケージを以下のコマンドで削除します
$ sudo apt-get purge -y hogehoge
「hogehoge」を出てきたパッケージ名に置き換えてください
2.ベースになるパッケージをインストールする
以下のコマンドを実行してインストールします
$ sudo apt -y install ubiquity-slideshow-xubuntu
インストールされたスライドはHTMLやCSS、JavaScriptで書かれています
それらを編集して自分のディストリビューション用のスライドを作成していきます
スライドを編集する
スライドを編集します
スライドのデータは以下のパスに保存されています
/usr/share/ubiquiy-slideshow/slides/
スクリーンショットなどのファイル名は自由に変更できますが、htmlのファイル名は編集しないことをおすすめします
アイコン、スクリーンショットを準備してそれぞれのフォルダに保存したあとはhtmlを編集していきます
上のパスの直下にあるhtmlは英語で書きます
/usr/share/ubiquity-slideshow/l10n/ja/
こちらのパスに日本語のスライドを配置します
HTML内の記述のアイコンやスクリーンショットのファイル名と実際のファイル名を一緒にします
ある程度の文章が完成したら、HTMLの構文チェックを行います
ブラウザでは表示できても、構文ミスが有るとスライドでは正常に表示されないことがあります
私も当初はこれでかなり困りました
HTMLが完成したらCSSを書いていきます
CSSは実際にプレビューしながらの編集ができないのでかなり難しいですが頑張ってください
作成したファイルの権限を変更する
以下のコマンドでファイルの権限を変更します
$ sudo chown -R root:root /usr/share/ubiquity-slideshow/
$ sudo chmod -R 755 /usr/share/ubiquity-slideshow/
コマンドの意味を簡単に解説すると、1行目で/usr/share/ubiquity-slideshow/以下のすべてのファイルの所有者と所有グループをrootにしています
2行目では/usr/share/ubiquity-slideshow/以下のファイルすべてのパーミッションを変更しています
所有者は「読み取り、書き込み、実行」のすべてを行うことができて、所有グループとその他の人は「読み取り、実行」ができるようにしています
パーミッションの設定を間違えると正常に表示されなかったり自由に改変されてしまったりします
インストールスライドは何度のisoを作成して実際に確認するのが一番です
インストーラアイコンを変更する
ISOでライブ起動をした時に、デスクトップに「~~をインストールする」というアイコンが表示されます
このアイコンがデフォルトのままだとBodhiLinuxのままになってしまいます
このアイコンを変更していきましょう
変更方法は簡単です
アイコンにしたいファイルを用意し、以下のパスにコピーします
/usr/share/icons/bbinstall.png
/usr/share/icons/bbinstall_previous.png
同じファイルを2つにコピーします
これだけでアイコンが変更されます
なぜかシンボリックリンクでは正常にできませんでした
ハードリンクならうまくいくかもしれません
OS名の変更
OSの名前を変更します
この変更はGrubやBodhiBuilderなど、全てに適用されます
OS名などは以下のファイルに情報が記載されています
/usr/lib/os-release
このファイルの1箇所を修正すれば大丈夫です
変更可能な変数は「PRETTY_NAME」、「HOME_URL」「SUPPORT_URL」です
実際に変更するのは「PRETTY_NAME」だけで大丈夫です
自分でディストリビューションのフォーラムなどを作るのであればそのURLを入力してください
上の変数以外は変更しないでください
リポジトリ追加やインストールができなくなります
参考に、SereneLinuxのソースを載せておきます
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="SereneLinux_19Q1.7.1_R1"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Basixの独自ファイルを削除する
ここの操作は詳しい人のみ行ってください
Basixは独自に/etc/basixに設定ファイルを持っています
それを削除しないと上のOS名などが上書きされてしまいます
しかしPlymouthテーマ(起動スプラッシュ)などのデータも入っているためうかつに触ることはできません
(これ以降はあとで書きます...)
isoをビルドする
いよいよisoビルドです
今までお疲れ様でした
iso作成は次のページで解説しています