もう10年以上aprsのTCP-IPGATE WAYを立ち上げていますが、最初はxastir 次にYAACに変更して現在に至ってます。
raspberry-piも1~4に変わりました。今回zero2wに変更するにあたり、下記の件を変更しました。
x-windowsはzero2はメモリーが512Mしかなくかなり動作がきびしいです。
さらにYAACはjavaベースなのでさらに厳しいです。地図を表示をするのに5分ぐらいかかってしまいます。もともとrapberry-piヘッドレス運用で、メンテナンスはVNCで行っています。あまり地図をみる必要もないので、GUIでないaprsをさがしたところ、aprxというのを見つけました。

結構昔に開発されているみたいで、bookwormでapt インストールでちゃんと入ります。
sudo apt install aprxで簡単に最終版の2.9.1がインストールされます。
起動は sudo /etc/init.d/aprx startで起動します。

自動起動は

sudo systemctl enable aprx.service
sudo systemctl start aprx.service

で自動起動します。

設定は /etc/aprx.confで行いますが、TH-D72用の9600 KISS ON スクリプトもちゃんと設定できます。

# /etc/aprx.conf
mycall xxxxxx-10
myloc  lat xxxx.xxN lon xxxx.xxE
<aprsis>
   passcode xxxxxx
   server   ehime.aprs2.net   14579
</aprsis>
<logging>
   pidfile /var/run/aprx.pid
   #rflog   /var/log/aprx/aprx-rf.log
   aprxlog /var/log/aprx/aprx.log
   #dprslog /var/log/aprx/dprs.log
</logging>
<interface>
   serial-device /dev/ttyUSB0 9600 8n1 KISS
   initstring  "HBAUD 9600\x0dKISS ON\x0dRESTART\x0d"
   alias       RELAY,WIDE,TRACE
   callsign    $mycall # callsign defaults to $mycall
   tx-ok       true # transmitter enable defaults to false
   telem-to-is false # set to 'false' to disable
</interface>

<interface>
   serial-device /dev/pts2 1200 8n1 KISS
   #initstring  "HBAUD 9600\x0dKISS ON\x0dRESTART\x0d"
   #alias       RELAY,WIDE,TRACE
   callsign    N0CALL-1
   tx-ok       false # transmitter enable defaults to false
   telem-to-is false # set to 'false' to disable
</interface>


<beacon>
   beaconmode both
   cycle-size 30m
   beacon     symbol "I&" $myloc comment "Tx-iGate aprx 96k Takamatsu Kagawa"
</beacon>

<beacon>
   beaconmode aprsis
   cycle-size 15m
   beacon file /tmp/data/wxnow.txt
</beacon>

<digipeater>
   transmitter $mycall
   <source>
      source   $mycall
   </source>
</digipeater>


beaconファイルは前に書いたなんちゃって BME280のWXステーションにしてます。
WXNOW.TXTは YAACとちょっと形式が変わり下記の形式です。

bmeaprs.pyは下記です。これをcrontabで15分毎に実行します。

import bme280_custom
import datetime
import os

dir_path = '/home/master'

now = datetime.datetime.now()
now1 = now.strftime('_%m%d%H%M')
wxnow = bme280_custom.readData()
print (now1)

wxnow2 = (wxnow.replace('.','').replace(',',''))

ondo =(wxnow[8:-9])
celsius = int(ondo)
ondo1 = (celsius * 1.8) + 32
ondo2 = (str(ondo1))
ondo3 = (ondo2[:2])

press = (wxnow[0:6])
press1 = (press.replace('.',""))

hum = str(wxnow2[-4:-2])

hum = str(wxnow2[-4:-2])

wxnow1 = ("c..."+"s..." + "g..."+"t0"+(ondo3)+"r..."+"p..."+"P..." + "h"+(hum) + "b"+(press1) + "yPIC device")
print (wxnow1)
if not os.path.exists('/tmp/data'):
    os.makedirs('/tmp/data')
f = open('/tmp/data/wxnow.txt','w')
f.write (str(now1))
f.write (str(wxnow1+'\n'))
f.close()
dirname = '/tmp/data/wxnow.txt'
os.chmod (dirname,0o755):

で出力結果は下記です。

_01090850c...s...g...t039r...p...P...h51b10190yPIC device
これがaprs serverにuploadされます。

構成は以前に書いたYAACの記事です。

なお144.96の受信専用の1200ですが、direwolfのUSB ドングルの音声を入れるためのscreenで起動するようにしています。/dev/pts2でattachしています。
direwollに付属しているdw-start.shで起動します。

9600はD72の/dev/ttyUSB0です。

正常に起動すれば、direwolfのscreen-rで144.94の1200がモニターできます。