†Linuxなんて大キライ†

FossaPup64 9.5

作成開始日 2022.06.29
最終更新日 2024.03.16

Ubuntu 20.04がベース(Debian 11世代くらいに相当)。このバージョンから32ビット版は切り捨てられて、64ビット版オンリーになった(*)。無論、Puppyなので、小型軽量でオールドPCでも動くことが標榜されているのだが、このあたりになると流石にCPU性能はそれなりのものが必要。32ビットのMMX Pentium〜Pentium MやAthlon XPは完全に切り捨てられたし、Athlon64 X2やCore2 Duoでも下位モデルではちょっと苦しいかも知れない。

(*) 64bitオンリーになったのは、ベースとなったUbuntu側の都合。Jammypup(Ubuntu 22.04ベース)ではDebianとのキメラで32ビット化したディストロも登場した。

そうなると、Puppyを使う意味あるの?という根本的な問いに行き着いてしまう。それなりのパワーのPCが必要ならば、もう、Xubuntu/Lubuntuでもいいんじゃね?という気がする。尤も、Puppyは小容量のストレージでも(極端な場合ストレージレスでも)使用できるというメリットがあるので、それなりに存在意義はあるのだが…なお、今回の私のニーズはまさにそこにあって、Athlon64 X2の中位モデルで、ストレージが非常に小さい(8GB)PC用のOSとして試してみた。

FossapupとXenialpup以前の旧バージョンと比較して、メリットと感じたのは;

デメリットは、やはり対応CPUの制限が大きくなったこと。Puppyの主な用途(オールドPCの有効利用)を考えると、Pentium Mでも動くXenialpupを擬似LXDE化して使用するのが正解かも知れない。BTやWLANの必要性が判断の分かれ道かと。

ストレージサイズと機能

今回は8GBの産業用SSDにインストールした。Fossapup(日本語シンプル版r2)のシステムファイルのサイズは400MB台なので、同じSSDに別バージョンのPuppy(Quickpup)を共存させても十分余裕があった。セーブファイルを2GB取ったが、これは512MB程度でも何とか運用できると思う。つまり、システム430MB+セーブファイル512MB1GB;余裕を見て2GBもあれば実用的なシステムが構築可能。無論、USBメモリ上でも運用可能だが、速度やUSBメモリの寿命を考えると、あまり良い選択ではないと思う。

機能的には一通り揃っているが、個人的には、ブラウザ、ファイラー、ターミナルの3つはSeamonkey、PCManFM、sakuraに変更したい。特に、JWM標準のROXは…かばう人もいるようだが、現実的にはとても使いにくい。アイコン数によって勝手にサイズが変わるウィンドウとか、[右クリック|コピー]がコピペの「コピー」とは全く別物とか、タブが使えないとか、メニューバーから設定ダイアログが開けないとか、/usr/share/applicationsの中の.desktopアイコンの表示形式とか…ちょっとなぁ。PCManFMが天国に感じる。ともあれ、上記3アプリを追加インストールしても、2GBのストレージで問題はない。

【訂正と補足】(2022.07.08)
@ROXの自動リサイズは設定で無効にすることもできる。しかし、起動時に前回サイズが引き継がれないため、やはり使い勝手は良くない。
AFossapupに収録されているROXでは、[右クリック|コピー]が通常のコピーに変更されている。流石に仕様を変更したようだ。
Bタブは使えないが、[ホーム]アイコンを右クリックすると新しいウィンドウが開く。コピーや移動などの操作の際には、この機能がある程度タブの代用になる。

【追記】後述の方法で擬似LXDE化するという選択肢もある。

なお、Seamonkeyは2.49のsfsが入手可能(http://www.tarobe.org/)。PaleMoonやFireFoxでも悪くはないのだが、SeamonkeyならばJavaScriptやマウスホイールの設定が設定ダイアログから簡単にできるし(Firefoxはabout:config)、UI周りも素直で使いやすい。つか、私はOS/2、Windows、Linuxと、すべての環境でSeamonkeyを標準ブラウザにしている。

また、FossapupにはBluetoothのドライバが標準で組み込まれている。BTスピーカーで接続を確認した。ただし、設定ファイルを直接編集する必要があり、デバイスのIDを手作業で入力しなければならなかった。私はDebian 8のbluetoothctlでさんざん苦労したから抵抗はなかったが、エンドユーザーにいきなり要求できるレベルの作業ではないと思う。

あと、ときどき動作が重くなる事がある。理由はよく判らない−−ひょっとすると、過熱によるクロックダウンか、あるいは、frugalシステムが本来的に持つオーバーヘッドなのか?通常使用には大きな支障はないが、ときどき(しかも、それなりの頻度で)フリーズみたいな状態になることがあった。【追記】FAT32のSSDへのインストールが問題では?ext4ならば起きない?(2024.01.28)

トレイ(パネル)の問題

私の基本スタイルは、画面下部にタスク・スイッチャー、上部にアプリケーション・ランチャーという構成。どのようなデスクトップ環境であれ、このスタイルになるようにカスタマイズしている。で、fossapupだが、デフォルトでは画面下部にランチャーとスイッチャー、更にシステムトレイを備えたパネルがあるのみ。それではいかにも狭苦しい。

【追記】後述の方法でJWMトレイの代わりにlxpanelを使えば、上下2本配置も簡単。一時、tint2も使ってみたが、lxpanelの方が使いやすいように思う。下記の要領でJWMトレイとランチャーをカスタマイズすることも可能だが、素直にlxpanelに乗り換える方が賢明かと。

JWMには通常のトレイの他にアプリケーション・ランチャー(Tray-2)も用意されている。[JWM Desk]でランチャーを有効にすれば、画面上部(或は任意の場所)に、ランチャーを配置することができる。下部パネルに登録されているアプリをこちらに移せば、下部パネルはスイッチャー+システムトレイ専用になって大分広く使える(もちろん、デスクトップ切替も削除!)。

が、このランチャーは設定の自由度が低い。基本的に[JWM Desk|Launch]からアプリケーションを追加・削除することしかできない。外観を変更したり、アプリ以外のものを登録する機能はない(アイコンサイズは選べるようだが)。しかし、プロファイル・ファイル「/root/.jwmrc-tray2」を直接編集すれば、かなり自由に設定できるようになる。

たとえば、ランチャーを画面幅いっぱいに表示するには、左寄せ配置にした上で、スペーサーを挿入すれば良い。まず、[JWM Desk]ダイアログの下部の[Tray-2]ボタンを押した上で、トレイの配置を左寄せ(Left)にする。次に、「/root/.jwmrc-tray2」ファイルをエディタで開き、ボタン定義の行のあとに、以下の赤字部分を挿入する。ここでは、判りやすくするために、右端に時計を表示している(PupClockset)。「Dock」に関しては後述する。

<?xml version="1.0"?>
<JWM>
	<Tray autohide="off" insert="right" x="0" y="-1" width="0" height="28"…
		<TrayButton popup="Setup" icon="/usr/local/lib/X11/pixmaps/…
		<TrayButton popup="JWMdesk" icon="/usr/local/jwmdesk/icons/…
		<Spacer/>
		<Dock/>
		<Clock format="%H:%M">exec:PupClockset</Clock>
	</Tray>
</JWM>
これでウィンドウマネージャを再起動すれば、ランチャーが画面幅いっぱいに表示される。なお、「Spacer」は「width=」オプションを付けて、明示的に幅を指定することが多いが、無指定の場合は自動拡張になるようだ。ただし、ランチャーが中央配置の場合は横いっぱいにはならない。

ランチャーにシステムトレイを表示するには、前述の「<Dock/>」を指定すればよい。しかし、Dockは複数同時に使用することはできない。なので、下部のパネルの設定ファイルである「/root/.jwmrc-tray」編集して、「<Dock/>」行を削除(乃至コメントアウト)し、ウィンドウマネージャを再起動する。これで上部のランチャーにシステムトレイが表示される。

【参考】スペーサーの挿入(2022.07.08)
ランチャーにアイコンをずらずら並べるととても判り難い。適当なところにスペーサーを挿入して、分類してやると使い易い。しかし、アプリケーション・アイコン間にスペースを挿入する機能はないようだ。「.jwmrc-tray2」を直接編集して「<Spacer width="8"/>」を適当な場所に挿入してやれば良いのだが、JWM設定でトレイを編集すると、このSpacerはボタン設定群の末尾に追いやられてしまうorz このような場合、ダミーのプログラム(dummy.desktop)を作成して、区切り用のアイコンを登録するとよい。なお、同一プログラムを複数回登録することはできないので、区切りが複数必要なときはダミーも複数作成する。

サスペンド/レジューム

Puppyの終了メニューには、サスペンド(スリープ)という項目がない。電源ボタンを押せば選択肢として出てくるのだが、普通にメニューからマウス操作でサスペンドに入ることができない。しかし、機能自体はあるので、簡単なシェルスクリプトを書いて対応する。なお、Puppyでは、Debianで頻発するAMD C/S(Radeon)のせいでサスペンドからのレジュームに失敗するというトラブルは起きない。ま、Xenialpup64では、レジューム後にマウスカーソルが消えてしまうというトラブルを経験したが。

まず、パッケージマネージャから「acpitool」をインストール。次に、適当な名前で空ファイルを作成する。ここでは仮に「syalis.sh」(スヤリス)とした。ちなみに、「sleep」や「suspend」と言ったコマンド名は、別の用途で既に使用されているようだ。で、「syalis.sh」の中に次の1行を書き込む。

acpitool -s
あとは、この「syalis.sh」を実行可能に設定すれば出来上がり。ダブルクリックでサスペンド可能。なお、PCによっては、マウスが少し動いただけで、レジュームしてしまって不便である。その場合は、USBデバイスからのレジュームを禁止するとよい。
acpitool -w	※小文字の「w」
とすると、レジューム(wake up)の対象になるデバイスが一覧表示されるので、USBデバイスをすべてdisableにする。ウチの環境では、10番〜15番のデバイスがUSBに割り振られていたので;
acpitool -W 10	※大文字の「W」
acpitool -W 11
……
acpitool -W 15
というシェルスクリプトを作成して、一括disableを可能にした(-W指定はフリップフロップなので、再度命令を実行するとenableになる)。これで、レジューム可能なデバイスは[電源ボタン]のみとなった。なお、マウスだけ禁止して、キーボードからのwake upは受け付けるようにしたかったのだが、ワイヤレスコンボを使用しているせいか?個別に禁止することはできなかった。

あとは、一定時間入力がない場合、自動でサスペンドしてくれると便利なのだが、デフォルトではできなかったと思う(ちょいと記憶があやふやなのだが)。適当な電源管理ツールをインストールするか、あるいはcronあたりかな?

Xfceのインストール

いろいろ環境をカスタマイズはしてみたが、やはりUI周りが不便なので、試しにXfceをインストールしてみた。PuppyもLinuxなので、異なったデスクトップ環境をインストールする事自体は難しくない。パケマネから「Xfce」を検索して、めぼしいパッケージをインストールするでけでよい。アイコンや設定の欠落が多く、そのままで実用は厳しいが、使って使えないことはない。忍耐と努力で環境を整備すれば、まあ、何とかなるんじゃないか、的な…

ところが、Xfceを入れると、レジュームに失敗するようになってしまった。以前Debianで経験した「マウスは動くし、場所に応じてマウスカーソルは変化するのだが、操作を一切受け付けない」状態。ただし、Ctrl+Alt+BkSpでXを落すことはできた(ここはDebianとは違う)。さらに、xscreensaverでエラーメッセージが出ていることが確認出来た。

こんな特殊な状況から一般論は導けないが、過去の実験結果を勘案しても、Xfceの画面ロック/スクリーンセーバーがキモなのは間違いないだろう。であれば、対処もそんなに難しくはないのでは…?と思ったが、そもそも、このXfce環境を使い続ける気はないので−−そんなら、Quickpupの方が良いと、その時は思ったので−−ここで実験は終了。

日本語対応 (2022.07.08)

日本語simple版を使用すれば、日本語表示/入力は問題なく行える。しかし、日本語環境に移行せず、英語環境のまま日本語を表示したいこともある。具体的には、メニューやフォルダ名やエラーメッセージに日本語を使って欲しくない!ということ。デザインが崩れて見にくくなったり、アプリケーション名がどう日本語化されているか見当がつかず探すのに手間取ったり、コマンドラインでの操作が著しく面倒になったり、Xがクラッシュしたときに表示されるメッセージが化けてしまったり…と、日本語環境には問題も多い。

【追記】日本語環境にしないと、LeafpadでシフトJISファイルが開けないことがある。(2022.07.30)

さりとて、日本語がまったく表示できないのも困り物なので、パケマネで「japanese font」として日本語フォントを検索して、適当なフォントをインストールすると良い。それだけで、ブラウザ上の日本語表示は可能になるだろう。とりあえず、IPAX0208系のフォントを入れておいた。ただし、これではウィンドウのタイトルやタスクバーに表示される日本語は化けたまま。なので、「/root/.jwm/jwmrc-theme」の中のフォント指定を全て書き換える。

<Font>Sans-10</Font>
    ↓
<Font>IPAX0208UIGothic-10</Font>
これでウィンドウマネージャを再起動すれば、UI周りも日本語が表示できるようになるはず。駄目なら、他のJWMの設定ファイルを軒並みチェックして、「Sans-10」を「IPAX0208UIGothic-10」に書き換えてみる。

なお、日本語入力に関してはまだ試していないが、普通にAnthy+SCIMをインストールすれば問題ないと思う。⇒【追記】そう楽観もできないか…?少なくとも他のPuppyでは、日本語lang_pakのインストールが必須の場合もある。(2022.07.30)

Fossapupの擬似LXDE化 (2024.03.11)

FossapupもXenialpupと同じように擬似LXDE化してみた。Fossapupは従来のPuppyよりも融通が効くようで、細部まで詰めて設定すれば、純LXDEに近い使い操作性になる。特に、デフォルトのファイルマネージャとしてPCManFMが指定できるのが非常にありがたい。Tahrpupはファイルマネージャの変更ができなかったし、Xenialpupは変更は可能だが不具合が出た。
  1. パッケージマネージャから「pcmanfm」「lxpanel」「lxterminal」の3つをインストール
  2. デフォルトのアプリケーションの設定で、ファイルマネージャーを「pcmanfm」に、端末を「lxterminal」に変更する。ついでに、テキストエディタは「Leafpad」を推奨
  3. Puppyの設定から[スタートアップ|スタートアップアプリ]に「lxpanel」を追加する
  4. 「/root/.jwmrc-tray」を適当な名前(.jwmrc-tray.org等)に変更して、トレイを無効化する
  5. ウィンドウマネージャを再起動すると、トレイの代わりにlxpanelが表示される
  6. この段階ではlxpanelのメニューの「ログアウト」は無効になっているので、念のため「/usr/share/applications」の[Leave Puppy]をデスクトップにコピー(リンク)しておく
  7. 別項で説明したように、lxpanel用のメニューファイル「/etc/xgd/menu/lxde-applications.menu」を「改造版lxde-applications.menu」に差し替える
  8. lxpanelを右クリックして[パネルの設定|高度な設定|ログアウトのコマンド]の欄に「logout_gui」と入力する
  9. 最後にPCManFMでゴミ箱として「/root/.local/share/Trash」をブックマークするする
以上で一通りの設定は終了。細々とした設定は山ほど残っているが、それはそれぞれの好みで。

【参考】メニューのログアウト設定は「/root/.config/lxpanel/default/config」に書き込まれるようだ。
[Command]
Logout=logout_gui

【参考】[Leave Puppy]はメニューに表示されないため、LXPanelのランチャにも登録できない。これは「/usr/share/applications/logout_gui.desktop」の中で「NoDisplay=true」とされているため。この設定を「NoDisplay=false」に書き換え、「Categories=System」行を追加すれば、メニューの「システム」項目の中に表示されるようになる。が、一定時間が過ぎると変更した設定が元の状態に書き戻されて??、メニューから消えてしまう。ランチャでの起動も不可能に。仕方がないので、同内容の別ファイル(logout.desktop)を作成して、こちらを使用することにした。

デスクトップテーマの変更 (2024.03.11)

Fossapupの−−と言うより、最近のOSのデスクトップ・デザインは非常に醜い。なんでこんなに視認性の悪いUIが流行るのか、ほとんど理解不可能なのだが……と言うことで、Windows XP時代のトラディショナルなUIに可能な限り近づけることにした。と言っても、デフォルトのGTKテーマはNumix系が3種入っているだけ。まずは追加テーマのインストールから。
  1. パケマネから「mate-themes」をインストールする
  2. [JWM DESK]の[GTKテーマ]で[Clearlooks]を選ぶ
  3. [JWM DESK]の[JWMテーマ]で[NuFlat-grey]を選ぶ
  4. [GTKテーマ]の[アイコンテーマ]のタブで[ROX]を選ぶ(ウィンドウ内のアイコン)
  5. [JWM DESK]の[アイコンテーマ]で[Moka]を選ぶ(デスクトップのアイコン)
  6. [JWM DESK]の[Window]タブで[形状]をオンにして、[タイトルバーの高さ]を「26」に、[角の判型]を「4」に設定する
  7. さらに、同じダイアログで[フォーカス](Click・Sloppy)を[Click]にする
以上で、昔ながらの安心UIになる。

【追記】実は、この設定ではPCManFMのツールバーのアイコンが1つ欠落している。[]と[←]の間には、新規タブの追加アイコン(tab-new.png)が表示されなくてはならないのだが、JWMのアイコンセットにはそのようなアイコンはない。そこで、適当なアイコンをコピーして「tab-new.png」(またはtab-new.svg)として、「/usr/share/pixmaps」に放り込んでおくと良い。

もう一つの方法は、パケマネから「lxde-icon-theme」をインストールした上で、GTKのアイコンテーマとして「nuoveXT」を選ぶ。こちらの方がカッコ良く収まるが、アイコンテーマ一つに8MBも消費するのは、Puppyのセーブファイルの大きさを考えると、ちょっと痛い。(2024.03.16)

キーボード配列の設定(JP/US)が無効になる現象 (2024.03.11)

私は日本語キーボードと英語キーボードを併用している。なので、キー配列は環境に応じて簡単に切り替えられることが望ましい。実際、通常のLinuxならばキーボード設定で簡単に切り替えられるのだが、なぜかFossapupでは英語配列に設定しても、すぐに日本語配列に戻ってしまう。

最初は非常に戸惑ったが、原因は日本語IME(フレームワーク)のibusにあった。ibusはデフォルトで日本語配列を選択するようになっているのだが、この設定がシステムの設定よりも優先されるようだ。ibusの設定ダイアログを開いて、[入力メソッド]で「Keyboard - English (US)」を追加して、デフォルト(一番上)に設定すればよい。

VirtualBoxでメモリリークが発生する場合 (2024.03.11)

FossapupをVirtualBoxで動作させる場合、ホスト側でメモリリークが発生してXorgの消費メモリがガンガン膨れ上がる。画面が書き変わるごとに数MBずつ増え、30分も使っていると数GBにもなる。Fossapupを終了するとリークは止るが、当然リークしたメモリは元には戻らない

これはVirtualBoxのビデオドライバに原因があるようで、設定ダイアログで[グラフィックスコントローラー]を[VMSVGA]から[VBoxSVGA]に変更したら解決した。無効な設定というワーニングは出るが、特に問題はなさそうだ。


【Linuxなんて大キライ目次】 【ホーム】