Gaming Keyboard DREVO SEER PRO を Mac で使う

多少の浮気をしつつも, デスクトップ用には US配列の Sun Keyboard, HHK(無印), HHK Lite などを使ってきた(HHK Professional は自分のタイピング量と速度からは過大だと思った). Macに移ってから, ぜんぜん違うタッチの Wireless Keyboard, Magic Keyboard (テンキー無)を使っていた.

青色LEDの発明から何年もが過ぎた今, なぜかLEDでカラーに光るゲーミングキーボードを使ってみようかという気になった(広報用写真にも使えるかも?). キータッチはなぜか昔に戻ってみて, 買ったのは Gateron 茶軸のこれ.

Seer 61 PRO | DREVO :: Game With Cool Tech.

当初, macOS 10.15 Catalina と有線USB接続したところ, 設定>キーボードに "USB Keyboard" として現れた. この状態では Fn+<>? による矢印キー(HHK無印と同じ方式)が使えなかったが, 次のサイトからユーティリティとドライバをインストールして再起動すると, "SEER PRO" と表示されるようになり, 矢印キーも機能した.

Software | DREVO :: Game With Cool Tech.

不満は, 左上の`や〜がfn1との兼用で, Fn との同時押しになること.

数学オンラインテストモジュール STACK 4.5.3(2020081700) を LMS Moodle 3.9.1+ on Debian GNU/Linux 10.5 buster にインストール

公式ドキュメント

にしたがってインストール. Debian 10.5 buster では

# apt install maxima gnuplot

$ maxima --list-avail
Available versions:
version 5.42.1, lisp gcl
$ gnuplot --version
gnuplot 5.2 patchlevel 6

となった.

ところが, Moodle の サイト管理/プラグイン/問題タイプ/STACK/動作確認スクリプト では,

CASは何も評価された式を返しませんでした。CASとの接続を確認してください。 CASは期待したとおりデータを返しましたが,エラーがありました。
(%i1) 
file_search1: stringproc not found in file_search_maxima,file_search_lisp.

などとなる. 使用する Common LISPgcl ではだめで sbcl が必要だったことがあるのを思い出し, sbcl 対応の maxima

から取ってくることにした(Debian 上で自分でコンパイルすることもできるだろう). このバージョンにしたのは, STACKの設定で選べる最新バージョンだから.

# apt remove maxima
# dpkg -i maxima-common_5.42.2-1_all.deb 
# dpkg -i maxima-sbcl_5.42.2-1_amd64.deb 
# maxima --list-avail
Available versions:
version 5.42.2, lisp sbcl

これでキャッシュを消して再度 health check すると, いくつか warning はでるものの pass した.

Insync CLI版での Debian/GNU Linux への Google Drive からのリストア

Insyncは, Google Drive とローカルドライブとの同期用の有料の3rd party 高機能クライアント+サービス.

特筆すべきは, Linux 用の CLI 版(デスクトップを使わない headeless サーバ 用)を, 無サポートの旧バージョン 1.5.7 ではあるが提供している.

Debian 7 wheezy 用の deb, Fedora Core 24 用の rpm が提供されているが, Delian 10 buster でもインストールできた*1.

使い方は現在でもこの説明が正しい*2.

クラッシュした Linux home の Insync による Google Drive からのリストアの経緯

home を一定頻度でフルバックアップ, Insync でいくつかのフォルダを(同期フォルダ内に home 内のへの symbolic link を作ることにより)常時バックアップしている Debian がクラッシュした.

別の host にフルバックアップをリストアしたのに続いて, Google Drive のバックアップを手動でダウンロードして最新まで戻そうとする. いくつかのフォルダはリモートレポジトリに git push してあったので, pull してきた.

ここで, 別の host に Insync headless をインストールして, 常時バックアップを始めようとした. すると, 「このホストは登録済みです」のようなことを言われ, 同期用フォルダが作られないのに Insync が CPU を使っている状態になっていた. これはなぜかというと, Google/Insyncアカウントや同期用フォルダの情報が home 内にファイルとして残っていて, それに基づいて, 新たにインストールした Insync が動作を開始していたのだった.

ここで不安になるのは, どちら向きの同期が起きるかということ.

  • ローカルのフルバックアップに欠けている最新のファイル群が削除されたと見なされGoogle Drive 側で削除される
  • Google Drive 側のローカルに未同期とみなされ, ローカルにコピーされる

結果論としては後者が起きた. 再現性はチェックしていない. Google Drive 側で作成したファイルも, 旧 host で symbolic link を介して追加されたファイルもあったのだが, 同じ振る舞いだった.

ただ, git pull した部分は履歴情報が壊れたかもしれないわけで, 今後どのように振る舞うか観察する必要がある.

*1:ただし, curses で書かれたメニューベースの選択同期の設定はエラーが出て使えなかった. Python(ライブラリ)のバージョンの問題か?

*2:ただしインストールは dpkg -i *.debで.

mac miniでLG UltraFine 5K Displayを高解像度(5120x2160)で使用

LG UltraFine 5K Display では5K表示(5120x2880)が可能.

www.apple.com

Mac mini (macOS 10.15 Catalina)では,

最大2台のディスプレイ: Thunderbolt 3経由で接続した5,120 x 2,880ピクセル解像度、60Hzのディスプレイ1台と、HDMI 2.0経由で接続した4,096 x 2,160ピクセル解像度、60Hzのディスプレイ1台

www.apple.com

とのこと. LG UltraFine 5K Display はApple Storeに載っている製品だから, 当然5120x2880表示(相当のフォント密度での表示)が可能かと思うが, 環境設定 > ディスプレイではその選択肢でもっとも dense な表示にしても, 4Kでもっともdenseな表示よりも表示できる文字数は少ない.

5Kの意味ないじゃん, と言いたくなるが, 実は, 「変更」ラジオボタンの Option+クリックで下の様な選択肢が出る. もうすべてのボタンは Option+クリックして何かいいことが起きるかどうか観察しないといけない?

f:id:hig3:20200814061657p:plain

このことは下の記事から学んだ.

www.macotakara.jp

これらの解像度も含めメニューバーにプルダウンメニューに出してくれるアプリがある.

Display Menu

Display Menu

  • Milch im Gemüsefach
  • ユーティリティ
  • 無料
apps.apple.com

余談だが, 上の切替をしているうちに, mac mini から HDMI 出力できなくなったことがあった. 仕様をよく読むと, HDMI 出力は HDMI ポートから1個だけしかできない(上の仕様参照. USB-C や Thunderbolt にHDMIコンバータをつないでもだめ. 実験した). けっきょく, PRAM リセットで復活した.

iPad Pro 12.9inch Gen1 から Gen4 への変更とマイクロフォン接続

以前は, IPad Pro 12.9inch 1st Gen と Apple Pencil 1st Gen, Explain Everythingを使ってスクリーンキャストの動画を作っていた. マイクとしては

使っていた. マイクレベルの調整は, GarageBand で行っていた.

iPad Pro 12.9inch を 1st Gen から 4th Gen に置きかえると, Lightning から USB Cに, Apple Pencil 1st Gen から 2nd Gen に変わるけど, 接続をApple USB-C Digital AV Multiportアダプタ に変更すればほぼそのままでいいでしょ, と思っていたら, だいぶ試行錯誤が必要だった.

*1:商品ページには Micro USB - Lightning ケーブルでつなげばよいと書いてある

*2:Apple Lightning - USBカメラアダプタでは電力が足りないと言われた

ふたつの helm ひとつの auctex

helm には, Emacs Lisp のパッケージ と Kubernetes のパッケージマネージャがあるのか. 後者が後発だけど知名度は高い?

MacPorts の helm-3.1 ports は後者. 前者は MacPorts では emacs port を入れた後で MELPA から取得する. ややこしいことに, MELPA には, kubernetes-helm というパッケージもある. これは後者を Emacs の中から使えるようにするもの.

一方, MacPorts において, auctex ports がある一方, Emacs から MELPA 経由でも auctex を取得できるが, これらは同起源のもの. MacPorts の auctex は MacPorts の texlive との整合性のために修正されているのだろう.

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル

  • 作者:るびきち
  • 発売日: 2011/11/26
  • メディア: 単行本(ソフトカバー)

MacのVisual Studio Code を, 特定ユーザが起動できない問題の診断と解決

2018年末頃の最新の Visual Studio Code, macOSSnow Leopard OS X Server での話.

Macの/Application にインストールした Visual Studio Code を, ローカル管理者は起動できるのに, 一般ユーザ(の一人?)は起動できないことを発見. エラーメッセージは何もでない.

こういうときは, ファイル/ディレクトrの permission の問題か, いまの場合一般ユーザは OpenDirectory で管理し, Home は NFS Driveなので, それらが関係するか, かと疑ったが, 最初は診断の方法が思いつかなかった.

shell% open Visual Studio Code.app

はオプションを受け付けないが,

shell% /Applications/Visual Studio Code.app/Contents/Resources//app/bin/code" --verbose

は叶であることに気づく.

出力は

[main 18:29:23] Could not delete obsolete instance handle { Error: ENOENT: no such file or directory, unlink
'/Network/Servers/NFSSERVERNAME/Volumes/home/USERNAME/Library/Application
Support/Code/1.21.1-main.sock'

ということで, NFSも関係するかもしれないが, このユーザの Visual Studio Code が以前に異常終了したことに起因するものだった. フォルダごと消去すること, 正常に Visual Studio Code が起動するようになった.

rm -r /Network/Servers/NFSSERVERNAME/Volumes/home/USERNAME/Library/Application
Support/Code

徹底解説Visual Studio Code

徹底解説Visual Studio Code

はじめてのVisual Studio Code (I・O BOOKS)

はじめてのVisual Studio Code (I・O BOOKS)

Visual C++2019パーフェクトマスター

Visual C++2019パーフェクトマスター