有馬総一郎のブログ

(彼氏の事情)

2022年12月08日 01:06:51 JST - 3 minute read - Linux

MX Linuxでfoobar2000(snap)を使う

Pop!_OS by System76を数ヶ月間使っていたが、何故か、ターミナルでのカーソル移動や文字編集でモタつく…なので MX Linux KDEを使い始めた。で、snapを使おうとすると、そのままでは使えなかったのでメモする。

インストール

snapsudo apt install snapdでインストールする。 次に、sudo snap install coreをする。

systemdを有効にする

通常であれば、上記2コマンドで、他のsnapアプリのインストールや実行が可能となるが、MX Linuxは駄目だった。

$ sudo systemctl status snapd.service 
[sudo] arimasou16 のパスワード:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: ホストが落ちています

Systemd – MX Linuxにあるとおり、GRUB画面で Advanced options… をクリックし、

MX 21.2.1 Wildflower, with Linux 5.10.0-19-amd64 (systemd)みたいなのを選択する。

確認。

$ sudo systemctl status snapd.service          
[sudo] arimasou16 のパスワード:
● snapd.service - Snap Daemon
     Loaded: loaded (/lib/systemd/system/snapd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-12-08 00:07:28 JST; 6min ago
TriggeredBy: ● snapd.socket
   Main PID: 819 (snapd)
      Tasks: 14 (limit: 19002)
     Memory: 89.8M
        CPU: 2.308s
     CGroup: /system.slice/snapd.service
             └─819 /usr/lib/snapd/snapd

12月 08 00:07:23 mx systemd[1]: Starting Snap Daemon...
12月 08 00:07:24 mx snapd[819]: AppArmor status: apparmor is enabled but some kernel features are missing: dbus, network
12月 08 00:07:28 mx snapd[819]: AppArmor status: apparmor is enabled but some kernel features are missing: dbus, network
12月 08 00:07:28 mx snapd[819]: overlord.go:263: Acquiring state lock file
12月 08 00:07:28 mx snapd[819]: overlord.go:268: Acquired state lock file
12月 08 00:07:28 mx snapd[819]: daemon.go:247: started snapd/2.57.6 (series 16; classic; devmode) debian/11 (amd64) linux/5.10.0-19-amd64.
12月 08 00:07:28 mx snapd[819]: daemon.go:340: adjusting startup timeout by 1m15s (pessimistic estimate of 30s plus 5s per snap)
12月 08 00:07:28 mx systemd[1]: Started Snap Daemon.
12月 08 00:07:43 mx snapd[819]: storehelpers.go:748: cannot refresh: snap has no updates available: "bare", "core", "core20", "foobar2000", "gnome-3-38-2004", "gtk-common-themes", "snapd", "w>
12月 08 00:07:43 mx snapd[819]: autorefresh.go:540: auto-refresh: all snaps are up-to-date

OK。

実行可能にする

systemdを有効にすることでsnapアプリ、例えば foobar2000がインストールできるようになった。しかし、いざ実行してみようとすると、失敗する。

$ snap run foobar2000
/user.slice/user-1000.slice/session-1.scope is not a snap cgroup

Cannot launch snap applications with cgroup v2 - snapd - snapcraft.ioにあるとおりdbus-user-sessionというシンプルなプロセス間メッセージングシステムをインストールする必要があるようだ。

sudo apt install dbus-user-sessionして再起動する(ログアウトでは駄目だった)。

文字化け・豆腐を解消する

起動すると、文字化け、豆腐になってる… Linux Mint 18.3 : ハイレゾ音源対応 Windows ユーザーに人気の「Foobar2000」をインストール & 文字化け対策 | 221B Baker Streetに対応方法が載っているが、Windowsのフォントをコピーする方法だったので、ちょっと躊躇われる。

Wineのレジストリエディタでこのレジストリファイルを取り込む | 日暮途遠(Linux)にあるとおり、レジストリのHKEY_CURRENT_USER\Software\Wine\Fonts\Replacementsをイジれば解決するのだけど、snapアプリのfoobar2000内部のwineなので、どう変更したら良いのか分からず。

Ubuntu 18.04 LTSで文字化けしたSnapアプリをなんとかして使う - 330k infoを見るとLANG=C mcomix-tabetaiというやり方をしていたので、LANG=C snap run foobar2000で豆腐を解消した。

デスクトップアプリ(Launcher)登録

Pop!_OSやUbuntuだとインストールと同時にデスクトップファイルが作成されて、ランチャー登録されたのだけど、何故かされてないので手動で登録する。

~/.local/share/applications/foobar2000.desktop

[Desktop Entry]
Name=foobar2000
Exec=LANG=C snap run foobar2000
Icon=/home/arimasou16/snap/foobar2000/current/.local/share/icons/foobar2000.png
Type=Application

アイコンは、実際はそこにあったわけではなく、ネット上から適当に取ってきたのを置いただけである。=エスケープは不要だった。