
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu MATE18.04をRaspberry Piで使っていますが起動時に
org.freedesktop.DBus.Python.EOFError: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/dbus/service.py", line 707, in _message_cb
retval = candidate_method(self, *args, **keywords)
File "/usr/lib/python3/dist-packages/blueman/main/DbusService.py", line 36, in wrapper
return method(*args[1:], **kwargs)
File "/usr/lib/python3/dist-packages/blueman/plugins/mechanism/Network.py", line 63, in ReloadNetwork
nc = NetConf.get_default()
File "/usr/lib/python3/dist-packages/blueman/main/NetConf.py", line 212, in get_default
obj = pickle.load(f)
EOFError: Ran out of inputと書かれたダイアログが出現します。これはどうやらBluetoothマネージャのbluemanでエラーが発生しているようです。
sudo apt remove blueman
で削除すると表示されなくなりますが、Bluetoothの設定がこれでは大変になるのでbluemanをどうしても使いたいです。
bluemanを再インストールしてもこのエラーは表示されます。どうすれば表示されなくなりますか?よろしくお願いします。
オフライン
試しにubuntu MATE 18.04 LTSをインストールしてみました。ただし厳密には下記のように異なります。
・ハードがx64
・qemu/KVM上にゲストとして起動
1) bluemanのエラーの原因
File "/usr/lib/python3/dist-packages/blueman/main/NetConf.py", line 212, in get_default
obj = pickle.load(f)
EOFError: Ran out of input上記の、起動時に発生するbluemanのエラーですが、
NetConf.pyのソース(*1)を見ると、
これには /var/lib/blueman/network.state というファイルに関係していて、このファイルが
・サイズが0
の時に発生します。
このファイルが破壊されていて整合性がない時は別のエラーになります。
この"network.state"というファイルが存在しておりサイズが0でないかを確認してみてください。
*1:今回はスクリプトなのでソースーバイナリ間のズレはないはずです。
2) "(/var/lib/blueman/)network.state"の存在理由
詳細な構造までは分からないのですが、このファイルはbluemanがなんからのネットワーク設定情報(おそらくはbluetoothのもの)を永続化(ファイル化)保存したものになります。
bluemanがネットワーク設定情報を管理する対象物=bluetoothe機器があれば正常に作成されるように思われます。
また管理対象の機器がなければこのルートは通らないように思えます。
ちょっと矛盾した考えになりますが「bluetooth機器がlinux認識されているか?」をlshwコマンドなどで確認してみたほうがいいかと思います。
ちなみに、当方で検証した環境は仮想環境のゲストなのでbluetooth機器は組み込んでいません。
その一方でbluemanは初期状態でインストールされていましたから、起動時には機器が無いことにより質問者と同じエラーが発生しそうです。
しかし、そういう現象は発生しませんでした。
3) 16.04の時はどうしていたか?
質問者の方は以前16.04を使っていたと記憶しています。その時bluetoothの管理はどのアプリを使われていたでしょうか?
当方が使っているメインのubuntuはubuntu 16.04 LTSなのですが、こちらだとbluemanは初期状態ではインストールされていません。
それでもbluetooth機器は"bluetooth"というアプリ(というか設定アプレット)で管理出来るようです。
(当方自体は普段bluetoothを使っていないのでこちらのアプリの使い勝手は不案内です)
もし、質問者の方が16.04の時に使われていた管理アプリと同じものが、18.04にも存在しそれで事足りるなら、bluemanはアンインストールしてしまうのも対応の一つか思います。
追記
もう一件のご質問「MATEデスクトップのみで音が出ません」についてです。
bluetoothに関するこちらの件を調べながら一時間ほどVLCで音を出していたりしましたが、質問者の言われるような現象は起きませんでした。
ただ、当方のハード環境は最初に述べたように質問者の方のものと同じではありません。
オフライン
kznj による投稿:
3) 16.04の時はどうしていたか?
質問者の方は以前16.04を使っていたと記憶しています。その時bluetoothの管理はどのアプリを使われていたでしょうか?
当方が使っているメインのubuntuはubuntu 16.04 LTSなのですが、こちらだとbluemanは初期状態ではインストールされていません。
それでもbluetooth機器は"bluetooth"というアプリ(というか設定アプレット)で管理出来るようです。
(当方自体は普段bluetoothを使っていないのでこちらのアプリの使い勝手は不案内です)
もし、質問者の方が16.04の時に使われていた管理アプリと同じものが、18.04にも存在しそれで事足りるなら、bluemanはアンインストールしてしまうのも対応の一つか思います。
この時からbluemanは使っていましたがこのようなエラーは発生しませんでした。パーティションのリサイズ(か何か?)をしてから16.04のときでも突然表示されるようになりました。
こんなエラーが発生してもBluetoothは正常に使えます。直すのは困難なのでしょうか?
kznj による投稿:
それでもbluetooth機器は"bluetooth"というアプリ(というか設定アプレット)で管理出来るようです。
"bluetooth"はどうやってインストールするのでしょうか?
kznj による投稿:
もう一件のご質問「MATEデスクトップのみで音が出ません」についてです。
bluetoothに関するこちらの件を調べながら一時間ほどVLCで音を出していたりしましたが、質問者の言われるような現象は起きませんでした。
ただ、当方のハード環境は最初に述べたように質問者の方のものと同じではありません。
こちらの問題はサウンド設定で"ウィンドウとボタンの音を鳴らす"の設定を解除したら治りました。謎ですね。
オフライン
1) ubuntuMATEは、bluetooth管理のGUIフロントエンドはbluemanだけの模様
よく調べてみると、ubuntuMATEではbluetooth管理のGUIフロントエンドはbluemanだけのようです。
https://wiki.archlinux.jp/index.php/MATE#.E8.A8.AD.E5.AE.9A
canonical社のubuntuDesktopではbluetooth管理のGUIフロントエンドは以下の二本立てです。
・bluetooth管理アプレット(「システム設定」の中に表示される設定アプレット)・・・標準
・blueman・・・オプション
MATEもこの二本立てかと思ってしまったのですが違っていました。申し訳ありません。
そしてbluetooth管理アプレットはubuntuDesktopを前提なのでMATEにはインストール出来ない(=レポジトリとして見えない)ようです。
2) 回避策
kushi3835 による投稿:
こんなエラーが発生してもBluetoothは正常に使えます。
ということなので「起動時のエラーダイアログ」を回避することだけを考えてみます。
a) bluemanは削除してGUIフロントエンドでのbluetooth管理を(一時的にしろ)諦める
「起動時のエラーダイアログ」の直接の原因をわかりませんが、x64のMATEでは起きないので、ARMv7(raspberry PI Bx向け)固有の問題の可能性もあります。
リリースしてからまもないこともあるので、今後解消されるかも知れないことを期待して一時的にbluemanを使わないということは出来ます。
※ raspberry PIでの対応や解決を急ぐなら英語で質問することになりますが、ubuntu MATE community( https://ubuntu-mate.community )にアクセスしてみるのも一方法です。
GUIを諦めるのでターミナルからbluetoothctlコマンドを使うことになりますが、下記の記事を見るとテキストながら対話的に設定出来るようです。
Linux のコマンドラインで Bluetooth 接続 https://qiita.com/propella/items/6daf3c56e26f709b4141
b) bluemanは削除して代わりに"blueberry"を使う
全てのデスクトップ環境で動作するbluetooth管理フロントエンドとして"blueberry"というのがあるようです。
https://wiki.archlinux.jp/index.php/Bluetooth#Blueberry
ただ、このパッケージはARMv7向けのバイナリーパッケージは無いようなので自分でソースからビルドする必要があります。
また、元々のLinux Mint向けのものらしいので、MATEでの動作や使い勝手について心許ないところが難点です。
以上です
オフライン
BluemanのNetworkingというプラグインを無効にしたら直りました。これも謎ですね。
オフライン