LinuxでBluetoothで接続機種(m5stack)が見つけられないときの対処

最近Bluetoothの機器が非常に見つけづらくなっていて何故か理由が分からなかったのですが以下の設定になっていたので修正

❯❯❯ bluetoothctl show
Controller 48:E7:DA:C2:04:0C (public)
Name: pop-os
Alias: pop-os
Class: 0x006c010c
Powered: yes
Discoverable: yes
DiscoverableTimeout: 0x000000b4
Pairable: yes

この項目が no になっていたことが原因でした。 yes に変更するためには bluetoothctl pairable on というコマンドで設定を変更できます。

m5stack でBLE経由したMouseエミュレーションのプログラムを作成していたのですがなかなかLinux側で認識できてなかったのですがこれで認識ができるようになりました。不具合かなとおもったら一度初診に帰ってそもそもの設定を確認しておくと良いですね。

今回の利用したパラメータは以下の通り。

pairableBluetooth レシーバーのペアリング可否の状態を変更するpairable on|off
discoverableBluetooth レシーバーを、他のデバイスから検索可能な状態にするかどうかを変更するdiscoverable on|off

VirtualboxのWindowが移動できない(Linux Mint20)

Read More

久しぶりにVirtualboxを起動したら、クライアントのWindowが移動できない。どうもこうにも移動できない。

Mint のCinamonのショートカットで Move Window するとつまむ状態になるはずなのにならない。なともお手上げ。しかし他のアプリを触ると移動できることがわかったのでなんとかなった。結局これがわかるまでにOS入れなおすしVirtualboxも入れ直すしと散々。

解決方法

  • 他のアプリを触ったあとであれば、タイトルバーを掴んで移動ができる。

Wineプログラムの自動起動

特に変わったことをするわけではないが環境変数周りを設定して起動する

systemdのシステムの場合には /etc/systemd/system 以下にスクリプトを記載する。今回は d2gs.service という名称で作成

[Unit]
Description = Diablo2 Game Server (d2gs)

[Service]
#After=bnetd.service d2gs.service d2cs.service
ExecStartPre=/etc/init.d/diablo start


EnvironmentFile=/etc/systemd/system/d2gs.env
User=hideaki
WorkingDirectory=/opt/d2gs
ExecStart=/opt/wine/bin/wine D2GS.exe
Restart=always
Type=simple
PIDFile=/opt/d2gs/d2gs.pid
KillMode=process

[Install]
WantedBy = multi-user.target

今回の対象となっているプログラムは事前に d2gs bnetd 等のサービスが起動している必要があるので after などで指定ができる(今回はそれらのプログラムが正常にRCを返さないのでうまく実装できてないが)のでプログラムの前後関係を持ちたい場合には systemdのこの機能はおすすめです。

環境変数は同じ EnvironentFileで指定します。内容は環境変数の定義です。

WINARCH=win32
WINEPREFIX=/home/hideaki/.wine_dia

これでWineの環境切替を正常に行うことが出来ます。