†Linuxなんて大キライ†

XenialPup-7.5の擬似LXDE化

作成開始日 2023.05.30
最終更新日 2024.08.09

nonPAE版最終バージョン

実家でPentium M(正確にはIntel A110)の古いノートPCにPuppy 5.7.1を載せて使っているが、流石に古くて不便を感じることがあるので、もう少し新しいバージョンのPuppyを載せることにした。しかし、PenMでも動作するのはnonPAE版だけで(*)、PuppyのnonPAE版はXenialpup-7.5がラストとなる。ちなみに、このノートPCは所謂ネットブックと言うやつで、ストレージはオンボードの1GBの不揮発メモリのみ;拡張は不可能。DebianやUbuntuなどの標準的なLinuxはインストールできない(もちろん、その気になれば、いろいろ逃げ道はあるけどね)。

(*) 正確に言えば「Pentium M=PAE非対応」と言うわけではない。ごく一部のモデル(M745等)を除けば、PenMも仕様的にはPAEに対応している。ただ、実際にはPenMだと言うだけで、問答無用で切り捨てられることが多い。nonPAE版の標準環境は是非とも確立したい。

では、Xenialpup-7.5を使えば万事解決かと言うと…流石にJWM+ROXの環境では実用は厳しい。こんなときに頼りになるのが、LxPupなのだが…なぜか、LxPupのXenialpup版は存在していない。いや、ファイル自体は見つけたのだが(LxPupXenial-17.11/17.11+3)、これが動かない。少なくともVirtualBox上ではブートしない。ネットを探しても、このバージョンの情報は極端に少ないし、ibiblioでもこのバージョンのみ収録していない。何等かの問題があるバージョンなのだろう。

となると、LxPupのnonPAE版の最終バージョンはLxPupTahr-15.12と言うことになる。まあ、確かにかなり使えるバージョンではあるのだが、FAT32の日本語化け問題でかなり辛い思いをしたので、あまり積極的に使いたいバージョンではない。それに、敢えて1世代前のバージョンと言うのもなぁ…

LxPupBionicに「forcepae」や「-- forcepae」などを付けてみたが、効果はなかった。どうやら、Bionic以降は非PAE環境を完全に切り捨てたようだ。

Xenialpup-7.5の擬似LXDE化−−PCManFM, LXPanel, LXTerminal

で、結局Xenialpupに戻ることにした。しかし、UI周りをLXDEライクにしないと、やはり実用は厳しい。一番ストレートな方法は、LXDEそのものをインストールすること。で、意外にもこれは成功した。が、問題も多い。最大の問題は、後述するメニュー構造の問題が解決しなかったこと。そして、もう一つはパケマネのリポジトリ設定の問題。デフォルトではアクセスできないファイルがあるので、リポジトリを更新するのだが、これが……何だか判らない症状が発生して、大半のアプリがパケマネに表示されなくなってしまった。安定システムの構築には適さない。

LXDEのインストールには成功しているので、JWMの代わりにOpenBoxを起動するようにすれば、LXDE化自体は可能だと思う。試しに「startlxde」してみたが、一応正常動作しているように見えた。が、使える環境にするには、細かな設定の変更が必要。それに着手してしまうのは…

と言うわけで、LXDEそのものはペンディングして、LXDE上の主要ツールであるPCManFM、LXPanel、LXTerminalをインストールすることにした。この3つはパケマネから素直にインストールできた。UI周りがLXDEライクになれば満足なので、今回はこれで事が足りる。

なお、LXPanelはコマンドライン起動なので、Puppyの設定の[スタートアップ|スタートアップアプリ|追加]に登録しておく。「lxpanel」と入力した後、右の[+]アイコンをクリックすれば良い。また、従来のJWVのトレイは「/root/.jwmrc-tray」ファイルを適当な名前(例えば.jwmrc-tray.org)に変更してウィンドウマネージャを再起動すれば消える。

これでLXDEライクな環境にはなるが、一つ、非常に厄介な問題が…それは、LXPanelに登録されているアプリケーション・メニューの構造が目茶苦茶だと言うこと。適切なメニュー項目に分類されているアイコンはごく少数で、大半のアプリが[その他]カテゴリに放り込まれている。これでは探せない。原因は簡単で、JWM環境とLXDE環境では、アプリのカテゴリ名が異なるからだ。JWMのカテゴリ名はLXDE環境では識別不能で、すべて[その他]になってしまう。たまたまJWMとLXDEのカテゴリ名が同じもののみ、正しく分類される。

となると、LXDEのアプリケーション・メニューであるlxde-applications.menuか、各アプリの.desktopファイルのCategories設定を書き換えて、整合性を取るしかない…どちらにしても、これは物凄い手間になる。しかも、これ、単にアプリケーション・メニューの構造と言うだけでなく、LXPanelのアプリケーション・ランチャーにも影響を与えるもので、メニューを使わなければ済む話ではない。かなり厄介なのだ。

LxPup-15.xxからのメニューの移植

と言うことで、最初は手作業でちまちま登録し直していたのだが、こんなことやっていたら人生が終ってしまう。老い先短い人間のやることではない。何とか効率的にできないか…たとえば、grepで*.desktopから当該行をのみ取り出して、sortを掛けて…といろいろ考えていたのだが、ふと思い付いた。じゃあ、LxPupはどうしてるんだ。ひょっとしたら、LxPupのlxde-applications.menuをそのまま持ってくれば解決するのではないか?

結論から言えば、これはビンゴだった。もちろん、ただコピーするだけで万事解決とは行かない。多少は手を入れなくてはならない。

@LxPup-15.03の「/etc/xdg/menus/lxde-applications.menu」ファイルを、Xenialpup-7.5の同じ場所にコピーする。元ファイルのバックアップは…微妙;私はいらない。

Aコピーした「lxde-applications.menu」をテキスト・エディタで開いて、「Mate-Puppy-xxx.directory」とある部分を「Puppy-xxx.directory」に書き換える(10箇所以上ある)。

B同じく「lxde-applications.menu」からヘルプに関する項目を削除する(任意)。

C以上で【lxde-applications.menu】と言う形式になる。なお、本ファイルをブラウザ上で表示しても、タグが見えないので注意。ダウンロードしてテキスト・エディタで開いて見るとよい。

後はシステムをリブートすれば良い。ウィンドウマネージャやXウィンドウの再起動だけでは、変更が反映されないことがあるので、必ずシステムをリブートすること。多分、メニューのキャッシュが悪さをしている。なお、このメニューの[ログアウト]は機能しない。デフォルトの左下メニューの[シャットダウン]は普通に使用できるので、当面はこちらを使う。

[/usr/share/applications]の中にある[Leave Puppy](logout_gui.desktop)の「NoDisplay」設定を「false」にすれば、ログアウト(Leave Puppy)もアプリとしてメニューに登録できる。

【追記】「/root/.config/lxpanel/LXDE/config」に「Logout=logout_gui」行を追加して、ウィンドウ・マネージャ再起動すればよいようだ。

【追記】同じLxPup-15でも、Ubuntu系の15.12ではなく、Slacko系の15.03を使っているのは、15.12がVirtualBoxのデフォルト設定では起動しないから。ビデオドライバをVBoxVGAに変更すれば起動するようだが…ただ、lxde-applications.menuの中身は、どちらも同じ…かな?

その他の留意点

今回のテーマとは直接は関係ない物も含め、Xenialpupを使用する際に留意すべき点を幾つか。


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