†Linuxなんて大キライ†
作成開始日 2022.06.29
最終更新日 2024.03.16
(*) 64bitオンリーになったのは、ベースとなったUbuntu側の都合。Jammypup(Ubuntu 22.04ベース)ではDebianとのキメラで32ビット化したディストロも登場した。
そうなると、Puppyを使う意味あるの?という根本的な問いに行き着いてしまう。それなりのパワーのPCが必要ならば、もう、Xubuntu/Lubuntuでもいいんじゃね?という気がする。尤も、Puppyは小容量のストレージでも(極端な場合ストレージレスでも)使用できるというメリットがあるので、それなりに存在意義はあるのだが…なお、今回の私のニーズはまさにそこにあって、Athlon64 X2の中位モデルで、ストレージが非常に小さい(8GB)PC用のOSとして試してみた。
FossapupとXenialpup以前の旧バージョンと比較して、メリットと感じたのは;
今回は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のストレージで問題はない。
【訂正と補足】
@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ならば起きない?
【追記】後述の方法で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」は「width=」オプションを付けて、明示的に幅を指定することが多いが、無指定の場合は自動拡張になるようだ。ただし、ランチャーが中央配置の場合は横いっぱいにはならない。<Spacer/> <Dock/> <Clock format="%H:%M">exec:PupClockset</Clock> </Tray> </JWM>
ランチャーにシステムトレイを表示するには、前述の「<Dock/>」を指定すればよい。しかし、Dockは複数同時に使用することはできない。なので、下部のパネルの設定ファイルである「/root/.jwmrc-tray」編集して、「<Dock/>」行を削除(乃至コメントアウト)し、ウィンドウマネージャを再起動する。これで上部のランチャーにシステムトレイが表示される。
【参考】スペーサーの挿入
ランチャーにアイコンをずらずら並べるととても判り難い。適当なところにスペーサーを挿入して、分類してやると使い易い。しかし、アプリケーション・アイコン間にスペースを挿入する機能はないようだ。「.jwmrc-tray2」を直接編集して「<Spacer width="8"/>」を適当な場所に挿入してやれば良いのだが、JWM設定でトレイを編集すると、このSpacerはボタン設定群の末尾に追いやられてしまうorz このような場合、ダミーのプログラム(dummy.desktop)を作成して、区切り用のアイコンを登録するとよい。なお、同一プログラムを複数回登録することはできないので、区切りが複数必要なときはダミーも複数作成する。
まず、パッケージマネージャから「acpitool」をインストール。次に、適当な名前で空ファイルを作成する。ここでは仮に「syalis.sh」(スヤリス)とした。ちなみに、「sleep」や「suspend」と言ったコマンド名は、別の用途で既に使用されているようだ。で、「syalis.sh」の中に次の1行を書き込む。
acpitool -sあとは、この「syalis.sh」を実行可能に設定すれば出来上がり。ダブルクリックでサスペンド可能。なお、PCによっては、マウスが少し動いただけで、レジュームしてしまって不便である。その場合は、USBデバイスからのレジュームを禁止するとよい。
acpitool -wとすると、レジューム(wake up)の対象になるデバイスが一覧表示されるので、USBデバイスをすべてdisableにする。ウチの環境では、10番〜15番のデバイスがUSBに割り振られていたので;※小文字の「w」
acpitool -W 10というシェルスクリプトを作成して、一括disableを可能にした(-W指定はフリップフロップなので、再度命令を実行するとenableになる)。これで、レジューム可能なデバイスは[電源ボタン]のみとなった。なお、マウスだけ禁止して、キーボードからのwake upは受け付けるようにしたかったのだが、ワイヤレスコンボを使用しているせいか?個別に禁止することはできなかった。※大文字の「W」 acpitool -W 11 …… acpitool -W 15
あとは、一定時間入力がない場合、自動でサスペンドしてくれると便利なのだが、デフォルトではできなかったと思う(ちょいと記憶があやふやなのだが)。適当な電源管理ツールをインストールするか、あるいはcronあたりかな?
ところが、Xfceを入れると、レジュームに失敗するようになってしまった。以前Debianで経験した「マウスは動くし、場所に応じてマウスカーソルは変化するのだが、操作を一切受け付けない」状態。ただし、Ctrl+Alt+BkSpでXを落すことはできた(ここはDebianとは違う)。さらに、xscreensaverでエラーメッセージが出ていることが確認出来た。
こんな特殊な状況から一般論は導けないが、過去の実験結果を勘案しても、Xfceの画面ロック/スクリーンセーバーがキモなのは間違いないだろう。であれば、対処もそんなに難しくはないのでは…?と思ったが、そもそも、このXfce環境を使い続ける気はないので−−そんなら、Quickpupの方が良いと、その時は思ったので−−ここで実験は終了。
【追記】日本語環境にしないと、LeafpadでシフトJISファイルが開けないことがある。
さりとて、日本語がまったく表示できないのも困り物なので、パケマネで「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のインストールが必須の場合もある。Fossapupの擬似LXDE化
FossapupもXenialpupと同じように擬似LXDE化してみた。Fossapupは従来のPuppyよりも融通が効くようで、細部まで詰めて設定すれば、純LXDEに近い使い操作性になる。特に、デフォルトのファイルマネージャとしてPCManFMが指定できるのが非常にありがたい。Tahrpupはファイルマネージャの変更ができなかったし、Xenialpupは変更は可能だが不具合が出た。
【参考】メニューのログアウト設定は「/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)を作成して、こちらを使用することにした。
【追記】実は、この設定ではPCManFMのツールバーのアイコンが1つ欠落している。[
もう一つの方法は、パケマネから「lxde-icon-theme」をインストールした上で、GTKのアイコンテーマとして「nuoveXT」を選ぶ。こちらの方がカッコ良く収まるが、アイコンテーマ一つに8MBも消費するのは、Puppyのセーブファイルの大きさを考えると、ちょっと痛い。
最初は非常に戸惑ったが、原因は日本語IME(フレームワーク)のibusにあった。ibusはデフォルトで日本語配列を選択するようになっているのだが、この設定がシステムの設定よりも優先されるようだ。ibusの設定ダイアログを開いて、[入力メソッド]で「Keyboard - English (US)」を追加して、デフォルト(一番上)に設定すればよい。
これはVirtualBoxのビデオドライバに原因があるようで、設定ダイアログで[グラフィックスコントローラー]を[VMSVGA]から[VBoxSVGA]に変更したら解決した。無効な設定というワーニングは出るが、特に問題はなさそうだ。