2018年8月6日月曜日

最近の Fedora でマウスが速い

Fedora 27 にアップデートした頃からだったか、マウスの動きがぴゅんぴゅん速くなってしまい年寄りには結構厳しい状態に...仕方ない、xset m でチョチョイと、、、あれ?遅くならない????

と、その後忙しさにかまけて調べず我慢してそのまま使っていたが、最近会社 PC を X1 Carbon 6th にして Fedora 28 を入れていて良い機会なのでこれを直すことに。

最近の Fedora は Wayland がデフォルトのようだが、私は未だに自分の .xinitrc を設定して startx から起動するって流れで Xorg から抜けきれない老人である。しかし Xorg でも libinput というナウな入力デバイスのドライバが主流のようで、Fedora 28 でも /usr/share/X11/xorg.conf.d/40-libinput.conf にデフォルト設定として定義されている。

この libinput だが、アクセラレーションのモードとして adaptive と flat があり、adaptive の場合 xset m が効かないらしい。このモードは libinput コマンドの list-devices オプションで確認できる。adaptive がデフォルトとのこと。

$ sudo libinput list-devices
   :
Device:           TPPS/2 Elan TrackPoint
Kernel:           /dev/input/event15
Group:            10
   :
Accel profiles:   flat *adaptive
Rotation:         n/a

xset が効かないとなるとどうやって,,, ということでググって xinput でやるべしということがわかった。まず、マウスのデバイス名の確認。

$ xinput --list --short
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Synaptics TM3288-011                        id=12    [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                      id=13    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]

X1 Carbon の赤ポチは「TPPS/2 Elan TrackPoint」という名前のようで、この設定情報を見てみる。

 $ xinput --list-props "TPPS/2 Elan TrackPoint"
Device 'TPPS/2 Elan TrackPoint':
    Device Enabled (146):    1
    :
libinput Accel Speed (301):    0.000000
    :
この「libinput Accel Speed」を -0.5 くらいに修正してみる。
$ xinput --set-prop "TPPS/2 Elan TrackPoint" "libinput Accel Speed" -0.5


おぉ、遅くなったぞ。良かった。これを .xinitrc に書いておこう。
















2018年8月2日木曜日

gnome-control-center を docker コンテナから(もしくは別のWMから)

docker コンテナから手元のホストの Xorg に gnome-control-center を表示したかったんだけど、単純に gnome-control-center を起動すると画面が空っぽで Devices ってのだけが表示されてる。

以下の環境変数で解決したのでメモ。

XDG_CURRENT_DESKTOP=GNOME gnome-control-center


2018年7月30日月曜日

docker container から X の画面を出すときの SELinux

ドメインソケット経由で docker コンテナからホストの X Server に画面を出すのは Web に結構情報があるのでそれは良いとして、SELinux Enforcing な環境だと Socket へのアクセスが Permission Denied になってちょっとだけハマったので自分のためのメモ。

docker run のときに以下オプションをつけるとうまく行った。
  --security-opt label=type:container_runtime_t

2018年7月23日月曜日

Fedora 28 on Thinkpad X1 Carbon 6th な環境で docker がうまく動かなかった→動いたの個人的メモ

X1 Carbon gen 6th に Fedora 28 をインストールしてるんだけど、どうも docker まわりが不安定になった。が、回復したので適当にメモ。

512GB(SSD) に自動で LVM を切って、普通に dnf install docker したら勝手に
docker-pool なる LV を 178GB もとられてしまった。どうも最近の Fedora の docker は root パーティションがある VG に空きがあると、自動で Storage Driver を devicemapper にしてくれる模様。これはこれで良いのだが、このときの LV のサイズが空き容量の 40% がデフォルトらしい。

これは /usr/share/container-storage-setup/container-storage-setup に以下の定義があることでわかる。
DATA_SIZE=40%FREE

どうも Thin provisioning のようなので、実際に利用されているディスク量しか消費されないのだと思うのだが、vgdisplay で見ると残量が単純に 178GB を引き算された値になってる。何か気持ち悪いので docker を一回アンインストールしてインストール後、 /etc/sysconfig/docker-storage-setup に以下を記述して docker デーモンを起動した。
DATA_SIZE=20G
lvdisplay で docker-pool が 20GB になってることを確認。まぁこれくらいのサイズでいいだろう。

しかし、今度は docker デーモンは立ち上がるものの、試しに docker run -it --rm fedora:28 /bin/bash などとしてもコンテナがすぐ終わっちゃう。/var/log/audit/audit.log になんだか denied がたくさん出てるので、setools を入れて audit2allow でごまかそうと企む。

 とりあえず、tail -f /var/log/audit/audit.log としておいて docker run ... を実行する。吐かれたログをコピペして別ファイルに保存。で、以下のように audit2allow にかませる。
audit2allow -M docker < /tmp/docker-audit

出来た docker.pp ファイルを semodule にかませる
semodule -i docker.pp

これを 2 回繰り返したら docker run ... 出来るようになった。ちなみに追加した許可は以下。

allow container_t container_file_t:chr_file { read write };
allow container_t container_file_t:chr_file { getattr ioctl open };
うーーん、docker をアンインストールしたときに何やら外れたんだろう。もっとスマートな直し方がありそうなもんだけど、まぁいいや。

2018年7月21日土曜日

X1 Carbon 6th Fedora でマウス動かない

現在 Fedora 28 を X1 Carbon 6th にインストール中。
GUI インストーラでマウスが動かない。

カーネルパラメータに以下を追加でおけ。

psmouse.synaptics_intertouch=1 

もしかして茨の道なのかも。

2018年7月8日日曜日

Android Studio で java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener

Android Studio の Design がまともに動かずコンポーネントを配置してもそれが Blueprint 上で見えない...んで以下のエラーが発生してる状態。

java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener

どうも SDK 28 の問題らしく 27 にしたらエラーが無くなった。以下の情報参照。

https://stackoverflow.com/questions/50856622/failed-to-find-style-coordinatorlayoutstyle-in-current-theme-in-android-studio

Change the android{ in "build.gradle" in app file
compileSdkVersion 28 to compileSdkVersion 27
targetSdkVersion 28 to targetSdkVersion 27
also, try to change implementations like
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' to
implementation 'com.android.support:appcompat-v7:27.1.1'

2018年6月21日木曜日