はじめに
今回紹介する内容はかなり特殊な環境で,特殊な用途をターゲットとしている内容です。
ubuntuでGnomeかつWaylandを利用している時にchromiumをWaylandネイティブで動作させたい場合, あわしろいくやさんが紹介している方法 で日本語入力(ただしibus-mozc)も含めて動作させることが可能でした。
で,最近のVSCodeのバージョンアップにより,TextInputのバージョン3に対応したchromiumがベースに利用されるようになりました。
なので,次のようなごく限られた条件の時にVSCodeやEdgeをWaylandネイティブで動作させてみます。
設定方法
1. desktopファイルのコピー
VSCodeの場合は
cp /usr/share/applications/code.desktop ~/.local/share/applications/
MSEdgeの場合は
cp /usr/share/applications/microsoft-edge.desktop ~/.local/share/applications/
として,自分の環境用のデスクトップファイルを作成します。
2. desktopファイルの編集
次に,~/.local/share/applications/code.desktopや~/.local/share/applications/microsoft-edge.desktopのファイルの中身を編集します。
内容は割と簡単で,Execの行の起動コマンドに--ozone-platform-hint=auto --enable-features=WaylandTextInputV3のオプションを追加します。
/usr/share/code/codeと %Fの間に半角スペースをはさんで記入して下さい。
次のような感じ。
[Desktop Entry] Name=Visual Studio Code Comment=Code Editing. Redefined. GenericName=Text Editor Exec=/usr/share/code/code --ozone-platform-hint=auto --enable-features=WaylandTextInputV3 %F Icon=vscode Type=Application StartupNotify=false StartupWMClass=Code Categories=TextEditor;Development;IDE; MimeType=application/x-code-workspace; Actions=new-empty-window; Keywords=vscode; [Desktop Action new-empty-window] Name=New Empty Window Name[de]=Neues leeres Fenster Name[es]=Nueva ventana vacía Name[fr]=Nouvelle fenêtre vide Name[it]=Nuova finestra vuota Name[ja]=新しい空のウィンドウ Name[ko]=새 빈 창 Name[ru]=Новое пустое окно Name[zh_CN]=新建空窗口 Name[zh_TW]=開新空視 Exec=/usr/share/code/code --new-window --ozone-platform-hint=auto --enable-features=WaylandTextInputV3 %F Icon=vscode
これで終了です。
chromiumの場合は設定がGUIで表示できて保存できるので,そちらの方がいいですが,
GUIから変更できるのが(多分)個人的に見つけられていないので,desktopのコマンドラインオプションの変更で対応してみました。
まぁ見かけ自体あまり変わりませんが,気持ちの分だけ動作が速くなっているような気がします。(個人の感想です)
追記
会社で利用しているubuntu 22.04では上のオプションに加えて,--ozone-platform=waylandが必要なようでした。
また,flatpack利用でもdesktopファイルを~/.local/share/applications/にコピーしてくれば動くようです。edgeの場合,desktopファイルは/var/lib/flatpack/app/com.microsoft.Edge/current/active/files/share/applications/の下にあるようです。