見出し画像

ubuntu22.04でマウス座標値が正常に取得できない場合の対処方法💻

Pythonライブラリのpyautoguiやpynput、xdotoolコマンド等でマウスの位置取得を試みたところ、マウスの座標値が正常に取得できない問題が発生しました。(何故かブラウザ上のみ取得できる)

原因を調べたところ、ubuntu22.04で使用されるディスプレイサーバーのWaylandのセキュリティの影響ということが判明。

ディスプレイサーバーをWaylandからX11に切り替えるのが一番簡単な対策方法なようで、そちらを試したところ解決しました。

以下に、その手順を記載します。


1. 自動ログインの無効化

自動ログインが有効になっていると、ディスプレイサーバーの選択オプションが表示されない場合があります。そのため、以下の手順で自動ログインを無効にします。

  • 「設定」アプリケーションを開きます。

  • 左側のメニューから「ユーザー」を選択します。

  • 右上の「ロック解除」ボタンをクリックし、パスワードを入力して認証します。

  • 「自動ログイン」のトグルスイッチをオフにします。

2. システムの再起動

設定変更を反映させるため、システムを再起動します。

3. ログイン画面でのディスプレイサーバー選択

再起動後、ログイン画面で以下の操作を行います。

  • ユーザー名を選択します。

  • パスワード入力フィールドの下にある歯車アイコンをクリックします。

  • 表示されるオプションから「Ubuntu on Xorg」を選択します。

  • パスワードを入力してログインします。

これで、Xorgセッションでのログインが完了します。

4. ディスプレイサーバーの確認

現在使用しているディスプレイサーバーを確認するには、ターミナルを開き、以下のコマンドを実行します。

echo $XDG_SESSION_TYPE

`x11`と表示されれば、Xorgが使用されています。

参考文献

いいなと思ったら応援しよう!