6 【2019年版】Ubuntu系のLinuxディストリビューションを自作しよう ~カスタマイズ編~
8 <meta name="description" content="
9 Ubuntu派生のLinux系OSの自作方法を解説したサイトです。
10 SereneLinuxの開発者が初心者でもできるUbuntu派生OSの作成方法を画像つきで解説します。
11 Ubuntuをカスタマイズして自分の好きなデザイン、操作にするカスタマイズを行うページです。
13 <meta name="viewport" content="width=device-width,initial-scale=1">
14 <link rel="stylesheet" href="../style/main-resp.css" media="screen and (max-width: 799px)">
15 <link rel="stylesheet" href="../style/main.css" media="screen and (min-width: 800px)">
16 <link rel="stylesheet" href="../code/vs2015.css">
17 <script src="../code/highlight.pack.js"></script>
18 <link rel="shortcut icon" href="../favicon.ico">
19 <link rel="stylesheet" type="text/css" media="print" href="../style/main.css">
20 <!-- class="prettyprint linenums" でコードに色付け -->
21 <!-- <pre><code class="prettyprint linenums"></code></pre> -->
22 <link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese" rel="stylesheet">
26 <h1>【2019年版】Ubuntu系のOSを自作しよう ~カスタマイズ編~</h1>
27 <p>BodhiBuilderを用いてオリジナルのOSを作成します。</p>
28 <p>自分の好きなデスクトップ環境やソフトウェアを入れてオリジナルのOSを作成しましょう。</p>
29 <p>実際に開発中のOS『SereneLinux』の実例を挙げながらわかりやすく解説していきます。</p>
30 <p><a href="http://hayao.fascode.net/buildmydist-2/">こちらで</a>サイト新しく作り直してます。このサイトの情報は古いのでよければどうぞ。</p>
33 <li><a href="../index.html">トップページ</a></li>
34 <li><a href="preparation.html">準備編</a></li>
35 <li><a class="active" href="customize.html">カスタマイズ編</a></li>
36 <li><a href="makeiso.html">ISO作成編</a></li>
37 <li><a href="distribution.html">配布編</a></li>
38 <li class="right"><a href="about.html">About</a></li>
39 <li class="right"><a href="website.html">参考サイト</a></li>
49 実際にBasixをカスタマイズしていきましょう。
55 非常に長くなるので頑張って読んでください...
58 カスタマイズくらいできるわ!って人は9から読んでください
61 8以降はOS作成だけのカスタマイズなので知らない人もいるかもしれません
117 デスクトップ環境を決める上で重要になるのが「ターゲットにするユーザー」です
120 準備編で決めたことがここで重要になってきます
123 以下にそれぞれのデスクトップ環境の特徴を書いていくので好きなものを選んでください
126 重くはなりますが、複数のデスクトップ環境を搭載することもできます
133 <th>標準ディストリビューション</th>
145 <td label="標準ディストリビューション">
165 <td label="標準ディストリビューション">
187 <td label="標準ディストリビューション">
207 <td label="標準ディストリビューション">
231 <td label="標準ディストリビューション">
253 <td label="標準ディストリビューション">
275 <td label="標準ディストリビューション">
296 <td label="標準ディストリビューション">
303 Gnome2(Ubuntu 10.10までのUI)からフォーク
322 軽量でカスタマイズ性が高いので自由に改造することができます
325 SereneLinuxもXfce4をベースにしています
328 今回はXfce4を選んだとして関節を勧めていこうと思います
337 ディスプレイマネージャとは、いわゆるログイン画面です
347 <th>標準ディストリビューション</th>
359 <td label="標準ディストリビューション">
381 <td label="標準ディストリビューション">
382 Xubuntu、Lubuntu、Ubuntu(17.10まで)
402 <td label="標準ディストリビューション">
421 <td label="標準ディストリビューション">
440 今回は最も一般的なLightDMを使用していきます
443 (筆者はLightDMとGDMしか使用したこと無いのでSDDMはわからないです)
449 LightDMには「Greeter」と呼ばれるテーマを適用させる機能があります(他のDMにもあるのかな?)
452 SereneLinuxではUbuntu17.10まで使われていた「unity-greeter」を適用させています
455 この「Unity-Greeter」はインストール後に手動で設定をする必要があります
461 <a href="https://cialu.net/how-to-solve-failed-to-start-session-with-lightdm-and-xfce/" target="_blank">How to solve ‘Failed to start session’ with LightDM and Xfce</a>
464 上のサイトと同じになってしまいますが、一応こちらでも解説しようと思います
469 unity-greeterをインストールする
474 <pre><code>$ sudo apt-get -y install unity-greeter</code></pre>
479 以下のコマンドを実行して設定ファイルを削除します
482 <pre><code>$ sudo rm /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf</code></pre>
491 <pre><code>$ sudo touch /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
499 <pre><code>$ sudo nano /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
501 以下のコードを書き込んで「Ctrl + O」を押して保存し、「Ctrl + X」で終了します
503 <pre><code>[SeatDefaults]
504 greeter-session=unity-greeter
505 user-session=xfce</code></pre>
509 <pre><code>$ sudo reboot</code></pre>
521 自分の好きなテーマをネット上で探して自分のOSのデフォルトにしましょう
524 テーマのライセンスさえOKで、現在のGTK3に準拠しているテーマなら何でも適用できます
527 SereneLinuxでは「Numix」というテーマを採用しています
530 テーマによってディストリビューションの印象を大きく変えることになるので慎重にに選んでください
533 テーマは以下のサイトから探すと簡単に見つけることができます
536 <li><a href="https://www.xfce-look.org/" target="_blank">Xfce-Look</a></li>
537 <li><a href="https://www.gnome-look.org/" target="_blank">Gnome-Look</a></li>
540 GTK3のテーマをダウンロードしてください
543 自分の考えたユーザのターゲットに合ったテーマを選ぶといいでしょう
545 <p>ライセンスをよく読み、再配布が可能かどうかを確かめてください</p>
553 ダウンロードしたテーマファイルを展開してください
556 Windowsで展開するといろいろと問題が起きる可能性があるので必ずLinux環境で展開を行ってください
559 展開したら、.themeの拡張子がついたファイルが入っているフォルダを以下のパスにRoot権限でコピーしてください
562 <pre><code>/usr/share/themes</code></pre>
565 コピーしたら設定から自分のテーマを設定します
568 <p>テーマと同じサイトでアイコンを探し、ディレクトリにコピーするだけです</p>
569 <p><pre><code>/usr/share/icons</code></pre></p>
571 (解説超手抜きです すみません もしかしたら細かく書くかもです)
577 アイコンと同じ方法でインストール、設定できます
580 カーソルテーマはアイコンと同じディレクトリにコピーします
589 不要なパッケージが多いとisoサイズがどんどん大きくなってしまいますのでなるべく小さくします
592 インストールされているパッケージは以下のコマンドで確認できます
594 <p><pre><code>$ sudo dpkg -l | less</code></pre></p>
599 Gnome系のパッケージは削除できるかもしれません
602 削除してよいかどうか分からなかったらパッケージ名で検索してみたり、Basixと比較してみると良いかもしれません
605 削除する際は「-y」で一気に削除するのではなく、削除されるパッケージを確認して確実に削除してください
608 また、削除の際は「remove」ではなく「purge」を使用してください
611 違いはというと、「remove」では設定ファイルは削除されませんが、「purge」では設定ファイルまで削除されます
614 必要以上の設定ファイルはごみになるだけなので削除します
617 パッケージを削除する際は以下のテンプレートを使用すると簡単です
620 <pre><code>$ sudo apt-get purge hogehoge</code></pre>
623 (hogehogeは各自で置き換えてください)
630 自分の好きなパッケージをインストールします
633 標準のリポジトリになければ自分でリポジトリを追加します
636 おすすめのパッケージは「UbuntuCleaner」です
642 不要なパッケージを削除してくれるのでディストリビューション作成には必須です
651 Xfceの場合は自分の好きな位置にパネルを配置します
654 Xubuntuに標準で入っているアプリケーションメニューは以下のコマンドでインストールできます
657 <pre><code>$ sudo apt -y install xfce4-whiskermenu-plugin</code></pre>
660 Xfce以外のデスクチップ環境でもある程度はカスタマイズできると思いますが、Gnomeなどはプラグインを追加する程度だと思います
663 SereneLinuxでは、パネルを上に配置し、長さを変更、アイテムの配置を変更して「cairo-dock」をインストール、設定しています
666 UIはディストリビューションの顔になるのでしっかりと考える必要があります
675 今まで設定した項目をisoに適用させるために保存します
678 BodhiBuilderでは/home以下はisoに入れないので.configといった設定ファイルも保存されません
681 そのために別のディレクトリに.configなどをコピーする必要があります
693 SereneLinuxでは、「Cairo-Dock」や「Xfce4」などが変更されています
696 2.変更されたソフトの設定ファイルを見つけ出す
699 ほとんどの設定ファイルはユーザディレクトリ下の.configディレクトリ内に保存されています
702 そのディレクトリを別のディレクトリにコピーしておきます
705 一部の設定ファイルはホームディレクトリ直下や、別の場所に保存されていることもあるのでインターネット上で情報を探すなりfindコマンドを実行するなりして設定ファイルを探し出してください
708 3.見つけ出した設定ファイルを、スケルトンディレクトリにコピーする
711 設定ファイルのディレクトリ構造をスケルトンディレクトリに再現します
714 Debian系のスケルトンディレクトリは以下のパスです
717 <pre><code>/etc/skel</code></pre>
720 上記のパスを~/(ホームディレクトリ)に見立てて.configなどのディレクトリを作成し、設定ファイルや設定フォルダをコピーします
723 新しいユーザやisoが作成される際はスケルトンディレクトリ内のデータが~/にコピーされます
726 例えば~/.config/hoge.confのファイルをスケルトンディレクトリにコピーしたかったら/etc/skel/.config/hoge.confにコピーします
729 変更されたソフトの設定ファイルをすべてコピーしないと正常に作動しないのでしっかりとコピーする必要があります
732 かといって、全部丸々コピーするのもよくありません
735 個人情報までisoに含んでしまうかもしれないのでスケルトンディレクトリにコピーするファイルやフォルダはしっかりと内容を見ておくことが大切です
738 この部分は非常に複雑なのでわからなければ筆者のDMもしくはメールに来てください
741 この作業は設定を変更するたびにし直す必要があります
747 インストール中に表示されるインストールスライドを変更します
750 インストールスライドはubiquity-slideshow-*という形式のパッケージで設定されています
756 1.ディストリビューション標準のスライドを削除する
759 以下のコマンドを実行してインストールされているパッケージを見つけ出します
762 <pre><code>$ sudo dpkg -l | grep "ubiquiy-slideshow"</code></pre>
765 出てきたパッケージを以下のコマンドで削除します
768 <pre><code>$ sudo apt-get purge -y hogehoge</code></pre>
771 「hogehoge」を出てきたパッケージ名に置き換えてください
774 2.ベースになるパッケージをインストールする
777 以下のコマンドを実行してインストールします
780 <pre><code>$ sudo apt -y install ubiquity-slideshow-xubuntu</code></pre>
783 インストールされたスライドはHTMLやCSS、JavaScriptで書かれています
786 それらを編集して自分のディストリビューション用のスライドを作成していきます
795 スライドのデータは以下のパスに保存されています
798 <pre><code>/usr/share/ubiquiy-slideshow/slides/</code></pre>
801 スクリーンショットなどのファイル名は自由に変更できますが、htmlのファイル名は編集しないことをおすすめします
804 アイコン、スクリーンショットを準備してそれぞれのフォルダに保存したあとはhtmlを編集していきます
807 上のパスの直下にあるhtmlは英語で書きます
810 <pre><code>/usr/share/ubiquity-slideshow/l10n/ja/</code></pre>
813 こちらのパスに日本語のスライドを配置します
816 HTML内の記述のアイコンやスクリーンショットのファイル名と実際のファイル名を一緒にします
819 ある程度の文章が完成したら、HTMLの構文チェックを行います
822 ブラウザでは表示できても、構文ミスが有るとスライドでは正常に表示されないことがあります
828 HTMLが完成したらCSSを書いていきます
831 CSSは実際にプレビューしながらの編集ができないのでかなり難しいですが頑張ってください
837 以下のコマンドでファイルの権限を変更します
840 <pre><code>$ sudo chown -R root:root /usr/share/ubiquity-slideshow/</code></pre>
841 <pre><code>$ sudo chmod -R 755 /usr/share/ubiquity-slideshow/</code></pre>
844 コマンドの意味を簡単に解説すると、1行目で/usr/share/ubiquity-slideshow/以下のすべてのファイルの所有者と所有グループをrootにしています
847 2行目では/usr/share/ubiquity-slideshow/以下のファイルすべてのパーミッションを変更しています
850 所有者は「読み取り、書き込み、実行」のすべてを行うことができて、所有グループとその他の人は「読み取り、実行」ができるようにしています
853 パーミッションの設定を間違えると正常に表示されなかったり自由に改変されてしまったりします
856 インストールスライドは何度のisoを作成して実際に確認するのが一番です
862 ISOでライブ起動をした時に、デスクトップに「~~をインストールする」というアイコンが表示されます
865 このアイコンがデフォルトのままだとBodhiLinuxのままになってしまいます
874 アイコンにしたいファイルを用意し、以下のパスにコピーします
878 <code>/usr/share/icons/bbinstall.png
879 /usr/share/icons/bbinstall_previous.png</code>
889 なぜかシンボリックリンクでは正常にできませんでした
901 この変更はGrubやBodhiBuilderなど、全てに適用されます
904 OS名などは以下のファイルに情報が記載されています
907 <pre><code>/usr/lib/os-release</code></pre>
910 このファイルの1箇所を修正すれば大丈夫です
913 変更可能な変数は「PRETTY_NAME」、「HOME_URL」「SUPPORT_URL」です
916 実際に変更するのは「PRETTY_NAME」だけで大丈夫です
919 自分でディストリビューションのフォーラムなどを作るのであればそのURLを入力してください
925 リポジトリ追加やインストールができなくなります
928 参考に、SereneLinuxのソースを載せておきます
931 <pre><code>NAME="Ubuntu"
932 VERSION="18.04.2 LTS (Bionic Beaver)"
935 PRETTY_NAME="SereneLinux_19Q1.7.1_R1"
937 HOME_URL="https://www.ubuntu.com/"
938 SUPPORT_URL="https://help.ubuntu.com/"
939 BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
940 PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
941 VERSION_CODENAME=bionic
942 UBUNTU_CODENAME=bionic</code></pre>
951 Basixは独自に/etc/basixに設定ファイルを持っています
954 それを削除しないと上のOS名などが上書きされてしまいます
957 しかしPlymouthテーマ(起動スプラッシュ)などのデータも入っているためうかつに触ることはできません
975 <a href="makeiso.html">ISO作成編へ行く</a>
982 It is provided by SereneLinux.
985 © 2019 SereneTeam All Rights Reserved.
987 <script type="text/javascript" src="//ct2.shinobi.jp/sc/1744984">
989 <noscript><img src="//ct2.shinobi.jp/ll/1744984" alt="カウンター">