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">
27 【2019年版】Ubuntu系のOSを自作しよう ~カスタマイズ編~
30 BodhiBuilderを用いてオリジナルのOSを作成します。
33 自分の好きなデスクトップ環境やソフトウェアを入れてオリジナルのOSを作成しましょう。
36 実際に開発中のOS『SereneLinux』の実例を挙げながらわかりやすく解説していきます。
41 <li><a href="../index.html">トップページ</a></li>
42 <li><a href="preparation.html">準備編</a></li>
43 <li><a class="active" href="customize.html">カスタマイズ編</a></li>
44 <li><a href="makeiso.html">ISO作成編</a></li>
45 <li><a href="distribution.html">配布編</a></li>
46 <li class="right"><a href="about.html">About</a></li>
47 <li class="right"><a href="website.html">参考サイト</a></li>
57 実際にBasixをカスタマイズしていきましょう。
63 非常に長くなるので頑張って読んでください...
66 カスタマイズくらいできるわ!って人は9から読んでください
69 8以降はOS作成だけのカスタマイズなので知らない人もいるかもしれません
125 デスクトップ環境を決める上で重要になるのが「ターゲットにするユーザー」です
128 準備編で決めたことがここで重要になってきます
131 以下にそれぞれのデスクトップ環境の特徴を書いていくので好きなものを選んでください
134 重くはなりますが、複数のデスクトップ環境を搭載することもできます
141 <th>標準ディストリビューション</th>
153 <td label="標準ディストリビューション">
173 <td label="標準ディストリビューション">
195 <td label="標準ディストリビューション">
215 <td label="標準ディストリビューション">
239 <td label="標準ディストリビューション">
261 <td label="標準ディストリビューション">
283 <td label="標準ディストリビューション">
304 <td label="標準ディストリビューション">
311 Gnome2(Ubuntu 10.10までのUI)からフォーク
330 軽量でカスタマイズ性が高いので自由に改造することができます
333 SereneLinuxもXfce4をベースにしています
336 今回はXfce4を選んだとして関節を勧めていこうと思います
345 ディスプレイマネージャとは、いわゆるログイン画面です
355 <th>標準ディストリビューション</th>
367 <td label="標準ディストリビューション">
389 <td label="標準ディストリビューション">
390 Xubuntu、Lubuntu、Ubuntu(17.10まで)
410 <td label="標準ディストリビューション">
429 <td label="標準ディストリビューション">
448 今回は最も一般的なLightDMを使用していきます
451 (筆者はLightDMとGDMしか使用したこと無いのでSDDMはわからないです)
457 LightDMには「Greeter」と呼ばれるテーマを適用させる機能があります(他のDMにもあるのかな?)
460 SereneLinuxではUbuntu17.10まで使われていた「unity-greeter」を適用させています
463 この「Unity-Greeter」はインストール後に手動で設定をする必要があります
469 <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>
472 上のサイトと同じになってしまいますが、一応こちらでも解説しようと思います
477 unity-greeterをインストールする
482 <pre><code>$ sudo apt-get -y install unity-greeter</code></pre>
487 以下のコマンドを実行して設定ファイルを削除します
490 <pre><code>$ sudo rm /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf</code></pre>
499 <pre><code>$ sudo touch /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
507 <pre><code>$ sudo nano /usr/share/lightdm/lightdm.conf.d/50-xfce-greeter.conf</code></pre>
509 以下のコードを書き込んで「Ctrl + O」を押して保存し、「Ctrl + X」で終了します
511 <pre><code>[SeatDefaults]
512 greeter-session=unity-greeter
513 user-session=xfce</code></pre>
517 <pre><code>$ sudo reboot</code></pre>
529 自分の好きなテーマをネット上で探して自分のOSのデフォルトにしましょう
532 テーマのライセンスさえOKで、現在のGTK3に準拠しているテーマなら何でも適用できます
535 SereneLinuxでは「Numix」というテーマを採用しています
538 テーマによってディストリビューションの印象を大きく変えることになるので慎重にに選んでください
541 テーマは以下のサイトから探すと簡単に見つけることができます
544 <li><a href="https://www.xfce-look.org/" target="_blank">Xfce-Look</a></li>
545 <li><a href="https://www.gnome-look.org/" target="_blank">Gnome-Look</a></li>
548 GTK3のテーマをダウンロードしてください
551 自分の考えたユーザのターゲットに合ったテーマを選ぶといいでしょう
553 <p>ライセンスをよく読み、再配布が可能かどうかを確かめてください</p>
561 ダウンロードしたテーマファイルを展開してください
564 Windowsで展開するといろいろと問題が起きる可能性があるので必ずLinux環境で展開を行ってください
567 展開したら、.themeの拡張子がついたファイルが入っているフォルダを以下のパスにRoot権限でコピーしてください
570 <pre><code>/usr/share/themes</code></pre>
573 コピーしたら設定から自分のテーマを設定します
576 <p>テーマと同じサイトでアイコンを探し、ディレクトリにコピーするだけです</p>
577 <p><pre><code>/usr/share/icons</code></pre></p>
579 (解説超手抜きです すみません もしかしたら細かく書くかもです)
585 アイコンと同じ方法でインストール、設定できます
588 カーソルテーマはアイコンと同じディレクトリにコピーします
597 不要なパッケージが多いとisoサイズがどんどん大きくなってしまいますのでなるべく小さくします
600 インストールされているパッケージは以下のコマンドで確認できます
602 <p><pre><code>$ sudo dpkg -l | less</code></pre></p>
607 Gnome系のパッケージは削除できるかもしれません
610 削除してよいかどうか分からなかったらパッケージ名で検索してみたり、Basixと比較してみると良いかもしれません
613 削除する際は「-y」で一気に削除するのではなく、削除されるパッケージを確認して確実に削除してください
616 また、削除の際は「remove」ではなく「purge」を使用してください
619 違いはというと、「remove」では設定ファイルは削除されませんが、「purge」では設定ファイルまで削除されます
622 必要以上の設定ファイルはごみになるだけなので削除します
625 パッケージを削除する際は以下のテンプレートを使用すると簡単です
628 <pre><code>$ sudo apt-get purge hogehoge</code></pre>
631 (hogehogeは各自で置き換えてください)
638 自分の好きなパッケージをインストールします
641 標準のリポジトリになければ自分でリポジトリを追加します
644 おすすめのパッケージは「UbuntuCleaner」です
650 不要なパッケージを削除してくれるのでディストリビューション作成には必須です
659 Xfceの場合は自分の好きな位置にパネルを配置します
662 Xubuntuに標準で入っているアプリケーションメニューは以下のコマンドでインストールできます
665 <pre><code>$ sudo apt -y install xfce4-whiskermenu-plugin</code></pre>
668 Xfce以外のデスクチップ環境でもある程度はカスタマイズできると思いますが、Gnomeなどはプラグインを追加する程度だと思います
671 SereneLinuxでは、パネルを上に配置し、長さを変更、アイテムの配置を変更して「cairo-dock」をインストール、設定しています
674 UIはディストリビューションの顔になるのでしっかりと考える必要があります
683 今まで設定した項目をisoに適用させるために保存します
686 BodhiBuilderでは/home以下はisoに入れないので.configといった設定ファイルも保存されません
689 そのために別のディレクトリに.configなどをコピーする必要があります
701 SereneLinuxでは、「Cairo-Dock」や「Xfce4」などが変更されています
704 2.変更されたソフトの設定ファイルを見つけ出す
707 ほとんどの設定ファイルはユーザディレクトリ下の.configディレクトリ内に保存されています
710 そのディレクトリを別のディレクトリにコピーしておきます
713 一部の設定ファイルはホームディレクトリ直下や、別の場所に保存されていることもあるのでインターネット上で情報を探すなりfindコマンドを実行するなりして設定ファイルを探し出してください
716 3.見つけ出した設定ファイルを、スケルトンディレクトリにコピーする
719 設定ファイルのディレクトリ構造をスケルトンディレクトリに再現します
722 Debian系のスケルトンディレクトリは以下のパスです
725 <pre><code>/etc/skel</code></pre>
728 上記のパスを~/(ホームディレクトリ)に見立てて.configなどのディレクトリを作成し、設定ファイルや設定フォルダをコピーします
731 新しいユーザやisoが作成される際はスケルトンディレクトリ内のデータが~/にコピーされます
734 例えば~/.config/hoge.confのファイルをスケルトンディレクトリにコピーしたかったら/etc/skel/.config/hoge.confにコピーします
737 変更されたソフトの設定ファイルをすべてコピーしないと正常に作動しないのでしっかりとコピーする必要があります
740 かといって、全部丸々コピーするのもよくありません
743 個人情報までisoに含んでしまうかもしれないのでスケルトンディレクトリにコピーするファイルやフォルダはしっかりと内容を見ておくことが大切です
746 この部分は非常に複雑なのでわからなければ筆者のDMもしくはメールに来てください
749 この作業は設定を変更するたびにし直す必要があります
755 インストール中に表示されるインストールスライドを変更します
758 インストールスライドはubiquity-slideshow-*という形式のパッケージで設定されています
764 1.ディストリビューション標準のスライドを削除する
767 以下のコマンドを実行してインストールされているパッケージを見つけ出します
770 <pre><code>$ sudo dpkg -l | grep "ubiquiy-slideshow"</code></pre>
773 出てきたパッケージを以下のコマンドで削除します
776 <pre><code>$ sudo apt-get purge -y hogehoge</code></pre>
779 「hogehoge」を出てきたパッケージ名に置き換えてください
782 2.ベースになるパッケージをインストールする
785 以下のコマンドを実行してインストールします
788 <pre><code>$ sudo apt -y install ubiquity-slideshow-xubuntu</code></pre>
791 インストールされたスライドはHTMLやCSS、JavaScriptで書かれています
794 それらを編集して自分のディストリビューション用のスライドを作成していきます
803 スライドのデータは以下のパスに保存されています
806 <pre><code>/usr/share/ubiquiy-slideshow/slides/</code></pre>
809 スクリーンショットなどのファイル名は自由に変更できますが、htmlのファイル名は編集しないことをおすすめします
812 アイコン、スクリーンショットを準備してそれぞれのフォルダに保存したあとはhtmlを編集していきます
815 上のパスの直下にあるhtmlは英語で書きます
818 <pre><code>/usr/share/ubiquity-slideshow/l10n/ja/</code></pre>
821 こちらのパスに日本語のスライドを配置します
824 HTML内の記述のアイコンやスクリーンショットのファイル名と実際のファイル名を一緒にします
827 ある程度の文章が完成したら、HTMLの構文チェックを行います
830 ブラウザでは表示できても、構文ミスが有るとスライドでは正常に表示されないことがあります
836 HTMLが完成したらCSSを書いていきます
839 CSSは実際にプレビューしながらの編集ができないのでかなり難しいですが頑張ってください
845 以下のコマンドでファイルの権限を変更します
848 <pre><code>$ sudo chown -R root:root /usr/share/ubiquity-slideshow/</code></pre>
849 <pre><code>$ sudo chmod -R 755 /usr/share/ubiquity-slideshow/</code></pre>
852 コマンドの意味を簡単に解説すると、1行目で/usr/share/ubiquity-slideshow/以下のすべてのファイルの所有者と所有グループをrootにしています
855 2行目では/usr/share/ubiquity-slideshow/以下のファイルすべてのパーミッションを変更しています
858 所有者は「読み取り、書き込み、実行」のすべてを行うことができて、所有グループとその他の人は「読み取り、実行」ができるようにしています
861 パーミッションの設定を間違えると正常に表示されなかったり自由に改変されてしまったりします
864 インストールスライドは何度のisoを作成して実際に確認するのが一番です
870 ISOでライブ起動をした時に、デスクトップに「~~をインストールする」というアイコンが表示されます
873 このアイコンがデフォルトのままだとBodhiLinuxのままになってしまいます
882 アイコンにしたいファイルを用意し、以下のパスにコピーします
886 <code>/usr/share/icons/bbinstall.png
887 /usr/share/icons/bbinstall_previous.png</code>
897 なぜかシンボリックリンクでは正常にできませんでした
909 この変更はGrubやBodhiBuilderなど、全てに適用されます
912 OS名などは以下のファイルに情報が記載されています
915 <pre><code>/usr/lib/os-release</code></pre>
918 このファイルの1箇所を修正すれば大丈夫です
921 変更可能な変数は「PRETTY_NAME」、「HOME_URL」「SUPPORT_URL」です
924 実際に変更するのは「PRETTY_NAME」だけで大丈夫です
927 自分でディストリビューションのフォーラムなどを作るのであればそのURLを入力してください
933 リポジトリ追加やインストールができなくなります
936 参考に、SereneLinuxのソースを載せておきます
939 <pre><code>NAME="Ubuntu"
940 VERSION="18.04.2 LTS (Bionic Beaver)"
943 PRETTY_NAME="SereneLinux_19Q1.7.1_R1"
945 HOME_URL="https://www.ubuntu.com/"
946 SUPPORT_URL="https://help.ubuntu.com/"
947 BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
948 PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
949 VERSION_CODENAME=bionic
950 UBUNTU_CODENAME=bionic</code></pre>
959 Basixは独自に/etc/basixに設定ファイルを持っています
962 それを削除しないと上のOS名などが上書きされてしまいます
965 しかしPlymouthテーマ(起動スプラッシュ)などのデータも入っているためうかつに触ることはできません
983 <a href="makeiso.html">ISO作成編へ行く</a>
990 It is provided by SereneLinux.
993 © 2019 SereneTeam All Rights Reserved.
995 <script type="text/javascript" src="//ct2.shinobi.jp/sc/1744984">
997 <noscript><img src="//ct2.shinobi.jp/ll/1744984" alt="カウンター">