ペンタブにハマった話

購入の経緯

昨年秋頃にペンタブレットを購入した。
ワコム Intuos S(CL4100)

オンライン研修が増えてくると研修資料をPDFで入手してメモをノートに書いたりすると両者泣き別れで保存するはめになり不便、かといってPDFにタイプ打ちして書き込むのもいいが、線を引いたり図形やイラストメモをいれるには面倒、だから直接手書きしたいというところから来ている。

最近では統計の勉強などで数式をよく記録するのだが、数式はMathJAXを動かしてLaTeX表記を使うととてもキレイにかつ厳密に描けるのだが、単なる自分の備忘記録のためならば手書きで十分(というよりは手書きのほうが覚える)という要望もある。

この商品を選んだ理由は、サイズがディスプレイよりも一回り小さく(やや大きめのMもある)軽く扱いやすいことや、アニメータになるわけでもなく手書きノートの代わり程度の機能があれば十分なので、4つのボタンとスタイラスペンだけのシンプルな機能(しかない点)が気に入ったからだ。加えて、ネットでLinuxに事実上対応しているという情報もあったことが大きい。きちんとコミュニティもありドライバなども更新されているようだ。あとでXP-PENという別会社の商品が公式にLinux対応していることを知るのだが。

ハマりのきっかけ

ノートPCはどうしても画面が狭くなってしまい、モニターをHDMIに接続して使ってる。いわゆるデュアルモニターとかマルチディスプレイという環境だ。特に研修の場合は、講師が示すスライドの画面を見ながら、自分のPDFに書き込むためには、両者を同時に見られるようにしておく必要がある。

ワコムのIntuosは、USBに接続すればPlug&Playが機能して自動的にドライバを認識してくれるので、ソフトウェア側が対応していさえすれば、すぐにでもペンを使った書き込みは可能だ。お絵かきソフトではなく、Xournal++というオープンソースのアプリケーションがあり、これはPDFを下地にして書き込みの部分は別に保存するという使い方ができるので、これを選んだ。

最初は、何の調整もせずに使っていた。字は汚いがそれなりに自分では読めるので、まあこんなものかと思いながら。そのうち、マルチディスプレイ環境では、二つのディスプレイを一つの画面にしてペンタブが機能していることに気が付き、PC側を記録用、外付けDPを閲覧用に分けたくなった。

Windows/Macならワコムが用意したツールがあって設定ができるのだが、Linuxの場合も設定メニュでペンダブレットを選べばできるようなことがネットで紹介されている。しかし自分のLinuxmint/MATEの環境にそれはなかった。これも後で、gnome-control-centerをターミナルで叩けばGUIが出てくるということを知る。

あれこれといじっているうちに、ナントカ片方だけで認識するようになったのだが、使っているうちに画面の片方ではなくペンタブ側の左片方だけが機能していて結果的に左側のモニターだけに書き込んでいるかのように見えただけだった。

具体的な挙動はAskUbuntuのこの記述(Wacom Intuos S only recognized in Android Mode)がかなり正確である。

これはペンタブをLinux環境のUSBに繋ぐと、なぜかAndroid環境に接続したものとみなされてしまい、タブレットの左半分を縦に使うという動作をしているらしい。

後に知ることだが、ペンタブの4つのボタンの内、両端の2つを同時に長押しすることでPC環境とAndroid環境の入替えができるという。

次に、Linuxのページにあるカーネルドライバなどをインストールした。このコンパイルでもいろいろなハマりどころがあり、githubなどで質問を出したりしながら解決していった。

結果的にわかったことは、「何もしない」環境に戻すのが最も早道かつ的確な対応であるということだった。

使ったコマンドの一部(備忘記録)

  • lsusbで接続されているUSBデバイスが認識されているかどうかを見る
:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 5986:0706 Acer, Inc Integrated Camera
Bus 001 Device 003: ID 8087:0a2b Intel Corp. 
Bus 001 Device 005: ID 056a:0374 Wacom Co., Ltd CTL-4100 [Intuos (S)]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

このVID:056aというのがPCのインタフェースに接続しているということらしく、Androidとして認識されると2d1fになり、苦闘の人生へ進むはずだ。
PID:0374はプロダクトを表す。

  • xsetwacom --list ワコムドライバで設定されている機能を調べる。ペン、消しゴム、カーソル、パッドが使える(実際はペンとパッド本体しかない)。
:~$ xsetwacom --list
Wacom Intuos S Pen stylus           id: 9   type: STYLUS    
Wacom Intuos S Pen eraser           id: 15  type: ERASER    
Wacom Intuos S Pen cursor           id: 16  type: CURSOR    
Wacom Intuos S Pad pad              id: 17  type: PAD       
  • libwacom-list-local-devices ワコムドライバで認識されているハードウェアの動作を定義するパラメタを調べる。
:~$ libwacom-list-local-devices 
# Device node: /dev/input/event5
[Device]
Name=Wacom Intuos S  ※誤ったハードが認識されているとここに(Android)が表示される
ModelName=CTL-4100
DeviceMatch=usb:056a:0374;  ※誤ってハードが認識されるとここが2d1fで始まる
Class=Bamboo
Width=6    ※Android版とPC版の違いはここが2か6かの違い。Androidを認識させたまま2を6に変更しても挙動に変化はなかった。
Height=4
IntegratedIn=
Layout=intuos-s-p3.svg
Styli=0x862;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=false
TouchSwitch=false
# StatusLEDs=
NumStrips=0
Buttons=4

[Buttons]
# Left=
# Right=
Top=A;B;C;D;
# Bottom=
# Touchstrip=
# Touchstrip2=
# OLEDs=
# Ring=
# Ring2=
EvdevCodes=0x100;0x101;0x102;0x103;
RingNumModes=0
Ring2NumModes=0
StripsNumModes=0

結論

以上を調べてみて、一応のところでハードウェアは認識されているものの、アンドロイド端末に接続されていると誤認識されていれば、まずは、「4つのボタンの内、両端2つを同時に長押ししてLEDの点灯が変化するのを見て設定を入れ替える」ことが正解。

デュアルモニターの設定は、gnome-control-center ではできない。別記事にした。

やってはいけない

ここのページにあるドライバなどのインストール


linuxでPDFを操作する

PDFtkというツールがある
https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

いくつかのフレーバがあり、
GUI版のPDFtk freeは窓版しかないようだ

コマンドライン版のPDFtk Serverはプラットフォームフリーのようだ

QPDFというコマンドラインツールもある
http://pdf-file.nnn2.com/?p=865
http://qpdf.sourceforge.net/

こちらは、印刷制限のかかったPDFの制限解除ができるようだ
https://reject.tokyo/qpdf-delete-pdf-guard/
https://www.virment.com/how-to-set-password-pdffile-using-qpdf/

qpdf --encrypt userpass ownerpass 40 -- mypdf.pdf output.pdf

というわけで当面は、QPDFを使うことにした


Linuxmintでsnapを使えるようにする

zoomのclientソフトをインストールするのに、snapが必要なのだがmintではなぜか使えないので、いちいちダウンロードしてからインストールしていた。

たまたま見つけたのは、同じLinuxどうして仲が悪かったようで、対処方法を見つけたので残しておく。

http://baker-street.jugem.jp/?eid=116
https://snapcraft.io/install/zoom-client/mint


Linux Mint20起動時エラー

Linux Mint 20を起動する際に、1秒程度のエラーメッセージが出る。

Initramfs unpacking failed ...

一応解決策は見つけた。
アーカイバをlz4からgzipに換えればよいらしい。

支障がなければ放置してもよいという書き込みもあったので静観。(下手に触って起動しなくなると困るから)

https://forums.linuxmint.com/viewtopic.php?t=323152

---- 2021.01.10追記 ----

Mint20.1の更新があったので実行。エラーは消えた。


ownCloudの設定

ファイルの受け渡しにメールでやり取りするといろいろと不都合が起こる。

1. 大容量ファイルは転送できない。10MBくらいに制限される。
2.セキュリティ設定が必要だがいわゆるPPAPはしたくない。圧縮してパスワードをかけて、相手にパスワードを通知する。
3.メールサーバーに残される可能性がある

などの懸念があって、ownCloudを導入することにした。
使っているサーバーのストレージにかなり余裕があるのも活用しないともったいない。

ロリポップでは簡単設定ツールがあるのだが、そのツールが使えずマニュアルでインストールすることにした。

ownCloudのサイト
https://owncloud.com/

3万個を超すファイルを転送したのは初めてかも(^_^;)

データベースの設定はデフォルトではSQLiteになっているが、制約が大きいしサーバーでつかえるのでMySQLに変更。ここでトラブった。
初期起動のときに、管理者メニュで最初に設定しなければならなかったのを知らずに後から変えようとしたがうまく行かない。

https://www.idcf.jp/rentalserver/support/knowledge/owncloud/install_03.html

config.phpなどをいじってもうまく行かなかった。結局は、config.phpを削除して起動し直したら、また初期設定画面になってくれたので助かった。

参考

ownCloudで写真を共有する
http://cltz.chu.jp/sw/kamome/%E3%83%AD%E3%83%AA%E3%83%9D%E3%83%83%E3%83%97%E3%81%ABowncloud%E3%82%92%E8%A8%AD%E7%BD%AE%E3%81%97%E3%81%A6%E3%80%81%E5%86%99%E7%9C%9F%E3%82%92%E5%85%B1%E6%9C%89%E3%81%99%E3%82%8B/

filezillaの設定が変わっていたのでやりなおす
https://pasonal.com/lolipop-ftp-filezilla-settings/

filezillaのアップデートをppa経由で
https://www.virment.com/setup-latest-filezilla-ubuntu/