do:kalaclism

『輝かしい青春』なんてなかった人のノート

あらゆるフォントを気軽に NERDFonts 対応化させる方法 (Windows or Linux)

NERDFonts is 何?

これ:

あらゆる フォントを NERDFonts 対応化とは?

基本的には、

  • Windows: フォントリンク
  • Linux: fontconfig によるフォントのリンク

を使って行う

手順

1. NERDFonts のリポジトリから NERDFonts の Glyph のみの TTF を落してくる

基本は、

の中にある、

  • Symbols-1000-em Nerd Font Complete.ttf
  • Symbols-2048-em Nerd Font Complete.ttf

のどちらかを落してくれば OK。

それで、

1000em と 2048em のどっち使うの?

となるんだけど、これはリンクさせるフォントによるので、 fontforge などでリンクさせたいフォントを開き、 フォントのプロパティを見て判断するしかない。

2. 落してきたフォントをシステムへインストール

これは Windows or Linux によって方法が違うので、その辺りは各 OS に従ってインストールする。

なお、Windows でインストールする際には、フォント名をスペースを含まない判りやすいファイル名にしておいた方が良い。

3. フォントをリンクする

これについては、

  • Windows だとFontLink
  • Linux だと fontconfig の設定

あたりから行う。

で、 Windows で フォントリンクを行うにはレジストリを弄る必要があり、 また、Linux で fontconfig の設定を触る場合には、各 Distribution によって方法が違うので、 その辺りは各自調べてください。

以上

なお、 macOS については、どうやってフォントの Fallback の設定を行うか良く判ってないので、 とりあえずこのまとめには掲載していません。

また、Windows の Fontlink とか、あるいは Linux の fontconfig の設定とかについては、 システムを弄る必要が有るため、各自、自己責任の元で作業を行なってください。

特に Windows とかレジストリをぶっ壊すと再インストールとかする破目になりそうなので、 その辺りは慎重にお願いします。


と言う事で以上です。はい。

MIDI Keyboard の入力を普通のキーボード入力みたく使う方法 on Linux

始めに

僕の PC には、常に USB 接続で突き刺さっている割にはまったくもって利用してない、

  • iRig Keys (メルカリで買った中古)

が有ったりするんですが、これを普通のキーボードの入力の様に使えないかなー、 と前々から思っていて、つい先程、ようやくながらに調べたんですが、 調べてみたらどうも割とサクっと出来るっぽい、という事が判ったのでメモっておきます。

具体的にどういう事をしたかったのか

簡単に言えば、

鍵盤のドのキーを打鍵すると、Web ブラウザが立ち上がる

みたいなコトです。

やり方

正に行いたかったコトは、

superuser.com

に掲載されていたのですが、その方法としては大体下記の通り:

  1. aseqdump で MIDI の Port 一覧を調べる
  2. aseqdump で 該当キーボード (この場合 iRig Keys) の MIDI Sequence を dump する
  3. その dump した出力を何かのコマンドでパースし、その結果に色々なコマンドを割り当てる

ちなみに上記のリンク先では Shell script でコマンド実行等を行っていますが、 実際には、テキストをパースして云々出来るコマンドさえ有れば良さそうなので、 例えば Perl だったり、あるいは Golang で色々作ったりしても良さそうな感じがします。

以上

まあ、とりあえず今のところ、今回の Tips を生かした何かをするつもりはあまり無いんだけど、 とりあえず、こういう手順で出来そうっぽい、というまとめでした。はい。

Archlinux の rootfs encryption をリモートから unlock する

とりあえず、試行錯誤した末に出来たのでメモ。

今回の作業の概要

Archlinux on Mac mini late 2012 with rootfs encryption

と言う環境で、

ssh 経由で roorfs encryption の unlock が出来る

というのを作った。

下準備

とりあえず今回は Wi-Fi から繋げたかったので、

  • Archlinux on Mac mini late 2012 with rootfs encryption

から Wi-Fi 接続出来る様に、下記のパッケージを導入した:

  • wpa_supplicant - pacman から
  • b43-firmware - yaourt から

まあ後は Arclinux で Wi-Fi 使う要領で作業すれば良い。

あと、基本的に Mac mini に Archlinux を入れるには、

  • USB 接続の Keyboard
  • Ehternet 接続できるネットワーク

辺りがないと、ドライバとかの加減で pacstrap 出来ねぇとかなるので、その辺りは用意しておいた方が良い。

ちなみに僕は、押し入れなどで眠っていた、

  • PS/2 Keyobard + PS/2 <=> USB のケーブル
  • 古い Ehternet Converter の子機

を使いました。

rootfs encryption の remote unlock over Wi-Fi

これがまあ面倒だったんだけど、基本的には、

をアレンジして、下記の様になった:

  1. パッケージの追加
    • mkinitcpio-nfs-utils (pacman)
    • mkinitcpio-dropbear (yaourt)
    • mkinitcpio-utils (yaourt)
  2. ssh 鍵の追加
    • 今回だと /etc/dropbear/root_key に ssh 公開鍵を登録する
  3. mkinitcpio 用に wifi フックの追加
  4. /etc/mkinitcpio.conf の編集と initramfs の rebuid
    • MODULES に Mac mini late 2012 用の Wi-Fi ドライバを追加 (環境固有)
      • b43, bcma
    • FILES に 上記ドライバが動作するためのファームウェアを追加 (環境固有)
      • /lib/firmware/b43/ht0bsinitvals29.fw
      • /lib/firmware/b43/ht0initvals29.fw
      • /lib/firmware/b43/ucode29_mimo.fw
    • BINARIESwpa_passphrasewpa_supplicant を追加 (共通)
    • HOOKS を 編集
      • encryptwifi net dropbear encryptssh
    • あとは mkinitcpio -p linux で initramfs を rebuild
  5. Bootloader の kernel parameter の編集
    • これは各ネットワーク環境に合せて ip= を追加する
    • 僕の場合だと: ip=::192.168.2.1:255.255.255.0::wlan0:dhcp
    • ちなみに、これに指定するパラメーターは nfsroot (kernel.org) を参照

以上

それで、ここまでで設定とかミスってなければ、

  • Archlinux on Mac mini

を起動した際に ssh が立ち上がって、リモート経由で rootfs unlock 出来る様になる……はず。 なんかミスってたら、各自設定とか見直してください。ちなみに僕は wifi フックを作るときに SSID の書き方をミスっていて、 これで数時間ぐらいは詰ってました。

あと、今回のこれは initramfs とかを弄るため、 なにかミスってて起動しなくなる と言うコトが良く起きます。 そのため、USB Stick 等で Archiso を起動できる Recovery 環境が無いとつらいかもです。はい。


という事で今回のメモは以上。

まあ転んでも泣かないヒト向けのメモでした。