Linux Bluetoothが再認識しない場合の対処

ふとした拍子に、キーボードの接続を削除してしまったらその後どうしても発見してくれない状態になってしまうことがあります。

根本的に解決になっているわけではないですが以下の方法で認識することが有ります。

rm -rf /var/lib/bluetooth/<番号>/cache

番号には、それぞれ環境によって異なります。サービスなどを再起動すればよいのかと思いますが強制的に消してしまっているのでシステムが再起動できれば再起動してしまうほうが良いです。再起動後、機器をペアリングモードにすることで無事に接続ができたことを確認できました。

lsix – Terminal上で画像を表示するコマンド

lsixというコマンドは sixel graphics に対応したTerminal上で画像を表示することができます。
macなどではHomebrewから導入することができます。sixelに対応したTerminalは iTerm2などがありますが最近のTerminalでは結構サポートされています。

これが便利な点は、例えばWebサーバとかに入れておけばTerminalだけでもある程度ファイルの中身がわかるので作業がだいぶ楽になりますね。

Sixel Graphicsについて

Sixel(シクセル)は、テキストベースの端末エミュレーターやCLI環境での画像表示に用いられる興味深いグラフィックスフォーマットです。このフォーマットは、画像を6つのビットのデータに圧縮し、それをテキストベースの環境で効果的に表示することを可能にしています。主な特徴として、Sixelはシンプルな形式を持っており、6つのビットのデータで画像を表現します。これにより、CLI上での軽快な画像表示が可能です。さらに、テキストベースの端末エミュレーター上での利用に焦点を当てており、その特性から派生してカラー画像もサポートしています。

Wayland 環境におけるSteam link の問題

発生症状
Steam Linkクライアントで画面が表示されない(黒い画面のまま、ただし操作はできておりPC側の画面は動く)。この問題は、PC側のSteamが、Linux+Waylandで動作しているときに発生する

解決
Gamescopeを利用することで解決もできる
解像度が甘い(Gamescopeで指定した解像度で表示されているのかボケる(これは私の環境が完全にはGamescopeがうまく動作してないことが影響をしてそう)
PopOSの場合には対応した標準のパッケージが用意されてない

原因
はっきりとは原因は不明だが、Waylandの画面共有の問題が関係している模様。失念したが設定次第では画面共有のダイアログが表示されて映ることもあったが安定しない(というかほぼ無理)。この話題はネットでも解決してない問題で放置されている感じがする。問題の迂回案としてGamescope経由で起動したアプリは共有が無事にできる。

実施内容

Gamescopeとは
Valveの開発したマイクロコンポジッターです。gamescope環境で起動したアプリはGamescopeのサンドボックス内の画面で動きます。そのためデスクトップと影響なく指定したWindowで起動することができます。スケーリングなどもNvidiaやAMDの機能で実施することができるため実際の解像度と表示の解像度を変えることができます(私の環境だとSteam Linkで接続するとフルスクリーンで動いていた場合に落ちてしまうのですが・・・)

gamescope -e -W 2560 -H 1440 -w 2560 -h 1440 -F nis --expose-wayland -- steam -bigpicture -pipewire-dmabuf -hdr-enabled というオプションで起動した状態。仮想Windowみたいなものですね、この枠の中で動く感じです。拡大も縮小も軽快に動きます。この状態でSteamlinkをした場合、Wayland環境下でも接続することができます。ただし何故か微妙にボケている。

スケーリングを当てにするオプションがあるはずなのですが安定しないので画面サイズと同じサイズにスケーリングをするように指定して今の所動いています。