Posted: 2026-05-20
| Categories:
k3s
| Tags:
gui ,
k3s ,
kubernetes ,
openbox ,
xpra
k3s上でxpra + OpenboxのGUI Podを動かす設計 k3s 上で一時的な GUI desktop を動かしたい場合、xpra start-desktop と Openbox の組み合わせは小さく始めやすい。
目的は「Kubernetes 上に恒久的な VDI を作る」ではなく、検証用の軽量 desktop を 1 Pod で起動し、browser から操作できるようにすることである。
最小構成 flowchart LR
Browser["Browser"]
Ingress["Ingress or port-forward"]
Service["Service :10000"]
Pod["Pod"]
Xpra["xpra server + HTML5 client"]
Openbox["Openbox session"]
Tmp["emptyDir runtime dirs"]
Browser --> Ingress --> Service --> Pod
Pod --> Xpra --> Openbox
Pod --> Tmp
最初の PoC は次の範囲に絞る。
1 namespace 1 Deployment 1 ClusterIP Service HTML5 client Openbox session /tmp、/var/tmp、/run/user/<uid> は emptyDiraudio / GPU / IME は後回し この範囲なら、resource と security の切り分けがしやすい。
Read more... Posted: 2021-07-25
| Categories:
gui
| Tags:
gui ,
kde ,
mac
背景 macOSとLinuxのキーバインドを近づけていきたい。
macOSはHammerspoonで
LinuxはKDEで設定していく.
Firefox、アクティブになっていなかったらをフロントに出したい Linux wmctrlをインストールした上で下記スクリプトを用意
#!/bin/bash
proc="Firefox" # プロセス名
cmd="firefox" # 起動するコマンド名
# 現在のアクティブなワークスペースを取得
current_workspace=$(wmctrl -d | grep '*' | awk '{print $1}')
# 現在のワークスペースにあるウィンドウIDを取得
window_ids=$(wmctrl -l | grep ${proc} | awk '{print $1}')
found_in_workspace=false
# 現在のワークスペースにあるFirefoxのウィンドウをアクティブにする
for id in $window_ids; do
window_workspace=$(wmctrl -lG | grep $id | awk '{print $2}')
if [ "$window_workspace" == "$current_workspace" ]; then
# ウィンドウをアクティブにする
wmctrl -i -a $id
# ウィンドウを最大化
wmctrl -ir $id -b add,maximized_vert,maximized_horz
found_in_workspace=true
break
fi
done
# 現在のワークスペースにウィンドウがない場合、新しいウィンドウを開く
if ! $found_in_workspace; then
$cmd &
echo "新しい${proc}ウィンドウを開きました。"
fi
KDEのシステム設定 -> ショートカット -> カスタムショートカット に追加。
私は「自分で設定」というショートカットのフォルダを作った上で、その中にショートカットを追加している。
フォルダの上で「New」「グローバルショートカット」「コマンド/URL」で指定する。
Read more...