Chap-.34 Salix Slackware の試用

 2020ー10-04 Slackware 派生です。試すのはバージョン 15.0 です。
 2020-10-14 Slackware 本家のお試しも追記します。GUI は current にして、CUI は 15.0 です。



これまでチェックした他のディストリと同じように、以下の3つの視点で使いやすいかどうか見てみました。

Salix について、本家 Slackware は a.系と b.系には強いが c.系はイマイチでした。私はかって Slackware を重宝していてその後遠ざかりました。
Salix は c. 系もある程度イケそうです。15.0 からは flatpak が限定的に使えるので fcitx5-mozc が動きます。
現時点(2022-10)で使える DE は Xfce4 だけです。

Slackware も GUI 版は Xfce4 でお試しです。Salix の flatpak を強引に移植して fcitx5-mozc が動きます。



最初に Salix から書いたチャプタなので前半を Salix にして、後半を Slackware にします。

**** Salix ****
Sec-1.インストール
Sec-2.日本語入力の設定
Sec-3.UNIX 系らしく最初に試すこと
Sec-4.CUI でサーバ利用
Sec-5.Windows 代替としての利用(ATW)
Sec-6.全般としての印象

**** Slackware ****
Sec-11.インストール
Sec-12.日本語入力の設定
Sec-13.UNIX 系らしく最初に試すこと
Sec-14.CUI でサーバ利用
Sec-15.Windows 代替としての利用(ATW)
Sec-16.全般としての印象



Sec-1.インストール

 お試しに使うマシンは、メモリ8GB、SSD 120GBです。AMD-athlon-3000G +B450 マザボです。内臓 GPU 利用です。
イーサネットは broadcom 又は intel-1000CT を使います。
インストール作業はほぼ Slackware と同じなので省略です。
最初になにか別のディストリのライブになるインストーラを利用して gparted でパーティション切っておくとインストールしやすいです。
私は BIOS 互換モードで使うので msdos 形式でパーティションテーブルを作っておいてから (gpt でない、という意味)

/dev/sda1   全体容量 - swap 容量   ext4
/dev/sda2   8GB            swap

と簡単に切りました。後は Salix のインストーラを起動してインストール開始しました。
gparted はフォーマットまでやりますが、どのみち Salix のインストーラがもう一回フォーマットします。
インストール時間が随分と短いです。本家は結構長い時間がかかるので良い意味で驚きました。





Sec-2.日本語入力の設定

 もとの(以前の) Slackware は scim-anthy が使えました。2022-10 時点での Slackware や Salix は fcitx や ibus で anthy や kkc が使えるようです。パッケージにあります。
また、skkもあります。
私は mozc 派なので flatpak の fcitx5-mozc を使います。
インストールは簡単です。


# flatpak install fcitx5

とすると候補が8くらい出ます。6(fcitx5)と7(fcitx5-mozc)を入れます。
Salix の flatpak は限定的ですが幸い mozc はうまく動きます。
xfce の設定マネージャーから、セッションと起動に入り、自動開始アプリケーションのところで、fcitx5 が動くようにします。
探してもアイコンが無いので、自分でやります。+を入力してして出た窓に適当に入力。一行目は何でも好きに入れれば良いです。


fcitx5

3つ目の窓には


/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/fcitx5 org.fcitx.Fcitx5

と入力します。後はホームディレクトリに .xprofile で以下の3行を記入。


export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

これでリブートすると mozc で日本語入力できます。
もし出来なければ「fcitx5設定」で入力メソッドのところを確認します。以下のようにすれば使えるはずです。


fcitx5-3

なお、初期設定ではキーボード・ショートカットに余分なのが色々あります。なのでグローバルオプションのところで以下のように変更しました。Salix の場合はこれをやらないと emacs のショートカットが誤作動します。(他のディストリではやらなくても良い場合が多い)


fcitx5-2

要するに一番上だけ残して後は全部空にするのが良いくらいです。デフォルトではハングルとか中華系の割付があって、emacs がうまく動きません。Salix 固有の問題だと思います。

flatpak 版の fcitx5-mozc は gtk2 に対応していません。gtk3 と gtk4 対応です。このため flatpak 版の fcitx5-mozc は gtk2 のみ対応のソフトウェアには日本語入力出来ないのが普通です。
しかし Salix の場合はOS側が gtk2 に入力できるようないわゆるフロントエンド(fcitx-gtk)を用意している模様です。
なので sylpheed 等 gtk2 にしか対応していないソフトにも、Salix なら日本語入力できます。(後述するようにディストリのメーラには別の問題がありますが・・・)


 前回アップした「Almalinux で mozc を使う」も今回の Salix も、基本的に flatpak が動けば fcitx5-mozc がインストールできて使えるということです。
試しに Clear Linux という Intel が作っている Linux でも同じことをやってみました。ディストリの標準装備では skk しか使えないディストリです。
それに flatpak で fcitx5-mozc を入れてみたら無事に動きました。flatpak が使えるディストリならほぼ mozc が使えそうです。





Sec-3.UNIX 系らしく最初に試すこと

 例によって普通のUNIXマシンらしく管理・設定ができるかを試します。
冒頭に書いたことのうち、主に a. b. 利用のためのチェックをやります。
で、試すことは以下のようなことです。

以下、順に書きます。



IPアドレスとリゾルバ
 以前の Slackware と違って最近の Slackware 及びその派生ディストリは GUI 利用の場合 NetworkManager を使っています。
CUI 利用なら古典的な rc.inet1.conf で管理します。CUI の初期インストール状態だと NetworkManager は動いていません。
どっちも順調に動き何も問題は無いです。


/etc/rc.local
 最初から入っていて何時でも使える状態です。問題無いです。Salix の場合は正確に言うと /etc/rc.d/rc.local です。


パケットフィルタ
 nftables が問題なく使えます。version は 1.0.1 でした。オケです。


デーモン管理
 OS本体が基本的にスクリプト管理なので、それをたどれば何をやっているか分かりやすいです。各種デーモン類もその中で管理されています。
/etc/rc.d/ の中に各種 rc.hoge って名前でスクリプトがあります。例えば rc.postfix とか。
それのモードを +x すれば次のOS立ち上げからデーモンが起動します。
rc.hoge を編集すれば自分でコンパイル・インストールしたソフトウェアと入れ替えるのも、ごく簡単です。例えば Apache とか postfix とか。
rc.M や rc.inet2 を編集すればデーモン起動の順番を入れ替えたり、途中に別のものをはさんだりするのも簡単です。これは普通はやりませんけど、笑。


シリアル回線
 slapt-get -i uucp で cu が使えるようになります。簡単に操作出来ます。/etc/group ファイルの中で、dialout と uucp の両グループにユーザを入れておきます。


apache、postfix、guile、lua のコンパイル
 Chap-7. を見てください。問題なくコンパイル出来ます。



上記に書いたことのイメージは以下のような感じです。基本的にスクリプトで OS を設定するディストリです。分かりやすくて管理運用の楽なディストリです。

***************************************************
* rc.S (いわゆるシングルユーザモードに立ち上げ)                       *
*     ファイルシステムマウント、スワップマウント等                      *
*                                                 *
***************************************************

***************************************************
* rc.M(マルチユーザモードに移行)                               *
*     各種デーモン起動                                    *
*                                                 *
*     この中で rc.inet1(ネットワークインターフェイスの設定等)           *
*          rc.inet2(ネットワーク系デーモンの起動)               *
*     を動かしている                                     *
**********************:****************************

rc.inet1 の中では rc.inet1.conf を読んでアドレスなどを決めている(注:GUI では過去形、CUI では現在形)

 もう一つの特徴として、各種フリーソフトがとてもコンパイルしやすいディストリです。つまり、開発セット(ヘッダーとかライブラリ)が最初からテンコ盛り状態で入っています。なので、ほとんどのフリーソフトウェアが make 一発で作れます。
Arch 系と Slackware 系はフリーソフトウェアコンパイルに強いです。






Sec-4.CUI でサーバ利用

 もともと Slackware はこっち系が得意なディストリです。試しに CUI インストールした Salix で LAN 内サーバ化してみました。特に何も問題も無いです。調子良いです。

CUI インストールしたものでも、各種フリーソフトウェアのコンパイルは同じでした。

GUI インストールしたものとの違いの一点目は Slackware の Emacs は基本的に X11 下で使うように構築されています。なので CUI インストールしたものでは動きませんでした(かっての話)。今どうなのかは試していませんが、Salix でも CUI にインストールした環境下では動かないだろうと思います。なので、今回は nano で設定ファイルの編集をやりました。
注:CUI 運転状態で動かないということではありません。CUI 運用中でもディスク中に GUI のパッケージが入っていれば Emacs は動きます。動かないのは GUI 関連パッケージがインストールしてない時です。

違いの二点目は上述のとおり。CUI だと昔ながらの IP アドレス管理です。NetworkManager ではありません。

それ以外は GUI でも CUI と同じような管理でいけます。各種ディストリの中では管理が容易な方だと思います。







Sec-5.Windows 代替としての利用(ATW)

 ここは Slackware よりもある程度改善されて良くなっています。
全体として良くなった点を列記します。

一方で、相変わらずデフォルトのフォントはなんだか日中ごちゃ混ぜ。中国漢字が出てくるヤツです。Slackware 系のデフォルト設定はいまいちです、汗。
良いの(ちゃんと日本の漢字が表現されるヤツ)が何種類か入っているので、インストール後に変更したくなるでしょう。もちろん、適当に日本製のフォントを追加しても良いと思います。

以下、項目ごとに順に書きます。



プリンター スキャナ
 プリンタを動かすために postfix パッケージがインストールしてあることが条件みたいです。入れておきましょう。動かさなくても良いです。
デフォルトでは cups-browsed が動いていません。これは動かしておきましょう。
 プリンタ設定は Chap-32. にまとめまてあります。そちらを見てください。Wifi 経由でも有線 LAN でも使えます。
Chp-32.の Sec-4. でドライバ等のインストールができます。コンパイルに先立ちパッケージ等の追加は必要ありません。
プリンタ設定は Chap-32. Sec-5. です。

スキャナも xsane を入れてみたら問題なく動きました。Simple-scan でもオケです。


ブラウザ
 Firefox がデフォルトで入ってます。最新版に近い新しいのです。動画(プライム)なども視聴できます。
Flatpak から Google-Chrome を入れてみましたが、まともに動きませんでした、残念。



メーラ
 デフォルトでは claws-mail が入っています。私はなじみがありません。evolution も sylpheed もあります。
日本語入力は普通に出来るし、基本的にメーラとしては問題無いですが、ディストリ版だと私にとって一つ困った点がありました。
日本語入力モードで変換していて、普通は control + M で確定できます。Salix のディストリ版は evolution でも sylpheed でも、この control + M が別の機能に割り振ってあります。
私は control + M で変換確定をするので、これは困ります。
このメーラーの困った割り振りを消すことが出来ません。したがって IM 起動していて control + M が今のところ使えません。
当面、どうして良いか分からないので flatpak 版の evolution で間に合わせます。そっちは変なショートカットキーへの割り振りがありません。普通に control + M で変換確定できます。
flatpak 版の evolution を使う場合は gnome-keyring を個別にインストールし、デフォルトで動くようにしておきます。(セッションと起動)
それに入力するコマンドは "/usr/bin/gnome-keyring-daemon --daemonize" ぐらいにしておけば良いです。


オフィス
 Libre-Office が使えます。全然問題なしです。


画像ソフト
 Gimp が使えます。問題なく動きます。十分良好です。


パッケージの追加やシステム更新
 slapt-get というコマンドで出来ます。問題無いです。gslapt という GUIパッケージマネージャもあります。


VLC の利用、市販DVDの再生
 Flatpak で vlc をインストールすると簡単に市販DVDが視聴出来ます。


flatpak の利用
 Flatpak についてはマトモに動くソフトが限定されます。vlc、fcitx5-mozc、evolution は問題なく動きます。
各種 X端末系、google-chrome は動きません。
マアマアです。





以上です。ちょっと前に使っていた Slackware よりも改善されていて良い感じです。





Sec-6.全般としての印象

 3つの視点で評価します。
   視点a. ・・・短期間のお試しなので確定的に書くのは無理です。しかしもともと Slackware の得意分野です。
   視点b. ・・・こちらも優秀です。ここも Slackware の得意分野です。
   視点c. ・・・ここがそれなりに改善されています。Slackware が苦手な分野をある程度向上させています。

 セキュリティ上の視点で見たとき、Chap-26-2. でいうカテゴリー1に思えます。
もとの Slackware は Patrick 氏がマメに管理していてセキュリティ上の問題を20年以上も発生させたことは(ほぼ)無かったと記憶しています。
なので「やっている人」に着目するとセキュリティ上は信頼度の高いディストリです。「やっている個人」で判断して良いのかってツッコまれそうですが、笑。

メーラーの変なショートカットキー割り付けは本当に困りものです。flatpak 版の evolution で代用出来るので実害は無いですが。

flatpak はもっと沢山のソフトが安定して使えるのが、是非とも望ましいです。Salix で動かなかった flatpak 版ソフトウェアを AlmaLinux と Arch で試したら全部ちゃんと動きました。う〜〜ん。いまはまだ道半ばという感じです。もう一歩!
調べてみたら 14.2 ではまだ flatpak は動いていなかった様です。なので今回の 15.0 で頑張ったんだと思います。

こんな感じですが、Salix は結構良いと思います。
a) b) に関してベースの Slackware は RedHat(クローン)、Debian-stable、Ubuntu、Arch に負けていません。
Salix の c) 系利用については上記のディストリと比較するのは、まだ厳しいです。でも無愛想な Slackware 系でこれだけ出来れば上等です。
個人的には、最低限これだけは動いてほしいと思っているものは全部無事に動きました。












以下、Slackware です。

Sec-11.インストール

 ここは Salix とそれほど違わないし、Slackware の従来どおりです。説明省略です。
GUI については KDE、Game などを除き、フルインストールしました。
CUI については X11、Xfce、KDE、Game などをインストール対象外としました。Emacs も除外です。Slackware の Emacs は X11 前提なので CUI インストール状態では動かないです。

なお、current ISO image は逆襲さんのサイトを見てそこからダウンロードしました。逆襲さんに感謝です。

見た目の美しさとかフォントがイマイチだなあと感じたら、是非とも逆襲さんのサイトを見ることをおすすめします。参考になります。





Sec-12.日本語入力の設定

 Salix の flatpak をやや強引に移植して、日本語に fcitx5-mozc を使うことにします。
Salix から持ってくる必要があるファイルを、Slackware の中に無理やり入れます。Salix は後方互換性を確保しているので、多分大丈夫です。作業手順は以下のとおり。

ブートアップに良く似た四段階の作業です、笑。



*** 一番目の作業、オリジナルの fcitx5 関連をすべて削除 ***
flatpak から fcitx5 関係を入れるので競合を避けるためにすべて削除します。

# slackpkg remove fcitx5

インストール時に面倒なので全部フルで入れましたけど、これは本当は要らないです。



*** 二番目の作業、slapt-get コマンドと Salix のリポが使えるようにするために、以下のファイルを Salix から持ってきます ***

/usr/sbin/slapt-get
/sbin/spkg
/usr/lib64/libslapt.so (libslapt.so.0.11.6 sym link)
/etc/slapt-get/  (directory)

最後の /etc/slapt-get/ はディレクトリで中に2つファイルがあるのでそれごと持ってきます。
入れたら、/etc/slapt-get/slapt-getrc ファイルを編集します。
全部で4つのリポがあります。順に Slackware-15.0、Slackware-15.0/extra、Salix-15.0、Salix-extra15.0
使うのは下の2つだけなので上の2つはコメントアウトします。一旦ここでリブート。
立ち上げたあと、# slapt-get help とやってちゃんとヘルプメッセージが出たらオケです。これで slapt-get コマンドと Salix のリポが使えるようになりました。# salpt-get --update やっておきます。



*** 三番目の作業、flalpak のインストール ***
これは簡単です。

# slapt-get -i flatpak flatpak-tools

これで flatpak が使えるようになります。flatpak のリポもこれで自動的に登録されています。念の為ここでもリブート。



*** 四番目の作業、fcitx5-mozc のインストール ***
ここの作業は基本的に Sec-2.と同じです。
唯一の違いは

export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

この3行をどこに書き込むか、です。Slackware の場合は /etc/environment の中に書き込みます。
fcitx5 が動くように「セッションと起動」に登録するところは、まったく Salix と同じです。
これでリブートすると fcitx5-mozc で日本語入力出来ます。



*** 幾つかの注意点 ***
slackpkg で更新する時と、slapt-get の更新コマンドの注意です。
1.slackpkg で更新する時普通は以下のようにやると思います。

# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system

今回のように強引に flatpak を入れた場合は以下のようにするのが無難です。

# slackpkg update
# slackpkg upgrade-all

install-new をやるとせっかく削除した fcitx5 関連を全部入れようとします。うかつに実行したらだめです。
また、clean-system をやるとせっかく入れた flatpak、flatpak-tools の2つを削除しようとします。これもうかつに実行したら flatpak が使えなくなるのでだめです。なので上記2行だけの実行にしたほうが無難だと思います。

2.slapt-get コマンドを移植しましたが、これの更新はちょいと危険です。誤認識して slackware のパッケージの更新までやろうとします。本当に更新したいのは flatpak、flatpak-tools の2つだけ。
なのでこのパッケージが新しくなっているようなら一旦削除して入れ直したほうが無難だと考えています。まだやってませんけど、笑。
もしもどうしても slapt-get の更新を使うのなら、間違って slackware オリジナルのものを書き換えないように注意しましょう。


 作業をやって以降 Slackware で何度か更新をやりカーネルも新しくなりました。幸いにして flatpak 関係がおかしくなることはありません。ただし、この先どうなるか分かりません。kernel-6.0.0 に上がる時が要注意かと想像しています。

補足:2022-10-31
 他のディストリのためにコンパイルした ibus-mozc が Slackware-current で使えるようです。Chap-27. Sec-7. にパッケージとしてアップしました。
補足:2022-11-15
 flatpak でない版(セルフ・コンパイル版)の fcitx5-mozc をアップ。Chap-27. Sec-8.
Slackware-current で使えます。セルフ・コンパイル版だと flatpak 版のようにあらかじめ fcitx5 関係を全部削除したりする必要はありません。

いずれも Slackwre-15.0 では glibc バージョン違いで動きません。






Sec-13.UNIX 系らしく最初に試すこと

ここは Salix とほとんど違わないです。各種フリーソフトウェアをコンパイルするときだけ、少し違います。それは Chap-7. に書いておきます。






Sec-14.CUI でサーバ利用

ここもほとんど Salix と同じです。唯一の違いは Slackware はインストール時に NetworkManger を使うかどうか、質問してきます。そこで yes とすると IPaddress 関連は NetworkManager 管理になります。
NetworkManager を使うにせよ使わないにせよ、好きにすれば良いと思います。

2022-11 修正:Salix と同じと書きました。しかしインストールされるボリュームはかなり差があります。Salix は最小構成から少しずつ足していくことが出来ます。Slackware は依存関係が整理されていないのでそういうインストールの仕方は難しいです。X や DE は省けますが、それでもフルインストールすると 8GB を超えます。普通のディストリで CUI インストールなら 2GB くらい。
なので最小構成から少し足してサーバにしたいなら Salix の方がやりやすいです。Slackware をサーバに使うときは最小構成にこだわらない方が吉でしょう。







Sec-15.Windows 代替としての利用(ATW)

ここも Salix と特に違わないです。Salix が頑張って flatpak を使えるようにしてくれて、その恩恵を被れるのでありがたいです。
libreoffice、vlc、evolution などが Slackware でも簡単にインストールできて、全然問題なく使えます。flatpak は便利です。
なので、ここは従来よりもかなり良くなったと思います。





Sec-16.全般としての印象

 3つの視点で評価します。
   視点a. ・・・もともと Slackware の得意分野です。まったく問題無いです。
   視点b. ・・・ここも Slackware の得意分野です。問題無いです。
   視点c. ・・・Salix の flatpak を使うことにより Slackware のイマイチな分野が改善されます。

これ以下のコメント部分はほぼ Sec-6. Salix の全般に関するコメントと同じです。