はじめに
開発環境をCentOS6.5からCentOS7.3へ移行したのを機に、Xephyrのマウスポインタが表示されなくなってしまったため、その対応内容をまとめました。
実行環境
-
不具合が発生した環境
- OS:CentOS7.3
- Xephyr:1.17.2-22 -
不具合が発生していない環境
- OS:CentOS6.5
- Xephyr:1.13.0-23.1
不具合内容
次のように、例えばディスプレイ番号(:2)でXephyrを立ち上げると、CentOS6.5ではマウスポインタが表示されるのにCentOS7.3では表示されない。
$ Xephyr -ac -host-cursor :2
オプションについて補足です。
- "-ac":アクセス制御しない
- "-host-cursor":ホストサーバのカーソルを再利用する
CentOS7.3で表示されなかった原因
"-host-cursor"オプションが削除されたため
- CentOS 6.5のXephyrのmanページ(一部)
Xephyr Option Usage:
-parent <XID> Use existing window as Xephyr root win
-host-cursor Re-use exisiting X host server cursor
-fullscreen Attempt to run Xephyr fullscreen
(以下略)
- CentOS 7.3のXephyrのmanページ(一部)
Xephyr Option Usage:
-parent <XID> Use existing window as Xephyr root win
-sw-cursor Render cursors in software in Xephyr
-fullscreen Attempt to run Xephyr fullscreen
(以下略)
オプションの2つ目が"-host-cursor"の代わりに"-sw-cursor"となっています。
しかし、単純に"-sw-cursor"を指定してもマウスポインタは表示されませんでした、、、
対応内容
次のように"-host-cursor"の代わりに"-softCursor"を指定するとマウスポインタが表示されました。
$ Xephyr -ac -softCursor :2
manページのTinyX Device Dependent Usageに"-softCursor"というオプションがありました。
TinyX Device Dependent Usage:
-screen WIDTH[/WIDTHMM]xHEIGHT[/HEIGHTMM][+[-]XOFFSET][+[-]YOFFSET][@ROTATION][X][Y][xDEPTH/BPP[xFREQ]] Specify screen characteristics
-rgba rgb/bgr/vrgb/vbgr/none Specify subpixel ordering for LCD panels
-mouse driver [,n,,options] Specify the pointer driver and its options (n is the number of buttons)
-keybd driver [,,options] Specify the keyboard driver and its options
-zaphod Disable cursor screen switching
-2button Emulate 3 button mouse
-3button Disable 3 button mouse emulation
-rawcoord Don't transform pointer coordinates on rotation
-dumb Disable hardware acceleration
-softCursor Force software cursor
-videoTest Start the server, pause momentarily and exit
(以下略)
おわりに
OSをアップデートした際に困って、調べた内容をまとめてみました。
もしよければ参考にしてください。