# 無 保 証 で す
当方執筆の技術情報に関するライセンス、免責事項、禁止事項
本記事記載スクリプト群の対応バージョン : Slackware 14.2 x86_64
用途・目的別 Slackware 系ディストリビューション紹介
Slackware らしさを受け継ぎつつ充実した日本語環境・ドキュメントを有する Linux が使いたい
→ Plamo Linux
GUI の各種管理ツールが付属するシンプル1 な Slackware 互換 Linux が使いたい2
→ Salix OS
インストール直後から快適に使えるようチューニングされ、TUI/GUI 向けに各種管理ツールが追加されたシンプル1 な Slackware 互換 Linux が使いたい3
→ Zenwalk
TUI/GUI 双方で動作するシンプルな統合システム管理ツールを有する Slackware 系 Linux が使いたい
→ VectorLinux
軽量かつキュートな Slackware 系 Linux が使いたい
→ Slacko Puppy Linux
軽さを追及したポータブルな4 Slackware 系 Linux が使いたい
→ Porteus
ゆるい Linux が使いたい
→ Slackware Linux
こちらもどうぞ
Slackware 14.2 インストールの流れ/cgdisk による TUI パーティショニング/pkgtool によるシステムの再セットアップ
Slackware で SlackBuilds.org を利用する/SlackBuilds.org や公式リポジトリの更新通知を受けとる
デフォルトランレベル変更ツール
Slackware のデフォルトランレベルを対話的に変更する。
TUIによる対話的再設定スクリプト
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/blob/master/fa-defaultrunlevel
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/raw/master/fa-defaultrunlevel
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/raw/master/fa-defaultrunlevel && chmod +x $(pwd)/fa-defaultrunlevel && su -l -c $(pwd)/fa-defaultrunlevel
コンソールのキーマップ再設定ツール
Linux コンソールのキーマップを対話的に再設定する。
TUIによる対話的再設定スクリプト
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/blob/master/fa-keyboardreconfig
https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/raw/master/fa-keyboardreconfig
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/fluidagate-toolbox/raw/master/fa-keyboardreconfig && chmod +x $(pwd)/fa-keyboardreconfig && su -l -c $(pwd)/fa-keyboardreconfig
xwmconfig 用日本語環境ラッパー
ラッパーファイルを生成し、xwmconfig に日本語環境設定機能を加える。
切り替え可能なインプットメソッドフレームワークは SCIM, IBus, Fcitx, uim 。
TUIによる対話的再設定スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/xwmconfiglocalize
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/xwmconfiglocalize
ダウンロードしたスクリプトを /usr/local/bin 等に置いて実行権限を付与。
使用時は一般ユーザー権限で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/xwmconfiglocalize && chmod +x $(pwd)/xwmconfiglocalize && $(pwd)/xwmconfiglocalize
SlackBuilds.org 向け各種フロントエンドの導入
sbopkg の導入
公式サイトから最新版をダウンロードしインストール。
wget https://github.com/sbopkg/sbopkg/releases/download/0.38.1/sbopkg-0.38.1-noarch-1_wsr.tgz && su -l -c "upgradepkg $(pwd)/sbopkg-0.38.1-noarch-1_wsr.tgz" || su -l -c "installpkg $(pwd)/sbopkg-0.38.1-noarch-1_wsr.tgz"
sbotools 導入スクリプト
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/blob/master/install_sbotools-2.7.sh
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_sbotools-2.7.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_sbotools-2.7.sh && chmod +x $(pwd)/install_sbotools-2.7.sh && su -l -c $(pwd)/install_sbotools-2.7.sh
sboui(通知機能無し版)導入スクリプト
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/blob/master/install_sboui-2.0.1.sh
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_sboui-2.0.1.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_sboui-2.0.1.sh && chmod +x $(pwd)/install_sboui-2.0.1.sh && su -l -c $(pwd)/install_sboui-2.0.1.sh
#日本語表示環境の整備
各種日本語フォント導入ツール
指定されたフォントをダウンロードし ~/.fonts 以下に配置しフォントキャッシュを更新する。
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/modify-jfonts
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/modify-jfonts
ダウンロードしたスクリプトを /usr/local/bin 等に置いて実行権限を付与。
使用時は一般ユーザー権限で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/modify-jfonts && chmod +x $(pwd)/modify-jfonts && $(pwd)/modify-jfonts
スクリーンショット
対応フォント
HackGen
IPA
Kochi-substitute
Migu
Monapo
M+
Noto CJK JP
Ricty Diminished
Sazanami
Ume
UmePlus
VL Gothic
serif, sans-serif, monospace のフォールバック先については /etc/fonts/conf.avail/65-nonlatin.conf に記載有り。
65-nonlatin.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Artsounk</family> <!-- armenian -->
<family>BPG UTF8 M</family> <!-- georgian -->
<family>Kinnari</family> <!-- thai -->
<family>Norasi</family> <!-- thai -->
<family>Frank Ruehl</family> <!-- hebrew -->
<family>Dror</family> <!-- hebrew -->
<family>JG LaoTimes</family> <!-- lao -->
<family>Saysettha Unicode</family> <!-- lao -->
<family>Pigiarniq</family> <!-- canadian syllabics -->
<family>B Davat</family> <!-- arabic (fa) -->
<family>B Compset</family> <!-- arabic (fa) -->
<family>Kacst-Qr</family> <!-- arabic (ar) -->
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
<family>Raghindi</family> <!-- devanagari -->
<family>Mukti Narrow</family> <!-- bengali -->
<family>malayalam</family> <!-- malayalam -->
<family>Sampige</family> <!-- kannada -->
<family>padmaa</family> <!-- gujarati -->
<family>Hapax Berbère</family> <!-- tifinagh -->
<family>MS Mincho</family> <!-- han (ja) -->
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
<family>PMingLiu</family> <!-- han (zh-tw) -->
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
<family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
<family>MgOpen Canonica</family>
<family>Sazanami Mincho</family>
<family>IPAMonaMincho</family>
<family>IPAMincho</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>AR PL Zenkai Uni</family>
<family>MS 明朝</family>
<family>ZYSong18030</family>
<family>NanumMyeongjo</family> <!-- hangul (ko) -->
<family>UnBatang</family> <!-- hangul (ko) -->
<family>Baekmuk Batang</family> <!-- hangul (ko) -->
<family>KacstQura</family>
<family>Frank Ruehl CLM</family>
<family>Lohit Bengali</family>
<family>Lohit Gujarati</family>
<family>Lohit Hindi</family>
<family>Lohit Marathi</family>
<family>Lohit Maithili</family>
<family>Lohit Kashmiri</family>
<family>Lohit Konkani</family>
<family>Lohit Nepali</family>
<family>Lohit Sindhi</family>
<family>Lohit Punjabi</family>
<family>Lohit Tamil</family>
<family>Meera</family>
<family>Lohit Malayalam</family>
<family>Lohit Kannada</family>
<family>Lohit Telugu</family>
<family>Lohit Oriya</family>
<family>LKLUG</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Nachlieli</family> <!-- hebrew -->
<family>Lucida Sans Unicode</family>
<family>Yudit Unicode</family>
<family>Kerkis</family> <!-- greek -->
<family>ArmNet Helvetica</family> <!-- armenian -->
<family>Artsounk</family> <!-- armenian -->
<family>BPG UTF8 M</family> <!-- georgian -->
<family>Waree</family> <!-- thai -->
<family>Loma</family> <!-- thai -->
<family>Garuda</family> <!-- thai -->
<family>Umpush</family> <!-- thai -->
<family>Saysettha Unicode</family> <!-- lao? -->
<family>JG Lao Old Arial</family> <!-- lao -->
<family>GF Zemen Unicode</family> <!-- ethiopic -->
<family>Pigiarniq</family> <!-- canadian syllabics -->
<family>B Davat</family> <!-- arabic (fa) -->
<family>B Compset</family> <!-- arabic (fa) -->
<family>Kacst-Qr</family> <!-- arabic (ar) -->
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
<family>Raghindi</family> <!-- devanagari -->
<family>Mukti Narrow</family> <!-- bengali -->
<family>malayalam</family> <!-- malayalam -->
<family>Sampige</family> <!-- kannada -->
<family>padmaa</family> <!-- gujarati -->
<family>Hapax Berbère</family> <!-- tifinagh -->
<family>MS Gothic</family> <!-- han (ja) -->
<family>UmePlus P Gothic</family> <!-- han (ja) -->
<!-- chinese fonts are actually serifed -->
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
<family>PMingLiu</family> <!-- han (zh-tw) -->
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
<family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
<family>MgOpen Modata</family>
<family>VL Gothic</family>
<family>IPAMonaGothic</family>
<family>IPAGothic</family>
<family>Sazanami Gothic</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>MS ゴシック</family>
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
<family>TSCu_Paranar</family> <!-- tamil -->
<family>NanumGothic</family> <!-- hangul (ko) -->
<family>UnDotum</family> <!-- hangul (ko) -->
<family>Baekmuk Dotum</family> <!-- hangul (ko) -->
<family>Baekmuk Gulim</family> <!-- hangul (ko) -->
<family>KacstQura</family>
<family>Lohit Bengali</family>
<family>Lohit Gujarati</family>
<family>Lohit Hindi</family>
<family>Lohit Marathi</family>
<family>Lohit Maithili</family>
<family>Lohit Kashmiri</family>
<family>Lohit Konkani</family>
<family>Lohit Nepali</family>
<family>Lohit Sindhi</family>
<family>Lohit Punjabi</family>
<family>Lohit Tamil</family>
<family>Meera</family>
<family>Lohit Malayalam</family>
<family>Lohit Kannada</family>
<family>Lohit Telugu</family>
<family>Lohit Oriya</family>
<family>LKLUG</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Miriam Mono</family> <!-- hebrew -->
<family>VL Gothic</family>
<family>IPAMonaGothic</family>
<family>IPAGothic</family>
<family>Sazanami Gothic</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>MS Gothic</family> <!-- han (ja) -->
<family>UmePlus Gothic</family> <!-- han (ja) -->
<family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
<family>MingLiu</family> <!-- han (zh-tw) -->
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
<family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
<family>HanyiSong</family> <!-- han (zh-cn) -->
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
<family>NanumGothicCoding</family> <!-- hangul (ko) -->
<family>NanumGothic</family> <!-- hangul (ko) -->
<family>UnDotum</family> <!-- hangul (ko) -->
<family>Baekmuk Dotum</family> <!-- hangul (ko) -->
<family>Baekmuk Gulim</family> <!-- hangul (ko) -->
<family>TlwgTypo</family> <!-- thai -->
<family>TlwgTypist</family> <!-- thai -->
<family>TlwgTypewriter</family> <!-- thai -->
<family>TlwgMono</family> <!-- thai -->
<family>Hasida</family> <!-- hebrew -->
<family>Mitra Mono</family> <!-- bengali -->
<family>GF Zemen Unicode</family> <!-- ethiopic -->
<family>Hapax Berbère</family> <!-- tifinagh -->
<family>Lohit Bengali</family>
<family>Lohit Gujarati</family>
<family>Lohit Hindi</family>
<family>Lohit Marathi</family>
<family>Lohit Maithili</family>
<family>Lohit Kashmiri</family>
<family>Lohit Konkani</family>
<family>Lohit Nepali</family>
<family>Lohit Sindhi</family>
<family>Lohit Punjabi</family>
<family>Lohit Tamil</family>
<family>Meera</family>
<family>Lohit Malayalam</family>
<family>Lohit Kannada</family>
<family>Lohit Telugu</family>
<family>Lohit Oriya</family>
<family>LKLUG</family>
</prefer>
</alias>
</fontconfig>
FontForge & Ricty 導入スクリプト
FontForge 導入スクリプト
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/blob/master/install_fontforge-20190317.sh
https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_fontforge-20190317.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/watermenou-sbo-installhelper/raw/master/install_fontforge-20190317.sh && chmod +x $(pwd)/install_fontforge-20190317.sh && su -l -c $(pwd)/install_fontforge-20190317.sh
Ricty 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_fonts-ttf-ricty-4.1.1.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fonts-ttf-ricty-4.1.1.sh
ダウンロードしたスクリプトを /usr/local/bin 等に置いて実行権限を付与。
使用時は一般ユーザー権限で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fonts-ttf-ricty-4.1.1.sh && chmod +x $(pwd)/install_fonts-ttf-ricty-4.1.1.sh && $(pwd)/install_fonts-ttf-ricty-4.1.1.sh
lv 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_lv-4.51-7.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_lv-4.51-7.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_lv-4.51-7.sh && chmod +x $(pwd)/install_lv-4.51-7.sh && su -l -c $(pwd)/install_lv-4.51-7.sh
nkf の導入
su -l -c "/usr/sbin/sboinstall nkf"
sl の導入
su -l -c "/usr/sbin/sboinstall sl"
manpage の日本語表示の適正化スクリプト
/etc/man.conf を編集することで /usr/man/ja 以下のマニュアルアーカイブに対して読み込み時に nkf を用いた UTF-8 への文字コード自動変換を行う「しかけ」を追加する。
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/modify_etc_manconf_for_Japanese_Environment.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/modify_etc_manconf_for_Japanese_Environment.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/modify_etc_manconf_for_Japanese_Environment.sh && chmod +x $(pwd)/modify_etc_manconf_for_Japanese_Environment.sh && su -l -c $(pwd)/modify_etc_manconf_for_Japanese_Environment.sh
迷子の manpage について
/usr/man/jp/ や /usr/man/ja.UTF-8/ 以下に参照されない日本語 manpage が存在する場合、/usr/man/ja/ 以下の適切な場所にシンボリックリンクを作成すると良い。
su -l -c "ln -s /usr/man/jp/man1/* /usr/man/ja/man1/"
su -l -c "ln -s /usr/man/ja.UTF-8/man1/* /usr/man/ja/man1/"
日本語 manpage の導入
JM Project から最新のマニュアルアーカイブを入手し導入。
Slackware のマニュアルアーカイブのディレクトリ配置は /usr/share/man ではなく /usr/man である点に注意。
スクリーンショット
日本語マニュアルアーカイブをインストールしたにも関わらず読み込まれない場合、環境変数 LANG の値と日本語マニュアルアーカイブのインストール先のフォルダ名(ja_JP.utf8 や ja_JP.UTF-8 など)を一致させることで表示可能だった。
日本語マニュアルアーカイブのダウンロード
アーカイブの README ファイル
アーカイブの INSTALL ファイル
日本語入力環境の構築
G-HAL さん Patch 適用済み Anthy 9100h 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_Anthy-9100h-G-HAL-patch13-release-2019406.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_Anthy-9100h-G-HAL-patch13-release-2019406.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_Anthy-9100h-G-HAL-patch13-release-2019406.sh && chmod +x $(pwd)/install_Anthy-9100h-G-HAL-patch13-release-2019406.sh && su -l -c $(pwd)/install_Anthy-9100h-G-HAL-patch13-release-2019406.sh
SKK 辞書(SKK-JISYO.L)導入スクリプト
/usr/share/skk/ に SKK-JISYO.L をインストールする。
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_skk-jisyo.l.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_skk-jisyo.l.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_skk-jisyo.l.sh && chmod +x $(pwd)/install_skk-jisyo.l.sh && su -l -c $(pwd)/install_skk-jisyo.l.sh
ibus の導入
su -l -c "/usr/sbin/sboinstall ibus"
ibus-fep 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_ibus-fep-1.4.4.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_ibus-fep-1.4.4.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_ibus-fep-1.4.4.sh && chmod +x $(pwd)/install_ibus-fep-1.4.4.sh && su -l -c $(pwd)/install_ibus-fep-1.4.4.sh
ibus-qt の導入
SlackBuilds.org から導入可能。
ibus と Qt アプリの連携に。
su -l -c "/usr/sbin/sboinstall ibus-qt"
ibus-anthy の導入
su -l -c "/usr/sbin/sboinstall ibus-anthy"
ibus-skk の導入
su -l -c "/usr/sbin/sboinstall ibus-skk"
ibus-mozc の導入
fcitx-mozc の SlackBuild スクリプトを書き換え構築する。
fcitx の導入
su -l -c "/usr/sbin/sboinstall fcitx"
fcitx-configtool
SlackBuilds.org から導入可能。
GUI の fcitx 設定ツール。
su -l -c "/usr/sbin/sboinstall fcitx-configtool"
fcitx-anthy 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_fcitx-anthy-0.2.3.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-anthy-0.2.3.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-anthy-0.2.3.sh && chmod +x $(pwd)/install_fcitx-anthy-0.2.3.sh && su -l -c $(pwd)/install_fcitx-anthy-0.2.3.sh
fcitx-skk 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_fcitx-skk-0.1.3.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-skk-0.1.3.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-skk-0.1.3.sh && chmod +x $(pwd)/install_fcitx-skk-0.1.3.sh && su -l -c $(pwd)/install_fcitx-skk-0.1.3.sh
fcitx-mozc の導入
su -l -c "/usr/sbin/sboinstall fcitx-mozc"
uim 導入スクリプト
クリーンインストール直後のシステムにおいて uim のソースのみでビルド出来ることをビルドオプション選択の目安としました。
Configure Result :
Configure Result :
Anthy : yes
Anthy (UTF-8) : yes
Canna : no
Mana : no
PRIME : no
SJ3 : no
SKK : yes
Wnn : no
m17n-lib : yes
cURL : yes
expat : yes
OpenSSL : yes
SQLite3 : yes
ffi : yes
GTK+2 : yes
GNOME2 Applet : no
GTK+3 : yes
GNOME3 Applet : no
Qt3 : no
Qt3 immodule : no
Qt4 : yes
Qt4 immodule : yes
Qt4 Qt3Support : yes
Qt5 : no
Qt5 immodule : no
KDE3 Applet : no
KDE4 Applet : yes
FEP : yes
Emacs : yes
XIM : yes
Pref : yes
DICT : yes
EB : no
OSX dictionary : no
libedit : no
notify : stderr libnotify knotify4
Default toolkit : gtk
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_uim-1.8.8.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_uim-1.8.8.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_uim-1.8.8.sh && chmod +x $(pwd)/install_uim-1.8.8.sh && su -l -c $(pwd)/install_uim-1.8.8.sh
uim-mozc の導入
macuim に含まれる uim-mozc を slackware 向けにリビルドする。
https://code.google.com/archive/p/macuim/
https://github.com/e-kato/macuim/
Uim を使って日本語を入力 - ArchWiki
フレームバッファ及び KMS/DRM コンソールにおける日本語の表示と入力
Kernel Mode Setting (KMS) — The Linux Kernel documentation
https://www.kernel.org/doc/html/latest/gpu/drm-kms.html
Kernel Mode Setting - ArchWiki
https://wiki.archlinux.jp/index.php/Kernel_Mode_Setting
Frame Buffer — The Linux Kernel documentation
https://www.kernel.org/doc/html/latest/fb/
JF: Linux Kernel 2.6 Documentation: framebuffer.txt
http://archive.linux.or.jp/JF/JFdocs/kernel-docs-2.6/fb/framebuffer.txt.html
※ 非 X 環境、Linux コンソール上では半角/全角キーや変換キー、無変換キー等がインプットメソッドの ON/OFF に使えないかもしれません。その場合は Ctrl+Space などの無難なキーの組み合わせをインプットメソッドの ON/OFF や、かな漢字変換の ON/OFF に割り当てておくと良いでしょう。
kmscon の導入
SlackBuilds.org から導入可能。
kmscon ではマウスカーソルは使えないようである。
su -l -c "/usr/sbin/sboinstall kmscon"
/etc/inittab で呼び出す
https://linuxjm.osdn.jp/html/SysVinit/man5/inittab.5.html
https://www.atmarkit.co.jp/ait/articles/0204/02/news002.html
以下は /bin/login の代わりに /sbin/agetty を使い、tty6 で kmscon を動かす場合の設定例。
/etc/kmscon/kmscon.conf
の #login=/sbin/agetty 38400 -- - linux
をアンコメントし、/etc/inittab
の c6:12345:respawn:/sbin/agetty 38400 tty6 linux
を c6:12345:respawn:/usr/bin/kmscon
と変更する。
/etc/kmscon/kmscon.conf
# Config file for kmscon.
# Any long option listed in "man kmscon" can be used here.
# As shipped, all the options in this file are commented out.
# Use agetty for logging in.
# By default, kmscon spawns "/bin/login -p", which works fine but
# isn't as nice (or as familiar) as using agetty.
# If you plan to spawn kmscon from /etc/inittab, you probably want to
# uncomment this.
login=/sbin/agetty 38400 -- - linux
# Enable DRM 2D acceleration. 3D accel won't work unless you have
# GL/ES support (which Slackware doesn't ship with, and isn't available
# on SBo either).
drm
# Font size, in points (not pixels). Don't set too large, you want
# at least 80x25 character cells. 'echo $COLUMNS $LINES' should show
# at least 80 columns and 25 lines.
#font-size=15
# Enable shortcut keys for multiple sessions on the same
# virtual terminal.
#session-control
# Keyboard repeat delay is in milliseconds. Repeat rate is *also* in
# milliseconds (unlike "xset r", which uses repeats-per-second).
#xkb-repeat-delay=200
#xkb-repeat-rate=12
# Keyboard Layout, Variant, Options
xkb-layout=jp
xkb-variant=OADG109A
/etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Version: @(#)inittab 2.04 17/05/93 MvS
# 2.10 02/10/95 PV
# 3.00 02/06/1999 PV
# 4.00 04/10/2002 PV
# 13.37 2011-03-25 PJV
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>
#
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:
# System initialization (runs when system boots).
si:S:sysinit:/etc/rc.d/rc.S
# Script to run when going single user (runlevel 1).
su:1S:wait:/etc/rc.d/rc.K
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M
# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
# Runlevel 0 halts the system.
l0:0:wait:/etc/rc.d/rc.0
# Runlevel 6 reboots the system.
l6:6:wait:/etc/rc.d/rc.6
# What to do when power fails.
pf::powerfail:/sbin/genpowerfail start
# If power is back, cancel the running shutdown.
pg::powerokwait:/sbin/genpowerfail stop
# These are the standard console login getties in multiuser mode:
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
#c6:12345:respawn:/sbin/agetty 38400 tty6 linux
c6:12345:respawn:/usr/bin/kmscon
# Local serial lines:
#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100
#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100
# Dialup lines:
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100
# Runlevel 4 also starts /etc/rc.d/rc.4 to run a display manager for X.
# Display managers are preferred in this order: gdm, kdm, xdm
x1:4:respawn:/etc/rc.d/rc.4
# End of /etc/inittab
/etc/rc.d/rc.4 から呼び出す
以下はグラフィカルログインマネージャを kmscon で乗っ取る場合の設定例。/etc/inittab
でデフォルトランレベルを 4 に設定し、/etc/rc.d/rc.4
を編集してログインマネージャの代わりに kmscon が起動するよう変更する。
具体的には、/etc/inittab
の id:3:initdefault:
を id:4:initdefault:
とし、/etc/rc.d/rc.4
の gdm の呼び出し行の上に kmscon の呼び出し行を書く。
/etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Version: @(#)inittab 2.04 17/05/93 MvS
# 2.10 02/10/95 PV
# 3.00 02/06/1999 PV
# 4.00 04/10/2002 PV
# 13.37 2011-03-25 PJV
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>
#
# These are the default runlevels in Slackware:
# 0 = halt
# 1 = single user mode
# 2 = unused (but configured the same as runlevel 3)
# 3 = multiuser mode (default Slackware runlevel)
# 4 = X11 with KDM/GDM/XDM (session managers)
# 5 = unused (but configured the same as runlevel 3)
# 6 = reboot
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
# System initialization (runs when system boots).
si:S:sysinit:/etc/rc.d/rc.S
# Script to run when going single user (runlevel 1).
su:1S:wait:/etc/rc.d/rc.K
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M
# What to do at the "Three Finger Salute".
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
# Runlevel 0 halts the system.
l0:0:wait:/etc/rc.d/rc.0
# Runlevel 6 reboots the system.
l6:6:wait:/etc/rc.d/rc.6
# What to do when power fails.
pf::powerfail:/sbin/genpowerfail start
# If power is back, cancel the running shutdown.
pg::powerokwait:/sbin/genpowerfail stop
# These are the standard console login getties in multiuser mode:
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
# Local serial lines:
#s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100
#s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100
# Dialup lines:
#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100
#d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100
# Runlevel 4 also starts /etc/rc.d/rc.4 to run a display manager for X.
# Display managers are preferred in this order: gdm, kdm, xdm
x1:4:respawn:/etc/rc.d/rc.4
# End of /etc/inittab
/etc/rc.d/rc.4
#! /bin/sh
#
# rc.4 This file is executed by init(8) when the system is being
# initialized for run level 4 (XDM)
#
# Version: @(#)/etc/rc.d/rc.4 2.00 02/17/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
# At least 47% rewritten by: Patrick J. Volkerding <volkerdi@slackware.com>
#
# Tell the viewers what's going to happen...
echo "Starting up X11 session manager..."
# KMSCON
if [ -x /usr/bin/kmscon ]; then
exec /usr/bin/kmscon
fi
# Try to use GNOME's gdm session manager. This comes first because if
# gdm is on the machine then the user probably installed it and wants
# to use it by default:
if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon
fi
# Someone thought that gdm looked prettier in /usr/sbin,
# so look there, too:
if [ -x /usr/sbin/gdm ]; then
exec /usr/sbin/gdm -nodaemon
fi
# Not there? OK, try to use KDE's kdm session manager:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
elif [ -x /usr/bin/kdm ]; then
exec /usr/bin/kdm -nodaemon
fi
# Look for SDDM as well:
if [ -x /usr/bin/sddm ]; then
exec /usr/bin/sddm
fi
# If all you have is XDM, I guess it will have to do:
if [ -x /usr/bin/xdm ]; then
exec /usr/bin/xdm -nodaemon
elif [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi
# error
echo
echo "Hey, you don't have KDM, GDM, or XDM. Can't use runlevel 4 without"
echo "one of those installed."
sleep 30
# All done.
キーボードレイアウトを適正化する
/etc/kmscon/kmscon.conf
に、
日本語 106/109 キーボードなら例えば
xkb-layout=jp
と指定する。variant や options も指定可能 5 。詳しくは kmscon の manpage を閲覧のこと。
また、環境変数 COLORTERM=kmscon が設定されるので、.profile 等の記述を工夫することで kmscon 下では ja_JP.UTF-8 、Linux コンソールでは en_US.UTF-8 といった切り替えを自動化出来る。
kmscon 用キーボードレイアウト設定ツール
kmsconconfig と命名したものの、現在キーボードレイアウト編集設定機能のみ搭載。/etc/kmscon/kmscon.conf
を編集しキーボードレイアウト・ヴァリアント6・オプションを選択・設定する。
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/kmsconconfig
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/kmsconconfig
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/kmsconconfig && chmod +x $(pwd)/kmsconconfig && su -l -c $(pwd)/kmsconconfig
kmscon における日本語入力
いずれかのFEPが必要。
- uim-fep
- ibus-fep
- scim-console (未検証)
ibus-fep を使う場合
ibus-daemon が稼働中、かつ適切なインプットメソッドエンジンが選択されている必要がある。
#####例:
$ ibus-daemon -dr
$ ibus engine anthy
$ ibus-fep
uim-fep を使う場合
kmscon 上では uim-fep のみを起動すると描画が乱れるが、screen や tmux もしくは byobu 上で実行することにより、描画を崩壊させることなく日本語入力を行えた。
上記以外の日本語入力
vim や emacs 等独自の日本語入力フレームワークを持つものを日本語入力時に使用する。
mlterm のフレームバッファ仕様(mlterm-fb)の導入
・日本語入力への対応が簡単。
・libsixel により画像データも表示可能。
・マウスポインタもサポート 7 。
・GNU Screen や tmux 、あるいはタイル型ウィンドウマネージャのような感覚でスクリーンを分割可能。
・オプションを渡せば縦書き表示にも対応。
・現在も活発に開発が続いている。
このように良いこと尽くめであるが、フレームバッファ仕様でビルドした mlterm( mlterm-fb )は動作がやや鈍いと感じた。また、mlterm-fb は X 上では動作しない。
なお、ビルド後に make install
ではなく、 make install-fb
としてやることで、通常版 mlterm 導入済みの環境で mlterm-fb を共存させられる。
libsixel の導入
SlackBuilds.org から導入可能。
mlterm 構築前にあらかじめこちらを導入しておくことで SixelGraphics 対応版を生成出来る。
su -l -c "/usr/sbin/sboinstall libsixel"
mlterm の導入
SlackBuilds.org から導入可能。
非 X 環境で日本語入力を行いたい場合は先に各種 Input Method を導入しておくこと。
su -l -c "/usr/sbin/sboinstall mlterm"
mlterm-fb 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_mlterm-fb-3.8.8.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_mlterm-fb-3.8.8.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_mlterm-fb-3.8.8.sh && chmod +x $(pwd)/install_mlterm-fb-3.8.8.sh && su -l -c $(pwd)/install_mlterm-fb-3.8.8.sh
mlterm-sdl2 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_mlterm-sdl2-3.8.8.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_mlterm-sdl2-3.8.8.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_mlterm-sdl2-3.8.8.sh && chmod +x $(pwd)/install_mlterm-sdl2-3.8.8.sh && su -l -c $(pwd)/install_mlterm-sdl2-3.8.8.sh
Linux コンソールから起動する場合、mlterm-fb に比べ少し動作が軽いように思う。また、GPMをOFFにする必要がない。ただし非 X 環境で用いる際は、chmod g-s /usr/bin/mlterm-sdl2
した上でユーザーを input グループに加えておく必要があった。前述の対処を行わない場合、SDL2 の仕様により非 X 環境ではキーボード及びマウスからの入力が全て取り上げられ操作不能におちいるので注意すること。
※ chmod g-s /usr/bin/mlterm-sdl2
の後に chown root:root
して chmod u+s /usr/bin/mlterm-sdl2
で SUID しておけば utmp/wtmp 関連の動作は root:utmp で SGID な状態と同じになると思われる。
####参考とした文献
mlterm(Multi Lingual TERMinal emulator) / [Mlterm-dev-ja] utmp support for linux glibc
https://sourceforge.net/p/mlterm/mailman/message/3285553/
SDL 2.0 日本語リファレンスマニュアル
http://sdl2referencejp.osdn.jp/index.html
SDL_envvars - SDL Documentation Wiki
https://sdl.beuc.net/sdl.wiki/SDL_envvars
Can we now use SDL2 without X11? - SDL Development - Simple Directmedia Layer
https://discourse.libsdl.org/t/can-we-now-use-sdl2-without-x11/23421
linux - Keyboard and mouse in SDL2 app without X11 on Raspberry Pi - Stack Overflow
https://stackoverflow.com/questions/56423753/keyboard-and-mouse-in-sdl2-app-without-x11-on-raspberry-pi
Filesystem Capability Bits - SlackBuilds.org
https://www.slackbuilds.org/caps/
SDL2 で明示的に KMS/DRM を使いたい場合、環境変数で "SDL_VIDEODRIVER=kmsdrm" などとしてやると良さそう。
SDL_VIDEODRIVER=kmsdrm mlterm-sdl2
fbterm の導入
su -l -c "/usr/sbin/sboinstall fbterm"
fbterm における日本語入力
各種 fep の他、fcitx-fbterm が利用可能だった。
fcitx-fbterm 導入スクリプト
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/blob/master/install_fcitx-fbterm-0.2.0.sh
https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-fbterm-0.2.0.sh
ダウンロードしたスクリプトを /usr/local/sbin 等に置いて実行権限を付与。
使用時は root で実行。
wget https://gitlab.com/earthsimilarityindex/liquidmelon-cjk-toybox/raw/master/install_fcitx-fbterm-0.2.0.sh && chmod +x $(pwd)/install_fcitx-fbterm-0.2.0.sh && su -l -c $(pwd)/install_fcitx-fbterm-0.2.0.sh
起動例
Linux コンソールで fcitx-fbterm-helper を実行する。fcitx-fbterm-helper が自動的に fcitx 及び fbterm を起動する。
$ /usr/bin/fcitx-remote -e
$ /usr/bin/fcitx-fbterm-helper -l
※ fcitx-fbterm-helper -h
で使い方が表示される。
素材
SBoからのダウンロード&ビルド自動化スクリプトのテンプレート
以下のテンプレートはCC0でリリースしておきます。ご自由にお使い下さい。
テンプレート1:初期型。ハードコーディングだらけ。
- md5sum のハッシュ値とファイル名の間は半角スペースが二つ入ります。
- SlackBuilds.org の公開鍵をインポート済みであれば関連する行をアンコメントすることで SlackBuilds.org からダウンロードした tar.gz ファイルの検証を行えます。
#!/bin/sh
MD5SUM_BAR_000="d41d8cd98f00b204e9800998ecf8427e /root/Downloads/bar/bar-0.0.0.tar.gz"
checksum_md5sum () {
timestamp=$(date +%Y%m%d%H%M%S%N)
rm -f /tmp/md5sum-$1.$timestamp
echo $2 >/tmp/md5sum-$1.$timestamp
chmod go-r /tmp/md5sum-$1.$timestamp
md5sum -c /tmp/md5sum-$1.$timestamp || exit
rm /tmp/md5sum-$1.$timestamp || exit
unset timestamp
}
if test ! $USER = root ; then
echo "Run this script as root, bye."
exit
else
cd /root || exit
. /etc/profile
test -d /root/Downloads || mkdir /root/Downloads
cd /root/Downloads
if test -f /var/log/packages/bar-0.0.0-x86_64-1_SBo ; then
echo "Bar 0.0.0 is already installed."
else
test -d /root/Downloads/bar && rm -r /root/Downloads/bar
wget https://slackbuilds.org/slackbuilds/14.2/foo/bar.tar.gz || exit
# wget https://slackbuilds.org/slackbuilds/14.2/foo/bar.tar.gz.asc || exit
# gpg --verify /root/Downloads/bar.tar.gz.asc /root/Downloads/bar.tar.gz || exit
tar zxf /root/Downloads/bar.tar.gz
cd /root/Downloads/bar
wget http://www.foo.baz/bar-0.0.0.tar.gz || exit
checksum_md5sum bar000 "$MD5SUM_BAR_000"
/root/Downloads/bar/bar.SlackBuild
upgradepkg /tmp/bar-0.0.0-x86_64-1_SBo.tgz ||
installpkg /tmp/bar-0.0.0-x86_64-1_SBo.tgz
ldconfig
cp /tmp/bar-0.0.0-x86_64-1_SBo.tgz /root/Downloads/
cd /root/Downloads
less /usr/doc/bar-0.0.0/README
fi
fi
テンプレート2:利便性向上を狙うも可読性が低下。
- 冒頭の変数の書き換えで様々なソースに対応出来ます。
- 冒頭の変数及び変数
BUILD_ORDER
への追記で構築依存にも対応可能です。 -
SlackBuilds.org の公開鍵をインポート済みであれば
SBO_GPG_VERIFY_**="true"
8 とすることで SlackBuilds.org からダウンロードした tar.gz ファイルの検証を行えます。
https://slackbuilds.org/repository/14.2/games/xcowsay/
https://slackbuilds.org/repository/14.2/games/supertuxkart/
#!/bin/sh
SOFTWARE_NAME_01="bar"
SOFTWARE_VERSION_01="0.0.0"
SOFTWARE_SOURCE_URL_01="http://www.foo.baz/bar-0.0.0.tar.gz"
SOFTWARE_ARCHIVE_NAME_01="bar-0.0.0.tar.gz"
SOFTWARE_ARCHIVE_MD5SUM_01="d41d8cd98f00b204e9800998ecf8427e"
SOFTWARE_README_01="/usr/doc/bar-0.0.0/README"
SOFTWARE_README_PAGER_01="less"
SBO_PKG_LOG_NAME_01="bar-0.0.0-x86_64-1_SBo"
SBO_SOURCE_URL_01="https://slackbuilds.org/slackbuilds/14.2/foo/bar.tar.gz"
SBO_GPG_VERIFY_01="false"
BUILD_ORDER="01"
checksum_md5sum () {
tempfile=$(mktemp)
md5sum_data="$2 /root/Downloads/$1/$3"
echo "$md5sum_data" >"$tempfile"
unset md5sum_data
md5sum -c "$tempfile" || exit
rm "$tempfile" || exit
unset tempfile
}
sbo_builder () {
if test -f "/var/log/packages/$1" ; then
echo "$2 $3 is already installed."
return 1
else
test -d "/root/Downloads/$2" && rm -r "/root/Downloads/$2"
rm "/root/Downloads/$2.tar.gz" || rm -r "/root/Downloads/$2.tar.gz"
wget "$4" || exit
if test "$5" = true ; then
wget "$4.asc" || exit
gpg --verify "/root/Downloads/$2.tar.gz.asc" "/root/Downloads/$2.tar.gz" || exit
fi
tar zxf "/root/Downloads/$2.tar.gz"
cd "/root/Downloads/$2" || exit
wget "$6" || exit
checksum_md5sum "$2" "$7" "$8"
"/root/Downloads/$2/$2.SlackBuild"
upgradepkg "/tmp/$1.tgz" || installpkg "/tmp/$1.tgz"
ldconfig
cp "/tmp/$1.tgz" /root/Downloads/
cd /root/Downloads
return 0
fi
}
if test ! "$USER" = root ; then
echo "Run this script as root, bye."
exit
else
cd /root || exit
. /etc/profile || exit
test -d /root/Downloads || mkdir /root/Downloads
cd /root/Downloads
unset i
for i in $BUILD_ORDER ; do
eval sbo_builder \
"\$SBO_PKG_LOG_NAME_$i" \
"\$SOFTWARE_NAME_$i" \
"\$SOFTWARE_VERSION_$i" \
"\$SBO_SOURCE_URL_$i" \
"\$SBO_GPG_VERIFY_$i" \
"\$SOFTWARE_SOURCE_URL_$i" \
"\$SOFTWARE_ARCHIVE_MD5SUM_$i" \
"\$SOFTWARE_ARCHIVE_NAME_$i"
done
if test "$?" = 0 ; then
unset i
for i in $BUILD_ORDER ; do
eval \$SOFTWARE_README_PAGER_$i "\$SOFTWARE_README_$i"
done
unset i
fi
fi
パッケージング関連資料
Building A Package - SlackWiki
https://www.slackwiki.com/Building_A_Package
Writing A SlackBuild Script - SlackWiki
https://www.slackwiki.com/Writing_A_SlackBuild_Script
Slack-desc - SlackWiki
https://www.slackwiki.com/Slack-desc
Slackdesc: A tool for generating slack-desc files.
http://slack-desc.sourceforge.net/
slackdesc 導入スクリプト
https://gitlab.com/earthsimilarityindex/aquasuika-et-cetera/blob/master/install_slackdesc-0.02.sh
https://gitlab.com/earthsimilarityindex/aquasuika-et-cetera/raw/master/install_slackdesc-0.02.sh
パッケージ | 逆襲のSlackware
https://slackware.jp/package.html
Slackware14.1でソースからパッケージを自作する - クロの思考ノート
http://note.kurodigi.com/slackware141-makepkg/
SlackBuilds.orgにSlackBuildスクリプトを投稿する - クロの思考ノート
http://note.kurodigi.com/sbo-submit/
Slackwareのパッケージ管理 - slackware @ 日本語ウィキ - アットウィキ
https://www51.atwiki.jp/slackware/pages/20.html
Slackware Linuxのソフトウェア - Akionux-wiki
http://ja.akionux.net/wiki/index.php/Slackware_Linux%E3%81%AE%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2
Slackware Linux 14.1のインストール#パッケージのインストール - Akionux-wiki
http://ja.akionux.net/wiki/index.php/Slackware_Linux_14.1%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB#.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB
Slackwareをアップグレードする話 – エンジニアブログ「INAP流」
https://www.inap.co.jp/internapsway/?p=152
TODO
- 自動化スクリプトテンプレートを改良する。9
- SlackBuilds.org に日本語の表示・入力関連のビルドスクリプトを投稿する。
- 可能な範囲で中文や한국어の表示・入力関連のビルドスクリプトも投稿する。
- 拙作各種スクリプトのリファクタリングを行う。ARM や i386 にも対応させる。
- ibus-mozc 及び uim-mozc のインストールスクリプトを書く。
- scim-skk のインストールスクリプトを書く。
- scim-console のインストールスクリプトを書く。
- libkkc 系の IME を移植する。
- libfep を使って fcitx-fep を作ってみる。
- scim-mozc を書けそうなら書いてみる。
- Canna や Wnn のインストールスクリプトを書いてみる。
-
VirtualBox で Salix OS をゲスト OS として利用し、かつ GuestAdditions を導入する場合、モジュールのコンパイル時に kernel-headers パッケージのみでは足りず、稼働中のカーネルに対応する kernel-source パッケージを slapt-get で入れる必要があった。 ↩
-
In 2019 : Zenwalk is a 64 bits "pure" Slackware system with added post-install configurations, optimizations and out of the box tweaks, with a ready to use polished desktop environment, with added graphical system tools, added office and multimedia applications, and striped to keep just "one application per task"!(Zenwalk 公式サイトより引用) ↩
-
USB フラッシュメモリ等からの高速起動にフォーカスしている。 ↩
-
kbd-options で複数のオプションを指定する場合はカンマで区切る必要があった。 ↩
-
「ヴ」には厨二心をくすぐられる。 ↩
-
gpm が有効である場合 mlterm-fb の描画が崩れるので、
chmod -x /etc/rc.d/rc.gpm
しておく必要がある。 ↩ -
* はスクリプトに応じて読み替えて下さい。 ↩
-
とりあえず、変数で目的のソフトの *.info ファイルを指定するだけで良いようにしたい。 ↩