Posted: 2026-05-22
| Tags:
kde ,
pipewire ,
pulseaudio ,
sound ,
wireplumber
目的 最近の Linux desktop では、アプリからは PulseAudio に見えていても、実体は PipeWire と WirePlumber で動いていることが多い。
音が出ないときは、KDE などの GUI だけで判断せず、PipeWire/Pulse 互換層、WirePlumber、ALSA card profile、application stream の接続先を分けて見る。
最初に見るもの pactl info
pactl list short sinks
pactl list short sources
pactl list cards
wpctl status
systemctl --user status pipewire pipewire-pulse wireplumber --no-pager -l
まず次を確認する。
pipewire.service、pipewire-pulse.service、wireplumber.service が user unit として active かdefault sink が意図した出力か application stream が意図した sink へ接続されているか HDMI と analog のどちらが既定になっているか analog 出力 port が available か not available か HDMIとanalog出力の切り替え HDMI monitor 側が既定 sink になっていると、背面 line-out や headphone から音が出ない。
ALSA card profile と sink port を明示してから、PipeWire/Pulse 側の default sink を変える。
Read more... Posted: 2026-05-22
| Tags:
interface ,
kde ,
keyboard ,
labwc ,
wayland
Wayland desktopでキーバインドをOS横断に寄せる設計メモ 目的 macOS、Windows、Linux で、アプリ起動、ウィンドウ移動、タイル配置、仮想デスクトップ移動の操作感を近づけたい。
ただし Linux Wayland では、X11 時代のように外部プロセスから任意ウィンドウを横断操作する前提にしていない。
Wayland では compositor が入力とウィンドウ管理の権限境界になる。
このため、キーボードの低レイヤ変換とウィンドウ操作を分ける。
一旦考えた基本方針 CapsLock/Ctrl や layer 的なキー変換は keyd に寄せる アプリ起動、ウィンドウ移動、最大化、タイル配置は compositor / window manager 側に寄せる KDE Plasma Wayland では KWin global shortcut と .desktop entry を使う labwc では ~/.config/labwc/rc.xml の native action を使う package install、service enable、設定配置は Ansible などの構成管理に寄せる keyd は「キーを別のキーとして見せる」層に留める。
アプリ起動やウィンドウ制御まで keyd でやろうとすると、Wayland の compositor 境界を迂回する設計になりやすい。
責務分離 領域 Linuxでの担当 理由 CapsLockをCtrlにする keydsession / compositor 非依存にしたい Hyper風の修飾キー keyd または keyboard firmware入力層で完結させたい アプリ起動 .desktop entry / compositor shortcutdesktop environment の仕組みに乗せる ウィンドウのhalf snap KWin / labwc native action Wayland では compositor が正規の管理者 物理ディスプレイ間移動 KWin / labwc native action monitor layout を compositor が持つ 同一アプリ内のwindow cycle compositor native action 外部プロセスで window list を触らない
KDE Plasma Wayland KDE Plasma Wayland では、KWin の global shortcut と .desktop entry を中心にする。
Read more... Posted: 2026-04-04
| Categories:
input-method
| Tags:
fcitx ,
ibus ,
kde ,
mozc ,
ubuntu-studio
現行方針 Ubuntu Studio(KDE)環境の日本語入力は、現状 fcitx ではなく ibus + ibus-mozc へ寄せる。
fish から起動するプロセスでは、~/ghq/github.com/tin-machine/fishConfig/config.fish 側で次の方針にする。
set -x XMODIFIERS "@im=ibus"
set -e QT_IM_MODULE
set -e GTK_IM_MODULE
set -e DefaultIMModule
2026-05-15 の確認では、プロセスは ibus-ui-gtk3、ibus-daemon --xim --panel disable、ibus-x11、ibus-portal、ibus-engine-mozc、mozc_server が動いており、fcitx は常駐していない。
im-config のログ上も次の形になっている。
GTK_IM_MODULE='' QT_IM_MODULE='' CLUTTER_IM_MODULE='' SDL_IM_MODULE='' XMODIFIERS='@im=ibus'
このため、旧 fcitx 前提の起動直後不調は現行設定の通常確認対象から外す。ただし ibus-ui-gtk3 の warning / coredump はログに残ることがあるため、実際に日本語入力が効かない場合だけ再調査する。
旧事象の要約 Ubuntu Studio(KDE)環境で、ログイン直後は日本語入力ができない。 pkill fcitx && sleep 1 && fcitx & の再起動を2回行うと使えるようになる。一度使えるようになると、その後は安定して動作する。 この事象は fcitx 前提の古い状態として扱う。 旧 fcitx 状態で確認していた設定/ログ 設定 ~/.config/fcitx/config入力切替キー: CTRL_SPACE と ZENKAKUHANKAKU ~/.config/fcitx/profile現在のIM: mozc 有効なIM: fcitx-keyboard-us と mozc ログ ~/.config/fcitx/log/crash.logfcitx: BadWindow (invalid Window parameter) が記録されている。~/.xsession-errorsfcitx が autostart され、各アドオン設定がロードされているログを確認。QXcbConnection: XCB error: 3 (BadWindow) が大量に記録されているが、fcitx由来かは断定できない。~/.local/share/sddm/xorg-session.logjournalctl はこの環境でログが見つからない (No journal files were found.)。ibusへ寄せる場合のfish設定 ibus を使う場合は、QT_IM_MODULE と GTK_IM_MODULE を明示的に設定しない。
ibus 側のエラーで「QT_IM_MODULE と GTK_IM_MODULE の環境変数を未定義にしてください。そして ‘ibus-daemon –panel disable’ は ibus-ui-gtk3 コンポーネントの子プロセスとして起動されるべきです。」と出る場合、シェル設定やデスクトップセッションの環境に古いIM設定が残っていないか確認する。
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...