ありがとうございます。
どうぞどうぞ、採用いただけるのであれば大歓迎です。
Kona 8 / KLUE 7 の標準ツールとして使っていただいて大丈夫です。
ソース一式は以下に置いています。
自由に変更・調整していただいて問題ありません。
実は、わたし自身はプログラミングの知識はゼロです。
ChatGPTに「こういう動作にしたい」と指示しながら、少しずつ確認して実行ファイル化まで進めた感じです。
AI恐るべしですね。
今回の ALSA 版について、仕様メモのようなものも下にまとめておきます。
必要に応じて、Kona Linux / KLUE 側の仕様に合わせて調整いただければと思います。
まいまいオーディオ
Diretta ALSA Host Setting Editor for Kona Linux
仕様メモ
============================================================
ツール概要
============================================================
Diretta ALSA Host Setting Editor for Kona Linux は、
Kona Linux / KLUE 上の Diretta ALSA Host 設定ファイルを
GUIで編集するためのツールです。
主な目的は、Diretta ALSA Host の syncalsa_setting.inf を
手動で直接編集しなくても、GUI上で内容を確認・変更・反映できるようにすることです。
============================================================
2. 対象環境
主な確認環境:
・Kona Linux 8.0
・KLUE 7.0
対象:
・Diretta ALSA Host
対象設定ファイル:
・/etc/kona/diretta/syncalsa_setting.inf
操作対象サービス:
・diretta_sync_host2.service
操作対象外:
・diretta_bridge_driver.service
・slim2diretta.service
============================================================
3. 同梱ファイル
ソース版:
・DirettaAlsaEditor.py
・diretta_ico.png
・diretta_header_icon.png
・README.txt
実行ファイル版:
・DirettaAlsaHostSettingEditor
・README.txt
実行ファイル版は PyInstaller で作成した Linux 用の単体実行ファイルです。
============================================================
4. 主な機能
・/etc/kona/diretta/syncalsa_setting.inf の読み込み
・設定値のGUI表示
・設定値の編集
・コメント行、空行、未知の項目を保持
・変更内容の差分確認
・一時保存
・設定のみ反映
・設定反映後に Diretta ALSA Host を再起動
・Diretta ALSA Host の状態確認
・Diretta ALSA Host の再起動
・保存先フォルダを開く
・Dロゴアイコン表示
============================================================
5. 設定ファイルの扱い
対象ファイルは以下に固定しています。
/etc/kona/diretta/syncalsa_setting.inf
設定ファイル内のコメント、空行、アプリが認識していない未知の項目は、
可能な限り保持する方針です。
既存の設定ファイルを壊さず、必要な項目だけをGUI上で編集することを
目的としています。
============================================================
6. 権限まわり
/etc/kona/diretta/syncalsa_setting.inf への反映や、
diretta_sync_host2.service の再起動には管理者権限が必要です。
そのため、必要に応じて pkexec による認証を使用します。
通常の設定確認やGUI操作は一般ユーザー権限で行い、
設定反映やサービス操作が必要な場面だけ管理者権限を要求する方針です。
============================================================
7. サービス操作
本ツールが操作するサービスは以下のみです。
diretta_sync_host2.service
主な操作:
・状態確認
・再起動
・設定反映後の再起動
以下のサービスは操作しません。
・diretta_bridge_driver.service
・slim2diretta.service
Diretta Bridge Driver や Slim2Diretta 側に影響を与えないよう、
ALSA Host の設定編集に限定しています。
============================================================
8. 起動方法
ソース版の場合:
python3 DirettaAlsaEditor.py
実行ファイル版の場合:
./DirettaAlsaHostSettingEditor
実行権限がない場合:
chmod +x DirettaAlsaHostSettingEditor
============================================================
9. 配布・改変について
Kona Linux / KLUE の標準ツールとして採用いただいて問題ありません。
また、Kona Linux / KLUE 側の仕様に合わせて、
ファイルパス、サービス名、表示文言、ボタン構成などを
自由に変更・調整いただいて大丈夫です。
============================================================
確認ありがとうございます。
実行ファイルで確認しましたが私の環境では、[保存先を開く] を押すと以下のフォルダが開きました
/home/maimai/DirettaALSAHostSettingEditor/output
[保存先を開く] ではなく、[開く / 再読込]ボタンであれば、確認すると
設定ファイル欄にフォルダパスだけが入っている状態で読み込むと
/etc/kona/diretta/
ディレクトリをファイルとして開いてしまい、 [Errno 21] Is a directory になりました。
Windows版では、[開く / 再読込] 実行時に、指定されたパスがディレクトリだった場合は、
自動的に inf を補完する処理を入れたんですが、alsa版には忘れていたかもしれません。
Konaさん
メニュー追加ありがとうございます
大変、もうしわけないのですが・・・
その後、いじっていたら気になるところが多数でたのでかなり更新してしまいました
かなり良くなった気がします
1.1のソースです
■変更点メモ
Diretta ALSA Host Setting Editor for Kona Linux
v1.0 → v1.1 変更点・仕様変更メモ
============================================================
概要
v1.1 は、v1.0 初回版をベースに、Kona Linux / KLUE 環境でより安全に使えるよう、
パス処理、Hostサービス検出、状態表示、バックアップ仕様、操作通知まわりを整理した正式リリース版です。
v1.0 では diretta_sync_host2.service 固定の高音質化モード前提でしたが、
v1.1 では diretta_sync_host.service / diretta_sync_host2.service の自動検出に対応しています。
============================================================
v1.0 では、設定ファイル欄にファイル名まで含めたフルパスを指定する必要がありました。
v1.1 では、フォルダーパスのみが指定された場合でも、自動的に syncalsa_setting.inf を補完します。
例:
/etc/kona/diretta
と指定された場合、内部では以下として扱います。
/etc/kona/diretta/syncalsa_setting.inf
対応例:
/etc/kona/diretta/syncalsa_setting.inf
/etc/kona/diretta
/etc/kona/diretta/
上記のいずれでも、対象設定ファイルとして扱えるようにしました。
============================================================
2. Hostサービスの自動検出に対応
v1.0 では、操作対象サービスを以下に固定していました。
diretta_sync_host2.service
v1.1 では、Kona Linux / KLUE の仕様に合わせて以下の2種類を自動検出します。
diretta_sync_host.service
diretta_sync_host2.service
対応関係は以下です。
diretta_sync_host.service = Host: ノーマルモード
diretta_sync_host2.service = Host2: 高音質化モード
自動検出の基本方針:
これにより、高音質化モード環境だけでなく、通常Host環境でも操作対象サービスを自動で切り替えられるようになりました。
============================================================
3. 状態表示の整理
右上の表示形式を整理しました。
v1.0 系の途中では以下のような表示でした。
App 1.x | ALSA Host: running
v1.1 では、バージョン、Host種別、状態を分けて表示します。
表示例:
Ver: 1.1 | Host2: 高音質化モード | Status: running
通常Hostの場合:
Ver: 1.1 | Host: ノーマルモード | Status: running
また、色変更は Status 部分のみを対象にしました。
状態表示の色分け:
running = 緑
stopped = 黄色系
not found = 赤系
unknown = グレー系
Host種別やバージョン表記には色を付けず、実際の状態を示す Status 部分だけを視覚的に強調する仕様にしました。
============================================================
4. 左下ステータス表示の役割変更
v1.0 では、左下ステータスに「準備完了」や「状態確認:Diretta ALSA Host」など、
操作ログに近い表示が残る場合がありました。
v1.1 では、左下ステータスの役割を「現在の編集状態」に整理しました。
表示例:
設定ファイル読込済み
未反映の変更あり
一時保存済み
設定反映済み
状態確認などの一時的な操作結果は、左下に残さず、右上の一時通知へ集約しています。
============================================================
5. テキストボックス右上の一時通知を追加
操作結果が分かりにくかったため、テキストボックス右上に一時通知ラベルを追加しました。
主な表示例:
再読込完了 HH:MM:SS
一時保存完了
設定のみ反映完了
反映して再起動完了
Host再起動完了
バックアップ作成完了
バックアップを開きました
エラー時は従来通りダイアログ表示を行い、あわせて右上にも短いエラー通知を表示します。
これにより、操作が実行されたかどうかを画面上で確認しやすくしました。
============================================================
6. 「開く / 再読込」ボタンの動作改善
v1.0 では、設定ファイル欄が空の状態で「開く / 再読込」を押すとエラー表示になっていました。
v1.1 では、設定ファイル欄が空の場合、ファイル選択ダイアログを開くように変更しました。
動作:
設定ファイル欄が空
→ ファイル選択ダイアログを表示
設定ファイル欄にパスあり
→ そのパスを再読み込み
再読み込み成功
→ 右上に「再読込完了 HH:MM:SS」を一時表示
これにより、「開く / 再読込」ボタンの動作が直感的になりました。
============================================================
7. バックアップ仕様の変更
v1.0 では、設定反映時にバックアップを作成していましたが、
バックアップの種類は明確に分かれていませんでした。
v1.1 では、自動バックアップと手動バックアップを分離しました。
自動バックアップ
作成タイミング:
設定のみ反映
反映して再起動
保存先:
~/DirettaALSAHostSettingEditor/backup/auto/
仕様:
反映前の設定ファイルを自動保存
最新20件まで保持
古い自動バックアップは自動削除
対象はアプリが作成した自動バックアップファイルのみに限定しています。
手動バックアップ
作成タイミング:
「バックアップ作成」ボタンを押したとき
保存先:
~/DirettaALSAHostSettingEditor/backup/manual/
仕様:
現在の編集内容をバックアップとして保存
自動削除しない
ユーザーが意図して残したい設定状態を保存する用途です。
============================================================
8. ボタン構成の変更
補助ボタンまわりを整理しました。
v1.0:
一時保存
保存先を開く
v1.1:
一時保存
バックアップ作成
バックアップを開く
各ボタンの役割:
一時保存
現在の編集内容を output/syncalsa_setting.inf に保存します。
一時保存は毎回上書きされます。
実際の設定ファイルには反映しません。
バックアップ作成
現在の編集内容を backup/manual/ に日時付きで保存します。
バックアップを開く
backup/manual/ フォルダを開きます。
「保存先を開く」は意味が曖昧だったため、v1.1 では「バックアップを開く」に変更しました。
============================================================
9. output フォルダの扱い
一時保存先は従来通り以下です。
~/DirettaALSAHostSettingEditor/output/syncalsa_setting.inf
一時保存は作業中の一時退避用であり、履歴保存ではありません。
押すたびに同じファイルへ上書きします。
v1.1 では、ユーザーが明示的に残したい内容は「バックアップ作成」で保存する設計に整理しました。
============================================================
10. フォルダを開く処理の強化
v1.0 では、xdg-open の起動後失敗までは十分に検出していませんでした。
v1.1 では、フォルダを開く処理を強化しました。
改善点:
対象フォルダが存在しない場合は作成
作成に失敗した場合はエラー表示
xdg-open の失敗も検出してエラー表示
「バックアップを開く」では、backup/manual/ が存在しない場合も自動作成してから開きます。
============================================================
11. Tips表示の整理
各ボタンのTipsを、現在の仕様に合わせて整理しました。
主な変更:
「設定のみ反映」
反映前に自動バックアップを作成することを明記
「反映して再起動」
設定反映とHost再起動を行うことを明記
「一時保存」
一時保存は実際の設定ファイルを変更しないこと、
毎回上書きであることを明記
「バックアップ作成」
現在の編集内容をバックアップとして保存することを明記
「バックアップを開く」
バックアップの保存先フォルダを開くことを明記
============================================================
12. README / build script / バージョン表記
v1.1 正式リリースに合わせて、以下を更新しました。
APP_VERSION = "1.1"
また、ビルドスクリプトの出力名も v1.1 用に変更しました。
作成される実行ファイル版ZIP:
DirettaAlsaEditor_1.1_Linux.zip
README も v1.1 正式版として、v1.0.8 までの内容を反映する形で更新しています。
============================================================
13. v1.1 の位置づけ
v1.1 は、v1.0 初回版からの小修正をまとめた正式リリース版です。
主な目的:
Kona Linux / KLUE 両環境で使いやすくする
host / host2 の違いに対応する
設定反映時の安全性を高める
バックアップの扱いを明確化する
操作結果を分かりやすく表示する
公開配布向けに仕様を整理する
以上が、v1.0 から v1.1 への主な機能追加・仕様変更です。
--
このメールは Google グループのグループ「KonaLinux」のトピックを登録しているユーザーに送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/konalinux/5VqEarQk9u4/unsubscribe にアクセスしてください。
このグループを退会し、グループのすべてのトピックの登録を解除するには konalinux+...@googlegroups.com にメールを送信してください。
このディスカッションを表示するには、https://groups.google.com/d/msgid/konalinux/de6f31f5-a0b4-4ffe-930f-d9c0ea0dde2cn%40googlegroups.com にアクセスしてください。
Konaさん
ご確認ありがとうございます。
build_kona.sh の件、確認しました。
原因としては、.venv フォルダ自体は存在しているものの、
.venv/bin/activate が存在しない状態になっている場合に、仮想環境が作成済みと判定されてしまうためでした。
そのため、build_kona.sh を修正し、.venv/bin/activate が存在しない場合は、.venv を作り直すようにしました。
修正版のソース一式を再度お送りします。
なお、現行のファイルでも、以下を実行してから build_kona.sh を実行すると回避できると思います。
rm -rf .venv
chmod +x build_kona.sh
./build_kona.sh
お手数をおかけしますが、修正版で再度ご確認いただければ幸いです。
まいまいオーディオ
このディスカッションを表示するには、https://groups.google.com/d/msgid/konalinux/a6250402-7d25-4ad7-925d-0711a92e5cc6n%40googlegroups.com にアクセスしてください。
Konaさん
お世話になります。
Diretta ALSA Host Setting Editor の起動について、こちらの Kona Linux 8.0 環境で確認した内容をまとめます。
まず、python3-tk はインストール済みでした。
dpkg -l | grep python3-tk
結果:
ii python3-tk:amd64 3.13.5-1 amd64 Tkinter - Writing Tk applications with Python 3.x
glibc のバージョンは以下でした。
ldd --version
結果:
ldd (Debian GLIBC 2.41-12+deb13u3) 2.41
現在、以下の場所にファイルが配置されています。
/etc/kona/diretta/DirettaAlsaEditor/
中身は以下でした。
DirettaAlsaEditor.desktop
DirettaAlsaEditor.py
DirettaAlsaHostSettingEditor
readme.txt
また、
which DirettaAlsaHostSettingEditor
の結果は以下でした。
/usr/local/bin/DirettaAlsaHostSettingEditor
この /usr/local/bin/DirettaAlsaHostSettingEditor は、以下へのシンボリックリンクでした。
/etc/kona/diretta/DirettaAlsaEditor/DirettaAlsaHostSettingEditor
リンク先の実体を確認すると、
file /etc/kona/diretta/DirettaAlsaEditor/DirettaAlsaHostSettingEditor
結果:
ELF 64-bit LSB executable, x86-64, dynamically linked ...
となっており、PyInstaller で作成された単体実行ファイル版が起動されている状態のようです。
この状態で、
/usr/local/bin/DirettaAlsaHostSettingEditor
を実行すると、以下のエラーで終了しました。
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.42' not found
(required by /tmp/_MEIxxxxxx/libtcl8.6.so)
[PYI-xxxx:ERROR] Failed to execute script 'DirettaAlsaEditor' due to unhandled exception!
一方で、Pythonソース版を直接起動すると、正常に起動できました。
python3 /etc/kona/diretta/DirettaAlsaEditor/DirettaAlsaEditor.py
こちらは問題なく起動しました。
そのため、こちらの環境では以下のように切り分けできました。
・python3-tk はインストール済み
・DirettaAlsaEditor.py の Python版は正常起動
・DirettaAlsaHostSettingEditor の単体実行ファイル版は GLIBC_2.42 not found で起動不可
・エラーには /tmp/_MEI... と [PYI-xxxx:ERROR] が出ているため、PyInstaller実行ファイル側の問題と思われる
今回の症状は、python3-tk 未導入ではなく、PyInstaller実行ファイルに含まれている libtcl8.6.so が GLIBC_2.42 を要求しており、こちらの Kona Linux 8.0 環境の GLIBC 2.41 では満たせないことが原因のように見えます。
現状、Python版は起動できているため、Kona Linux 8.0 では実行ファイル版ではなく、Python版を呼び出すラッパースクリプト方式のほうが安全かもしれません。
例えば、/usr/local/bin/DirettaAlsaHostSettingEditor またはリンク先の実体を、以下のような内容にする形です。
#!/bin/sh
cd /etc/kona/diretta/DirettaAlsaEditor
exec python3 DirettaAlsaEditor.py "$@"
この方式であれば、python3-tk が入っている環境では PyInstaller 側の glibc 依存問題を避けられると思います。
KLUE7 では実行ファイル版で問題ないとのことでしたので、環境によっては実行ファイル版で動作し、こちらの Kona 8.0 では glibc 差で起動できない状態なのかもしれません。
以上、こちらの環境での確認結果です。
まいまいオーディオ