wayland+gnomeの解決した/できていない課題

 随時追加予定。

キーボードショートカットからのスクリプト呼び出しで$PATHを読みにいかない

 キーボードショートカットに登録したシェルスクリプトファイルがうまく動かない。プログラムがちゃんと実行できていないようだ。ターミナルからならいけるのに。
 terminal画面が必要なのかなと思って、.desktopファイルをterminal=trueにして作成・実行してみたけど同様。
 そこでalaritty --hold -e でスクリプトファイルを実行させてみたらcommand not foundになってた。ということは$PATHが生きていない?あるいはshebangを無視して他のシェルで実行している?
 そこでこんなプログラムを作ってみた。

#!/usr/bin/zsh
echo $PATH
echo $SHELL

 これをキーボードショートカットに登録して実行してみた。
 やはりパスが通っていない。シェルはちゃんとzshだった。

 追加されていないパスは.zshrcに記述している。ちょこっと調べて.zshenvに書いてログアウト&ログインして実行。

 これで解決、かな。
 実行できなかった~/.local/bin/gnome-randrを書き加えてみた。

#!/usr/bin/zsh
echo $PATH
echo $SHELL
gnome-randr|grep HDMI

 いけた。

 本来$PATHは.zshenvで設定すべきものらしい。

.zshrc もzshを起動したときに読み込まれるが、シェルスクリプトを実行したときは読み込まれない。

 .zshrcで追加したパスがX11+xfce環境のシェルスクリプトで効いていたのは例外だったのか。

 この結果、ターミナルでは.zshenvのパス追加が二度行われるようになった。

 これは.zshenvにtypeset -gU PATHと書いて解決。

タスクバーメニューに「移動」がない

 タスクバーを右クリックして出てくるメニューに「移動」がない。デスクトップ外に移動したウィンドウ(セカンドディスプレイをアクティブにしたり、切ったりしていると発生しがち)をメインのデスクトップに持ってくる簡単な方法がなくなる。

 検索したら、キーボード併用でできるとわかった。

Alt+F7 でウィンドウ移動モードへ移行する。

 問題はキーバインドを覚えていられるかだが、このエントリーを見返せばええかな。

braveからの音がモニターのスピーカーから出なかった

 braveブラウザからの音がHDMI接続のメインモニターから出ない。gnome設定から設定を変えてもあかんし、pavuctrlから変えても同様。
 「これもしかしてテレビの方から音が出ているのかも」とテレビの入力をPCに変えたら音が出ていた。なんかのはずみでテレビの方が音声出力を掴んで放さなかったようだ。いったんテレビへの出力をオフにしたら以降切り替えもできるようになった。
 gnomeではPulseAudioではなくPipeWireってやつを使っているようだが、pactlやpavuctrlなどのツールには互換性がある模様。ただpacmdは使えない。

gnome-shellの再起動ができない

Alt+F2でプロンプトが起動するので、そこでrまたはrestartと入力します。

 ところが、「コマンドがありません」と怒られてしまった。

 コマンドなんだからターミナルでも実行できるはずなので試してみたが、やはりnot found。もしかしてbashだったらと思って試してみたら「それってX11のツールちゃいますか」と言われた。なるほど。

 じゃあwaylandでは方法がないのかと調べたが無理なようだ。

This is not technically possible, unfortunately, without a massive rewrite of gnome-shell.