![見出し画像](https://assets.st-note.com/production/uploads/images/165274019/rectangle_large_type_2_509aeda1f9270d76dec57bce8bda95f5.png?width=1200)
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が使用されています。
参考文献