Debian 10 + Xfce + Let’s note RZ4 で画面自動回転

GNOME 3 であれば iio-sensor-proxy 経由で加速度センサによる画面自動回転にデフォルトで対応していますが,GNOME 3 はラップトップのデスクトップ環境としての実用性が限られているという問題があります。しかし,Linux の常としてセンサの入力もデバイスファイルとして扱われているので,他のデスクトップ環境でも,簡単なスクリプトで状態を読んでやれば画面の自動回転ができるようになります。

とはいえスクラッチで書くのも大変なのでとりあえず ArchWiki で紹介されている "rotate.py" を試してみたところ,そのまま画面回転ができました。

ただし,このスクリプトでは RZ4 のタッチパネルは想定されず,このままではタッチ操作のジオメトリが変わらずに表示とずれてしまいますので,ちょっとだけ修正する必要があります。幸いにも処理の実際の内容である xinput での設定自体は全く同じでよいので,タッチパネルとして扱わせるためにスクリプトが用意しているリストに書き加えるだけです。

RZ4 は eGalax 製のデジタイザを使用しており,xinput –list –name-only での表示名に("touchscreen" "wacom" は含まれず)"eGalax" の文字列が含まれるため,

touchscreen_names = ['touchscreen', 'wacom']

とある行を

touchscreen_names = ['touchscreen', 'wacom', 'egalax']

と書き換えてください(入力を一度小文字にした上で比較しているので,すべて小文字の egalax と指定してください)。

あとはこの rotate.py を自動起動して常駐させるなり,必要なときに起動するなりすれば, Xfce やその他のデスクトップ環境でもばっちり画面回転できるようになります。Onboard と組み合わせればタブレットとしてそれなりに実用的に使えるようになります。

余談:
この機種は Buster ではバックライトをホットキーから調整できない問題がありますが,例によって xorg の設定ファイルを追加するだけで対応可能です。
# nano /usr/share/X11/xorg.conf.d/20-intel.conf
Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection
さらに余談(19/09/16):
どうやら UEFI で設定された画面輝度が OS 起動後に操作できる上限となるようで,UEFI での輝度が一定以下だと OS 起動後の輝度調整ができなくなります。わかってしまえばどうということもないことですが,上記のハードウェア認識の問題と混同してしまうと苦労することになるので気をつけましょう。 UEFI による管理なのは少しの間のことですので,通常は最大輝度にしておくのがよいでしょう。

……ということをなぜ書くかというと,以前ハマったこの問題にまたハマってしまい,検索したらこの記事が出てきて,ふと思い出して無事解決できたからです。次も思い出せるかはわからないので記録しておきます(何度も忘れるな)。

畳み掛ける余談(19/09/16):
おそらく10.0から10.1にアップデートしてから天板 lid を閉じてもサスペンドに入らない現象が発生しましたが,もしやと思って

/etc/systemd/logind.conf

#HandleLidSwitchDocked=ignore

HandleLidSwitchDocked=suspend

に書き換えてサービスを再起動したところ,無事にサスペンドするようになりました。もちろん実際にはドッキングステーションに接続されておらず,そもそも RZ4 にはそんなもの存在しないのですが,何らかの事情でドッキングステーションに接続されていると認識するようになってしまい,Xfce による管理の対象を外れていたようです。

コメントを残す

投稿にあたり,完全な IP アドレスが保存されます(公開されません)。

コメントはスパムフィルタで処理され,承認後に公開されます。