2021/07/09

TN-4DとiPad Pro 11インチ第3世代

アナログディスクプレーヤーのTN-4DとiPad Pro 11インチ第3世代を購入しました。
金がないのに。

TEAC TN-4D



TN-4D → NUPRIME AMG PRA → LUXMAN P-1u/L-305 と繋いで聴いています。

TN-4Dと同じ接続で聴く逢瀬AK4499DACと比べると音の厚みがある点が好みかなとは思いますが、思ったほどデジタルとアナログで変化はなかったというのが正直な感想です。

ちなみに聴いているのはBABYMETALの10 BABYMETAL YEARS(輸入盤)とBABYMETAL(国内盤)です。タワーレコードオンラインショップで購入しました。

10 BABYMETAL YEARSの方は片面5曲、BABYMETALの方は片面3〜4曲しかなく、頻繁にディスクをひっくり返したり入れ替えたりしている印象です。
TN-4Dにはレコード再生終了時に自動でアームを持ち上げる機能がついていないため、曲を聴きながら行っている作業を止めてアームを持ち上げる必要があります。
前述のように現在所持しているディスクは多くて5曲で再生が終わるため、その度にTN-4Dのところへ行き作業するのはそれなりに面倒です。

まあ、これもアナログの醍醐味かと考えるようにしています。

iPad Pro 11インチ第3世代

Magic Keyboardも買いました。
このブログ記事はiPad Pro 11インチ第3世代とMagic Keyboardで打っていたりします。

新しいiPad ProとMagic Keyboardの組み合わせはライターに最適だとかいった記事を読んで踊らされました。
普段文章を打つのはベッドで横になりながらTwitterにつぶやくくらいしかしていないため、ちょっと違うことをしないとダメだと思ったのが動機です。

文章を打つのならMacやPlamo Linuxで十分ではあると思いますが、「買いたい」という欲求に負けてしまいました。
購入を機会に色々できればとは思います。

今まで使っていたのはiPad Pro 9.7インチです。
今回購入したiPad Pro 11インチ第3世代は9.7インチと比べると画面が綺麗だなと思ったのと、多少動作が軽いかなといったくらいで、買い換える必要があったのかはちょっと疑問です。
iPad Pro 9.7インチは購入してから5年くらい経っていますが、まだ十分使えると思います。


TN-4DもiPad Pro 11インチ第3世代も、せっかく購入したので自分が良い方向に行くように活用したいと思います。

2020/11/01

virt-managerでインストールしたPlamo Linuxのカーネルデバッグ

自分が忘れないようにメモ程度です。

以下のサイトを参考にしました。


まずはvirt-managerでゲストOSとしてPlamo Linuxをインストールします。

ゲストのカーネルをKGDB関連を有効にしたものに変更します。
私は下記のようにしました。

# CONFIG_RANDOMIZE_BASE is not set

CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_DEFAULT_ENABLE=0x1
# CONFIG_KDB_KEYBOARD is not set
CONFIG_KDB_CONTINUE_CATASTROPHIC=0


ホストの側で下記のコマンドを実行します。

$ sudo virsh edit ゲストの名前

ドメインタグの
<domain type='kvm'>
の部分を下記のように変更します。

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <qemu:commandline>
    <qemu:arg value='-s'/>
  </qemu:commandline>

Qemuの実行時に-sオプションを追加しています。

-sオプションは-gdb tcp::1234と等価とのことです。
私はcjk_ttyパッチが当たっているカーネル5.4.39とパッチが当たっていない5.9.1を同時に動かしたかったので、片方を下記のように記述しました。

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0>
  <qemu:commandline>
    <qemu:arg value='-gdb'/>
    <qemu:arg value='tcp::4321'/>
  </qemu:commandline>



ゲストのPlamo Linuxを再起動します。


ホスト側でgdbを立ち上げて下記のようにします。

takahiro@plamovaio:~/work/src/kernel/qemu/5.9.1/linux-5.9.1$ gdb vmlinux
GNU gdb (GDB) 8.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from vmlinux...done.
warning: File "/home/takahiro/work/src/kernel/qemu/5.9.1/linux-5.9.1/scripts/gdb/vmlinux-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /home/takahiro/work/src/kernel/qemu/5.9.1/linux-5.9.1/scripts/gdb/vmlinux-gdb.py
line to your configuration file "/home/takahiro/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/home/takahiro/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
(gdb) target remote :1234
Remote debugging using :1234
0xffffffff81a3c8be in native_safe_halt () at ./arch/x86/include/asm/irqflags.h:60
60              asm volatile("sti; hlt": : :"memory");


試しにブレークポイントを貼ってみます。


(gdb) break do_con_write
Breakpoint 1 at 0xffffffff8168f1f0: file drivers/tty/vt/vt.c, line 2850.
(gdb) c
Continuing.

Breakpoint 1, do_con_write (tty=0xffff8880748ef800, buf=0xffff88807c073c00 "aogin: velop",
    count=1) at drivers/tty/vt/vt.c:2850
2850    {


do_con_write関数にブレークポイントを貼ったところ、文字入力時にブレークポイントで停止しました。

2020/10/23

NeoMuttでS/MIMEを使用する

試したのはPlamo Linux 7.xです。

mutt の S/MIME 機能の利用法 を参考にしました。

以下はmuttもインストールしている環境で行っています。

まず、NeoMuttのソースに含まれるsmime.rcの記述をNeoMuttの設定ファイルに記述します。

$ cat neomutt-20200925/contrib/smime.rc >> ~/.muttrc


次にmuttに含まれるsmime_keys initを実行します。

$ smime_keys init


証明書を取得します。
私は下記のサイトを参考にしました。
最後に証明書を追加するためのパスワードが表示されますので、必ず控えておきます。
忘れた場合、取得した証明書をREVOKEして再度取得し直す必要があるようです。

取得できるファイルはpfxファイルです。
一応p12にリネームしてから追加します。

$ mv PKCS12_Credential_xxx.pfx PKCS12_Credential_xxx.p12
$ smime_keys add_p12 PKCS12_Credential_xxx.p12

ここで上で控えておいたパスワードが必要になります。
さらに新しいパスワードの追加と、覚えやすいラベルを設定します。

最後に
added private key: /home/takahiro/.smime/keys/12345678.0 for xxx@xxx
のように表示されますので、.0がついた数字部分を覚えておきます。


NeoMuttの設定ファイルでsmime_sign_asを設定します。

$ vim .muttrc
$ cat .muttrc |grep smime_sign_as
set smime_sign_as="12345678.0"


ルート証明書をインポートします。
こちらはNeoMuttのソースには見当たらなかったのでMuttからいただきました。

$ smime_keys add_root mutt-1.14.7/contrib/ca-bundle.crt 


メール送信時にエラーになる場合はunset crypt_use_gpgmeをNeoMuttの設定ファイルに記述します。

$ cat .muttrc |grep crypt_use_gpgme
unset crypt_use_gpgme


以上で私の環境ではNeoMuttでS/MIMEが使えるようになりました。

2020/10/21

Plamo Linux 7.xでsnapper

Plamo Linux 7.xにsnapperをインストールしてみました。

私の環境では他に必要なものは特になくインストールできました。
Plamo Linux 7.xに色々インストールしていますので、他の環境では必要なライブラリなどがあるかもしれません。

/homeにファイルシステムbtrfsを使っています。

# df -Th /home
ファイルシス   タイプ サイズ  使用  残り 使用% マウント位置
/dev/sda10     btrfs    145G   20G  125G   14% /home

/home/takahiro がsubvolumeです。


Arch Linuxのサイトを参考にしました。


まず新しい設定を作成しようとしましたが、失敗します。

# snapper -v -c takahiro create-config /home/takahiro
失敗しました (org.freedesktop.DBus.Error.NoReply) 。
#


/var/log/snapper.logを見ると

# less /var/log/snapper.log 

~省略~

2020-10-21 21:15:37 WAR libsnapper(6499) AsciiFile.cc(AsciiFileReader):66 - open for '/e
tc/sysconfig/snapper' failed
2020-10-21 21:15:37 WAR libsnapper(6499) AsciiFile.cc(AsciiFileReader):67 - THROW: file not found
2020-10-21 21:15:37 WAR libsnapper(6499) Snapper.cc(getConfigs):300 - THROW: sysconfig-file not found

~省略~

よく分からないですが、とりあえずtouchでファイルを作成してみます。

# touch /etc/sysconfig/snapper
# snapper -v -c takahiro create-config /home/takahiro
#

成功しました。


一般ユーザーでもスナップショットを確認できるようにします。

# vim /etc/snapper/configs/takahiro 
# cat /etc/snapper/configs/takahiro |grep ALLOW_USERS
   ALLOW_USERS="takahiro"
   # sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots

一般ユーザが所属しているグループにグループ所有権を変更します。

# cd /home/takahiro/
# chmod a+rx .snapshots
# chown :users .snapshots


GUIフロントエンドのsnapper-guiをインストールしました。

使用するのに必要なものはgithubのページに書いてあります。
私の環境ではgtksourceviewをインストールする必要がありました。

下のような感じです。


2020/10/13

Plamo Linux 7.2でLXCを使ってみる (その3)

前回までに作ったコンテナではパスワードを変更できません。
そこで新しくPlamo-6.xのコンテナを作成してみて比較してみます。


takahiro@plamovaio:~$ lxc-create --name plamolxc03 --template download -- --dist plamo --release 6.x --arch amd64
Setting up the GPG keyring
Downloading the image index
Downloading the rootfs
Downloading the metadata
The image cache is now ready
Unpacking the rootfs

---
You just created an Plamolinux 6.x x86_64 (20201013_01:33) container.

takahiro@plamovaio:~$ lxc-start -n plamolxc03

takahiro@plamovaio:~$ lxc-attach -n plamolxc03
bash-4.3# passwd
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
 
 
呆気なくパスワードの変更ができました。
 
Plamo-7.xとPlamo-6.xでは何か違うのでしょうか? 

Plamo-MLの[plamo:33410] pkgtools7でPlamo-7.xのコンテナが動かないってあるけれど、これが原因なのでしょうか。