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> -->
25 【2019年版】Ubuntu系のOSを自作しよう カスタマイズ編
28 BodhiBuilderを用いてオリジナルのOSを作成します。
31 自分の好きなデスクトップ環境やソフトウェアを入れてオリジナルのOSを作成しましょう。
34 実際に製作中のOS『SereneLinux』の実例を挙げながらわかりやすく解説していきます。
39 <li><a href="../index.html">トップページ</a></li>
40 <li><a href="preparation.html">準備編</a></li>
41 <li><a class="active" href="customize.html">カスタマイズ編</a></li>
42 <li><a href="makeiso.html">ISO作成編</a></li>
43 <li><a href="distribution.html">配布編</a></li>
44 <li class="right"><a href="about.html">About</a></li>
54 実際にBasixをカスタマイズしていきましょう。
97 非常に長くなるので頑張って読んでください...
100 カスタマイズくらいできるわ!って人は8から読んでください
103 8以降はOS作成だけのカスタマイズなので知らない人もいるかもしれません
114 デスクトップ環境を決める上で重要になるのが「ターゲットにするユーザー」です
117 準備編で決めたことがここで重要になってきます
120 以下にそれぞれのデスクトップ環境の特徴を書いていくので好きなものを選んでください
123 重くはなりますが、複数のデスクトップ環境を搭載することもできます
129 <th>標準ディストリビューション</th>
141 <td label="標準ディストリビューション">
161 <td label="標準ディストリビューション">
183 <td label="標準ディストリビューション">
203 <td label="標準ディストリビューション">
227 <td label="標準ディストリビューション">
249 <td label="標準ディストリビューション">
271 <td label="標準ディストリビューション">
292 <td label="標準ディストリビューション">
299 Gnome2(Ubuntu 10.10までのUI)からフォーク
317 軽量でカスタマイズ性が高いので自由に改造することができます
320 SereneLinuxもXfce4をベースにしています
323 今回はXfce4を選んだとして関節を勧めていこうと思います
332 ディスプレイマネージャとは、いわゆるログイン画面です
341 <th>標準ディストリビューション</th>
353 <td label="標準ディストリビューション">
375 <td label="標準ディストリビューション">
376 Xubuntu、Lubuntu、Ubuntu(17.10まで)
396 <td label="標準ディストリビューション">
415 <td label="標準ディストリビューション">
433 今回は最も一般的なLightDMを使用していきます
436 (筆者はLightDMとGDMしか使用したこと無いのでSDDMやKDMはわからないです)
442 LightDMには「Greeter」と呼ばれるテーマを適用させる機能があります(他のDMにもあるのかな?)
445 SereneLinuxではUbuntu17.10まで使われていた「unity-greeter」を適用させています
448 この「Unity-Greeter」はインストール後に手動で設定をする必要があります
454 <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>
457 上のサイトと同じになってしまいますが、一応こちらでも解説しようと思います
462 unity-greeterをインストールする
467 <pre><code>$ sudo apt-get -y install unity-greeter</code></pre>
472 以下のコマンドを実行して設定ファイルを削除します
475 <pre><code>$ sudo rm /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf</code></pre>
484 <pre><code>$ sudo touch /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
492 <pre><code>$ sudo nano /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
494 以下のコードを書き込んで「Ctrl + O」を押して保存し、「Ctrl + X」で終了します
496 <pre><code>[SeatDefaults]
497 greeter-session=unity-greeter
498 user-session=xfce</code></pre>
502 <pre><code>$ sudo reboot</code></pre>
514 自分の好きなテーマをネット上で探して自分のOSのデフォルトにしましょう
517 テーマのライセンスさえOKで、現在のGTK3に準拠しているテーマなら何でも適用できます
520 SereneLinuxでは「Numix」というテーマを採用しています
523 テーマによってディストリビューションの印象を大きく変えることになるので慎重にに選んでください
526 テーマは以下のサイトから探すと簡単に見つけることができます
529 <li><a href="https://www.xfce-look.org/" target="_blank">Xfce-Look</a></li>
530 <li><a href="https://www.gnome-look.org/" target="_blank">Gnome-Look</a></li>
533 GTK3のテーマをダウンロードしてください
536 自分の考えたユーザのターゲットに合ったテーマを選ぶといいでしょう
538 <p>ライセンスをよく読み、再配布が可能かどうかを確かめてください</p>
546 ダウンロードしたテーマファイルを展開してください
549 Windowsで展開するといろいろと問題が起きる可能性があるので必ずLinux環境で展開を行ってください
552 展開したら、.themeの拡張子がついたファイルが入っているフォルダを以下のパスにRoot権限でコピーしてください
555 <pre><code>/usr/share/themes</code></pre>
558 コピーしたら設定から自分のテーマを設定します
561 <p>テーマと同じサイトでアイコンを探し、ディレクトリにコピーするだけです</p>
562 <p><pre><code>/usr/share/icons</code></pre></p>
564 (解説超手抜きです すみません もしかしたら細かく書くかもです)
570 アイコンと同じ方法でインストール、設定できます
573 カーソルテーマはアイコンと同じディレクトリにコピーします
582 不要なパッケージが多いとisoサイズがどんどん大きくなってしまいますのでなるべく小さくします
585 インストールされているパッケージは以下のコマンドで確認できます
587 <p><pre><code>$ sudo dpkg -l | less</code></pre></p>
592 Gnome系のパッケージは削除できるかもしれません
595 削除してよいかどうか分からなかったらパッケージ名で検索してみたり、Basixと比較してみると良いかもしれません
598 削除する際は「-y」で一気に削除するのではなく、削除されるパッケージを確認して確実に削除してください
601 また、削除の際は「remove」ではなく「purge」を使用してください
604 違いはというと、「remove」では設定ファイルは削除されませんが、「purge」では設定ファイルまで削除されます
607 必要以上の設定ファイルはごみになるだけなので削除します
610 パッケージを削除する際は以下のテンプレートを使用すると簡単です
613 <pre><code>$ sudo apt-get purge hogehoge</code></pre>
616 (hogehogeは各自で置き換えてください)
623 自分の好きなパッケージをインストールします
626 標準のリポジトリになければ自分でリポジトリを追加します
629 おすすめのパッケージは「UbuntuCleaner」です
635 不要なパッケージを削除してくれるのでディストリビューション作成には必須です
644 Xfceの場合は自分の好きな位置にパネルを配置します
647 Xubuntuに標準で入っているアプリケーションメニューは以下のコマンドでインストールできます
650 <pre><code>$ sudo apt -y install xfce4-whiskermenu-plugin</code></pre>
653 Xfce以外のデスクチップ環境でもある程度はカスタマイズできると思いますが、Gnomeなどはプラグインを追加する程度だと思います
656 SereneLinuxでは、パネルを上に配置し、長さを変更、アイテムの配置を変更して「cairo-dock」をインストール、設定しています
659 UIはディストリビューションの顔になるのでしっかりと考える必要があります
668 今まで設定した項目をisoに適用させるために保存します
671 BodhiBuilderでは/home以下はisoに入れないので.configといった設定ファイルも保存されません
674 そのために別のディレクトリに.configなどをコピーする必要があります
686 SereneLinuxでは、「Cairo-Dock」や「Xfce4」などが変更されています
689 2.変更されたソフトの設定ファイルを見つけ出す
692 ほとんどの設定ファイルはユーザディレクトリ下の.configディレクトリ内に保存されています
695 そのディレクトリを別のディレクトリにコピーしておきます
698 一部の設定ファイルはホームディレクトリ直下や、別の場所に保存されていることもあるのでインターネット上で情報を探すなりfindコマンドを実行するなりして設定ファイルを探し出してください
701 3.見つけ出した設定ファイルを、スケルトンディレクトリにコピーする
704 設定ファイルのディレクトリ構造をスケルトンディレクトリに再現します
707 Debian系のスケルトンディレクトリは以下のパスです
710 <pre><code>/etc/skel</code></pre>
713 上記のパスを~/(ホームディレクトリ)に見立てて.configなどのディレクトリを作成し、設定ファイルや設定フォルダをコピーします
716 新しいユーザやisoが作成される際はスケルトンディレクトリ内のデータが~/にコピーされます
719 例えば~/.config/hoge.confのファイルをスケルトンディレクトリにコピーしたかったら/etc/skel/.config/hoge.confにコピーします
722 変更されたソフトの設定ファイルをすべてコピーしないと正常に作動しないのでしっかりとコピーする必要があります
725 かといって、全部丸々コピーするのもよくありません
728 個人情報までisoに含んでしまうかもしれないのでスケルトンディレクトリにコピーするファイルやフォルダはしっかりと内容を見ておくことが大切です
731 この部分は非常に複雑なのでわからなければ筆者のDMもしくはメールに来てください
734 この作業は設定を変更するたびにし直す必要があります
740 インストール中に表示されるインストールスライドを変更します
743 インストールスライドはubiquity-slideshow-*という形式のパッケージで設定されています
749 1.ディストリビューション標準のスライドを削除する
752 以下のコマンドを実行してインストールされているパッケージを見つけ出します
755 <pre><code>$ sudo dpkg -l | grep "ubiquiy-slideshow"</code></pre>
758 出てきたパッケージを以下のコマンドで削除します
761 <pre><code>$ sudo apt-get purge -y hogehoge</code></pre>
764 「hogehoge」を出てきたパッケージ名に置き換えてください
767 2.ベースになるパッケージをインストールする
770 以下のコマンドを実行してインストールします
773 <pre><code>$ sudo apt -y install ubiquity-slideshow-xubuntu</code></pre>
776 インストールされたスライドはHTMLやCSS、JavaScriptで書かれています
779 それらを編集して自分のディストリビューション用のスライドを作成していきます
788 スライドのデータは以下のパスに保存されています
791 <pre><code>/usr/share/ubiquiy-slideshow/slides/</code></pre>
794 スクリーンショットなどのファイル名は自由に変更できますが、htmlのファイル名は編集しないことをおすすめします
797 アイコン、スクリーンショットを準備してそれぞれのフォルダに保存したあとはhtmlを編集していきます
800 上のパスの直下にあるhtmlは英語で書きます
803 <pre><code>/usr/share/ubiquity-slideshow/l10n/ja/</code></pre>
806 こちらのパスに日本語のスライドを配置します
809 HTML内の記述のアイコンやスクリーンショットのファイル名と実際のファイル名を一緒にします
812 ある程度の文章が完成したら、HTMLの構文チェックを行います
815 ブラウザでは表示できても、構文ミスが有るとスライドでは正常に表示されないことがあります
821 HTMLが完成したらCSSを書いていきます
824 CSSは実際にプレビューしながらの編集ができないのでかなり難しいですが頑張ってください
830 以下のコマンドでファイルの権限を変更します
833 <pre><code>$ sudo chown -R root:root /usr/share/ubiquity-slideshow/</code></pre>
834 <pre><code>$ sudo chmod -R 755 /usr/share/ubiquity-slideshow/</code></pre>
837 コマンドの意味を簡単に解説すると、1行目で/usr/share/ubiquity-slideshow/以下のすべてのファイルの所有者と所有グループをrootにしています
840 2行目では/usr/share/ubiquity-slideshow/以下のファイルすべてのパーミッションを変更しています
843 所有者は「読み取り、書き込み、実行」のすべてを行うことができて、所有グループとその他の人は「読み取り、実行」ができるようにしています
846 パーミッションの設定を間違えると正常に表示されなかったり自由に改変されてしまったりします
849 インストールスライドは何度のisoを作成して実際に確認するのが一番です
864 <a href="makeiso.html">ISO作成編へ行く</a>
871 It is provided by SereneLinux.
874 © 2019 SereneTeam All Rights Reserved.
876 <script type="text/javascript" src="//ct2.shinobi.jp/sc/1744984">
878 <noscript><img src="//ct2.shinobi.jp/ll/1744984" alt="カウンター">