やるきなし

2022/12/30 13:29 / Inkscape と Wanland と Zoom

/etc/gdm3/daemon.confWaylandEnable=false として Wanland を Off にした X11 環境を使っているのであるが,いつのまにか Inkscape がまともに動かなくなった.具体的には Text tool モードにすると Inkscape 内の描画が固まる.Control + マウスホイールのズームが機能していることはルーラ(の拡大縮小)でわかるけど,その内側の描画は反応してくれない.

という環境で,たぶんX.Org Server が 1.20 から 21.1 になったことが原因だろうと思うのだけど,よくわからず.

/etc/gdm3/daemon.confWaylandEnable=false をコメントアウトして(Default は WaylandEnable=true),Wayland を利用するようにすると Inkscape は正常に動作してくれる.ただし,Wayland 利用の副作用,気がついた範囲では以下.

Zoomの画面共有(share)ができない,は以下の様に怒られる.

images/s1000.png
Can not start share, we only support Wayland on GNOME with
Ubuntu 17 and above, Fedora 25 and above, Debian 9 and
above, CentOS 8 and above, OpenSUSE Leap 15 and above,
Oracle Linux 8 and above, RHEL 8 and above, Mageia 7 and
above, Rocky 8 and above, Arch Linux, AnterGos, Manjaro. If
your OS is not on the list, please use x11 instead.

環境は Debian GNU/Linux の unstable なのだけど,何が悪いのだろうか...Wayland 関連の(よく分かってないけど) Version は以下.

追記(2022/12/31)

OSのバージョン云々でZoomに怒られるのは /etc/os-release を偽装すれば良いらしい.bullseye (Debian 11)の /etc/os-release (/usr/lib/os-release への symlink)を copy して使えば OK だが,最小限の修正は以下.

% lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:        n/a
Codename:       bookworm
% vi /etc/os-release
VERSION_ID="13" を末尾に追加
% lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:        13
Codename:       bookworm

これで,以下の Dialog を出すところまでは進める.

images/1001.png

ただし Use system capture を選んで Share しても何も起こらなくて(Dialog が閉じられるだけ),この場合は (参考: Wayland screen sharing broken with GNOME 41 on Fedora 35Screen sharing with Wayland) xdg-desktop-portal-gnome を install する必要があるらしい(systemd 周りのことがあるので,再起動するか systemctl をごにょごにょする必要がある).

あと,xset によるキーリピート変更が効かないのは gnome-terminal のみのようで,他の GUI では効いている.How to set keyboard repeat delay and speed in Ubuntu Gnome 16.10?によると,Gnome のキーリピートは gsettings で行えば良いらしく,現状を確認すると以下.

% gsettings describe org.gnome.desktop.peripherals.keyboard repeat
Set this to TRUE to enable keyboard repeat.
% gsettings describe org.gnome.desktop.peripherals.keyboard repeat-interval
Delay between repeats in milliseconds.
% gsettings describe org.gnome.desktop.peripherals.keyboard delay
Initial key repeat delay in milliseconds.
% gsettings get org.gnome.desktop.peripherals.keyboard repeat
true
% gsettings get org.gnome.desktop.peripherals.keyboard repeat-interval
uint32 30
% gsettings get org.gnome.desktop.peripherals.keyboard delay
uint32 500

すっかり数値の意味を忘れているが xset r rate 300 55 の 300 と 55 はそれぞれ delay と rate で,意味は man xset にある以下の通り.

the delay is the number of milliseconds before autorepeat starts, and the rate is the number of repeats per second

ということで,以下設定することにした.だいたい以前と同じような key の感覚になった.

% gsettings set org.gnome.desktop.peripherals.keyboard delay 300
% gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 18

追記(2023/1/2)

https://lists.debian.org/debian-devel-announce/2022/10/msg00004.htmlによると

Debian 14
=========

The release team has decided that the release after bookworm and
trixie will be called forky.

だとかで,既に Debian 14 までの code name が決まっているようなので,VERSION_ID="14" としておいても良いかもしれない.

追記(2023/1/3)

XWayland の試用を続けているが,Remmina で Windows キーが接続先に届いてくれず,手元の Gnome が反応してしまう.Grab all keyboard events のボタンを On にしても.

以下を設定すれば効くとか,そのように書いている記事もあるが,効いてくれず.

https://gitlab.gnome.org/GNOME/mutter/-/blob/main/data/org.gnome.mutter.wayland.gschema.xml.in/usr/share/glib-2.0/schemas/org.gnome.mutter.wayland.gschema.xml にある説明は以下の通り.

    <key name="xwayland-allow-grabs" type="b">
      <default>false</default>
      <summary>Allow X11 grabs to lock keyboard focus with Xwayland</summary>
      <description>
        Allow all keyboard events to be routed to X11 “override redirect”
        windows with a grab when running in Xwayland.

        This option is to support X11 clients which map an “override redirect”
        window (which do not receive keyboard focus) and issue a keyboard
        grab to force all keyboard events to that window.

        This option is seldom used and has no effect on regular X11 windows
        which can receive keyboard focus under normal circumstances.

        For a X11 grab to be taken into account under Wayland, the client must
        also either send a specific X11 ClientMessage to the root window or be
        among the applications allowed in key “xwayland-grab-access-rules”.
      </description>
    </key>

    <key name="xwayland-grab-access-rules" type="as">
      <default>[]</default>
      <summary>Xwayland applications allowed to issue keyboard grabs</summary>
      <description>
        List the resource names or resource class of X11 windows either
        allowed or not allowed to issue X11 keyboard grabs under Xwayland.

        The resource name or resource class of a given X11 window can be
        obtained using the command “xprop WM_CLASS”.

        Wildcards “*” and jokers “?” in the values are supported.

        Values starting with “!” are denied, which has precedence over
        the list of values allowed, to revoke applications from the default
        system list.

        The default system list includes the following applications:

        “gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr”

        Users can break an existing grab by using the specific keyboard
        shortcut defined by the keybinding key “restore-shortcuts”.
      </description>
    </key>

そもそも,xwayland-grab-access-rules には WM_CLASS をリスト形式で書くはずで,Remmina 自体が Wayland client として動作しているので xprop で調べることもできず,xprop の変わりの looking glassを使ってもよくわからず(実際にはLooking Glass Buttonを利用)...

xfreerdp だと all keyboard events を grab してくれるようなので,こちらでしばらく代用.xfreerdp は X client.

% xfreerdp /v:rdpserver.example.org /dynamic-resolution /u:username

なお,Remmina は TopIcons Plus で Tray Icon を出していたのだが,これもなぜか出なくなった(Skype やら Barrier の Icon は正しく表示されている).

追記(2023/1/4)

XWaylandの試用を続けているが,一部のWindowで上部のタイトルバーダブルクリックによるWindow最大化が効かない.

追記(2023/1/12)

Wayland 環境でなければ Inkscape がまともに動かない(Text まわりで固まる)ということで Wayland を試用していたが,別計算機であれば X (の他はほぼ同じ環境; Debian GNU/Linux)でも問題なかった.GPU が異なるのでそのドライバの問題かもしれない.Intel の Comet Lake UHD Graphics 環境(i7-10710U)では X + Inkscape で不具合起こす.

Related articles