6 【2019年版】Ubuntu系のLinuxディストリビューションを自作しよう ~カスタマイズ編~
8 <meta name="description" content="
9 Ubuntu派生のLinux系OSの自作方法を解説したサイトです。
10 SereneLinuxの開発者が初心者でもできるUbuntu派生OSの作成方法を画像つきで解説します。
11 BodhiBuilderにあるバグの修正方法を解説しているのはここだけ!
13 <link rel="stylesheet" href="../style/main-resp.css" media="screen and (max-width: 799px)">
14 <link rel="stylesheet" href="../style/main.css" media="screen and (min-width: 800px)">
15 <link rel="stylesheet" href="../code/vs2015.css">
16 <script src="../code/highlight.pack.js"></script>
17 <link rel="shortcut icon" href="../favicon.ico">
18 <link rel="stylesheet" type="text/css" media="print" href="../style/main.css">
19 <!-- class="prettyprint linenums" でコードに色付け -->
20 <!-- <pre><code class="prettyprint linenums"></code></pre> -->
21 <link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese" rel="stylesheet">
26 【2019年版】Ubuntu系のOSを自作しよう ~カスタマイズ編~
29 BodhiBuilderを用いてオリジナルのOSを作成します。
32 自分の好きなデスクトップ環境やソフトウェアを入れてオリジナルのOSを作成しましょう。
35 実際に製作中のOS『SereneLinux』の実例を挙げながらわかりやすく解説していきます。
40 <li><a href="../index.html">トップページ</a></li>
41 <li><a href="preparation.html">準備編</a></li>
42 <li><a class="active" href="customize.html">カスタマイズ編</a></li>
43 <li><a href="makeiso.html">ISO作成編</a></li>
44 <li><a href="distribution.html">配布編</a></li>
45 <li class="right"><a href="about.html">About</a></li>
46 <li class="right"><a href="website.html">参考サイト</a></li>
56 実際にBasixをカスタマイズしていきましょう。
62 非常に長くなるので頑張って読んでください...
65 カスタマイズくらいできるわ!って人は9から読んでください
68 8以降はOS作成だけのカスタマイズなので知らない人もいるかもしれません
121 デスクトップ環境を決める上で重要になるのが「ターゲットにするユーザー」です
124 準備編で決めたことがここで重要になってきます
127 以下にそれぞれのデスクトップ環境の特徴を書いていくので好きなものを選んでください
130 重くはなりますが、複数のデスクトップ環境を搭載することもできます
137 <th>標準ディストリビューション</th>
149 <td label="標準ディストリビューション">
169 <td label="標準ディストリビューション">
191 <td label="標準ディストリビューション">
211 <td label="標準ディストリビューション">
235 <td label="標準ディストリビューション">
257 <td label="標準ディストリビューション">
279 <td label="標準ディストリビューション">
300 <td label="標準ディストリビューション">
307 Gnome2(Ubuntu 10.10までのUI)からフォーク
326 軽量でカスタマイズ性が高いので自由に改造することができます
329 SereneLinuxもXfce4をベースにしています
332 今回はXfce4を選んだとして関節を勧めていこうと思います
341 ディスプレイマネージャとは、いわゆるログイン画面です
351 <th>標準ディストリビューション</th>
363 <td label="標準ディストリビューション">
385 <td label="標準ディストリビューション">
386 Xubuntu、Lubuntu、Ubuntu(17.10まで)
406 <td label="標準ディストリビューション">
425 <td label="標準ディストリビューション">
444 今回は最も一般的なLightDMを使用していきます
447 (筆者はLightDMとGDMしか使用したこと無いのでSDDMはわからないです)
453 LightDMには「Greeter」と呼ばれるテーマを適用させる機能があります(他のDMにもあるのかな?)
456 SereneLinuxではUbuntu17.10まで使われていた「unity-greeter」を適用させています
459 この「Unity-Greeter」はインストール後に手動で設定をする必要があります
465 <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>
468 上のサイトと同じになってしまいますが、一応こちらでも解説しようと思います
473 unity-greeterをインストールする
478 <pre><code>$ sudo apt-get -y install unity-greeter</code></pre>
483 以下のコマンドを実行して設定ファイルを削除します
486 <pre><code>$ sudo rm /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf</code></pre>
495 <pre><code>$ sudo touch /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
503 <pre><code>$ sudo nano /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
505 以下のコードを書き込んで「Ctrl + O」を押して保存し、「Ctrl + X」で終了します
507 <pre><code>[SeatDefaults]
508 greeter-session=unity-greeter
509 user-session=xfce</code></pre>
513 <pre><code>$ sudo reboot</code></pre>
525 自分の好きなテーマをネット上で探して自分のOSのデフォルトにしましょう
528 テーマのライセンスさえOKで、現在のGTK3に準拠しているテーマなら何でも適用できます
531 SereneLinuxでは「Numix」というテーマを採用しています
534 テーマによってディストリビューションの印象を大きく変えることになるので慎重にに選んでください
537 テーマは以下のサイトから探すと簡単に見つけることができます
540 <li><a href="https://www.xfce-look.org/" target="_blank">Xfce-Look</a></li>
541 <li><a href="https://www.gnome-look.org/" target="_blank">Gnome-Look</a></li>
544 GTK3のテーマをダウンロードしてください
547 自分の考えたユーザのターゲットに合ったテーマを選ぶといいでしょう
549 <p>ライセンスをよく読み、再配布が可能かどうかを確かめてください</p>
557 ダウンロードしたテーマファイルを展開してください
560 Windowsで展開するといろいろと問題が起きる可能性があるので必ずLinux環境で展開を行ってください
563 展開したら、.themeの拡張子がついたファイルが入っているフォルダを以下のパスにRoot権限でコピーしてください
566 <pre><code>/usr/share/themes</code></pre>
569 コピーしたら設定から自分のテーマを設定します
572 <p>テーマと同じサイトでアイコンを探し、ディレクトリにコピーするだけです</p>
573 <p><pre><code>/usr/share/icons</code></pre></p>
575 (解説超手抜きです すみません もしかしたら細かく書くかもです)
581 アイコンと同じ方法でインストール、設定できます
584 カーソルテーマはアイコンと同じディレクトリにコピーします
593 不要なパッケージが多いとisoサイズがどんどん大きくなってしまいますのでなるべく小さくします
596 インストールされているパッケージは以下のコマンドで確認できます
598 <p><pre><code>$ sudo dpkg -l | less</code></pre></p>
603 Gnome系のパッケージは削除できるかもしれません
606 削除してよいかどうか分からなかったらパッケージ名で検索してみたり、Basixと比較してみると良いかもしれません
609 削除する際は「-y」で一気に削除するのではなく、削除されるパッケージを確認して確実に削除してください
612 また、削除の際は「remove」ではなく「purge」を使用してください
615 違いはというと、「remove」では設定ファイルは削除されませんが、「purge」では設定ファイルまで削除されます
618 必要以上の設定ファイルはごみになるだけなので削除します
621 パッケージを削除する際は以下のテンプレートを使用すると簡単です
624 <pre><code>$ sudo apt-get purge hogehoge</code></pre>
627 (hogehogeは各自で置き換えてください)
634 自分の好きなパッケージをインストールします
637 標準のリポジトリになければ自分でリポジトリを追加します
640 おすすめのパッケージは「UbuntuCleaner」です
646 不要なパッケージを削除してくれるのでディストリビューション作成には必須です
655 Xfceの場合は自分の好きな位置にパネルを配置します
658 Xubuntuに標準で入っているアプリケーションメニューは以下のコマンドでインストールできます
661 <pre><code>$ sudo apt -y install xfce4-whiskermenu-plugin</code></pre>
664 Xfce以外のデスクチップ環境でもある程度はカスタマイズできると思いますが、Gnomeなどはプラグインを追加する程度だと思います
667 SereneLinuxでは、パネルを上に配置し、長さを変更、アイテムの配置を変更して「cairo-dock」をインストール、設定しています
670 UIはディストリビューションの顔になるのでしっかりと考える必要があります
679 今まで設定した項目をisoに適用させるために保存します
682 BodhiBuilderでは/home以下はisoに入れないので.configといった設定ファイルも保存されません
685 そのために別のディレクトリに.configなどをコピーする必要があります
697 SereneLinuxでは、「Cairo-Dock」や「Xfce4」などが変更されています
700 2.変更されたソフトの設定ファイルを見つけ出す
703 ほとんどの設定ファイルはユーザディレクトリ下の.configディレクトリ内に保存されています
706 そのディレクトリを別のディレクトリにコピーしておきます
709 一部の設定ファイルはホームディレクトリ直下や、別の場所に保存されていることもあるのでインターネット上で情報を探すなりfindコマンドを実行するなりして設定ファイルを探し出してください
712 3.見つけ出した設定ファイルを、スケルトンディレクトリにコピーする
715 設定ファイルのディレクトリ構造をスケルトンディレクトリに再現します
718 Debian系のスケルトンディレクトリは以下のパスです
721 <pre><code>/etc/skel</code></pre>
724 上記のパスを~/(ホームディレクトリ)に見立てて.configなどのディレクトリを作成し、設定ファイルや設定フォルダをコピーします
727 新しいユーザやisoが作成される際はスケルトンディレクトリ内のデータが~/にコピーされます
730 例えば~/.config/hoge.confのファイルをスケルトンディレクトリにコピーしたかったら/etc/skel/.config/hoge.confにコピーします
733 変更されたソフトの設定ファイルをすべてコピーしないと正常に作動しないのでしっかりとコピーする必要があります
736 かといって、全部丸々コピーするのもよくありません
739 個人情報までisoに含んでしまうかもしれないのでスケルトンディレクトリにコピーするファイルやフォルダはしっかりと内容を見ておくことが大切です
742 この部分は非常に複雑なのでわからなければ筆者のDMもしくはメールに来てください
745 この作業は設定を変更するたびにし直す必要があります
751 インストール中に表示されるインストールスライドを変更します
754 インストールスライドはubiquity-slideshow-*という形式のパッケージで設定されています
760 1.ディストリビューション標準のスライドを削除する
763 以下のコマンドを実行してインストールされているパッケージを見つけ出します
766 <pre><code>$ sudo dpkg -l | grep "ubiquiy-slideshow"</code></pre>
769 出てきたパッケージを以下のコマンドで削除します
772 <pre><code>$ sudo apt-get purge -y hogehoge</code></pre>
775 「hogehoge」を出てきたパッケージ名に置き換えてください
778 2.ベースになるパッケージをインストールする
781 以下のコマンドを実行してインストールします
784 <pre><code>$ sudo apt -y install ubiquity-slideshow-xubuntu</code></pre>
787 インストールされたスライドはHTMLやCSS、JavaScriptで書かれています
790 それらを編集して自分のディストリビューション用のスライドを作成していきます
799 スライドのデータは以下のパスに保存されています
802 <pre><code>/usr/share/ubiquiy-slideshow/slides/</code></pre>
805 スクリーンショットなどのファイル名は自由に変更できますが、htmlのファイル名は編集しないことをおすすめします
808 アイコン、スクリーンショットを準備してそれぞれのフォルダに保存したあとはhtmlを編集していきます
811 上のパスの直下にあるhtmlは英語で書きます
814 <pre><code>/usr/share/ubiquity-slideshow/l10n/ja/</code></pre>
817 こちらのパスに日本語のスライドを配置します
820 HTML内の記述のアイコンやスクリーンショットのファイル名と実際のファイル名を一緒にします
823 ある程度の文章が完成したら、HTMLの構文チェックを行います
826 ブラウザでは表示できても、構文ミスが有るとスライドでは正常に表示されないことがあります
832 HTMLが完成したらCSSを書いていきます
835 CSSは実際にプレビューしながらの編集ができないのでかなり難しいですが頑張ってください
841 以下のコマンドでファイルの権限を変更します
844 <pre><code>$ sudo chown -R root:root /usr/share/ubiquity-slideshow/</code></pre>
845 <pre><code>$ sudo chmod -R 755 /usr/share/ubiquity-slideshow/</code></pre>
848 コマンドの意味を簡単に解説すると、1行目で/usr/share/ubiquity-slideshow/以下のすべてのファイルの所有者と所有グループをrootにしています
851 2行目では/usr/share/ubiquity-slideshow/以下のファイルすべてのパーミッションを変更しています
854 所有者は「読み取り、書き込み、実行」のすべてを行うことができて、所有グループとその他の人は「読み取り、実行」ができるようにしています
857 パーミッションの設定を間違えると正常に表示されなかったり自由に改変されてしまったりします
860 インストールスライドは何度のisoを作成して実際に確認するのが一番です
866 ISOでライブ起動をした時に、デスクトップに「~~をインストールする」というアイコンが表示されます
869 このアイコンがデフォルトのままだとBodhiLinuxのままになってしまいます
878 アイコンにしたいファイルを用意し、以下のパスにコピーします
882 <code>/usr/share/icons/bbinstall.png
883 /usr/share/icons/bbinstall_previous.png</code>
893 なぜかシンボリックリンクでは正常にできませんでした
905 この変更はGrubやBodhiBuilderなど、全てに適用されます
920 <a href="makeiso.html">ISO作成編へ行く</a>
927 It is provided by SereneLinux.
930 © 2019 SereneTeam All Rights Reserved.
932 <script type="text/javascript" src="//ct2.shinobi.jp/sc/1744984">
934 <noscript><img src="//ct2.shinobi.jp/ll/1744984" alt="カウンター">