<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
  <channel>
    <title>MOR&#39;s Weblog</title>
    <link>https://mor-s.seesaa.net/</link>
    <description></description>
    <language>ja</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <itunes:subtitle></itunes:subtitle>
    <itunes:summary></itunes:summary>
    <itunes:keywords></itunes:keywords>
    
    <itunes:author>MOR</itunes:author>
    <itunes:owner>    
       <itunes:name></itunes:name>
       <itunes:email></itunes:email>
    </itunes:owner>
        <itunes:explicit>no</itunes:explicit>
        <item>
      <link>https://mor-s.seesaa.net/article/519754377.html</link>
      <title>SMART</title>
      <pubDate>Sat, 17 Jan 2026 18:06:23 +0900</pubDate>
            <description>FreeBSD 11.4で動かしていたweeklyなバックアップシステムが起動しなくなりました。ポンコツのHDDをたくさん接続してzfsのraid-0で容量を稼いでバックアップする，という乱暴なことをしているのでHDDが1個でも死んだらシステムごと死にます。OSだけは100 GBのSATA接続のSSDにインストールしてデータ保存用のzpoolをマウントしてバックアップに使っています。通常は，dailyバックアップサーバーは常時運転して深夜にバックアップをとっていますが，wee..</description>
            <itunes:summary><![CDATA[
FreeBSD 11.4で動かしていたweeklyなバックアップシステムが起動しなくなりました。ポンコツのHDDをたくさん接続してzfsのraid-0で容量を稼いでバックアップする，という乱暴なことをしているのでHDDが1個でも死んだらシステムごと死にます。OSだけは100 GBのSATA接続のSSDにインストールしてデータ保存用のzpoolをマウントしてバックアップに使っています。

通常は，dailyバックアップサーバーは常時運転して深夜にバックアップをとっていますが，weeklyバックアップサーバーは日曜日の朝に別のサーバーからwolで叩き起こされて，自前のcrontabでdailyバックアップサーバーのバックアップデータをマウントしてから1週間分のバックアップをとって，その後，バックアップが終わったよ，というメールを送ってから自分でshutdownするというルーチンで二重のバックアップをとっていました。

しかし，年末の超絶忙しい時に，ふと，weeklyバックアップサーバーが起動していないことに気がつきました。サーバー室で様子をみると起動の途中でシェルに落ちていることがわかりました。バックアップデータを保存するzfsなHDDは7個の古いHDDをひとまとめにして使っています。もちろん容量はまちまちで2TB x 5個，1.5TB x 1個，750MB x 1個です。

起動中にシェルに落ちてしまっているのでシェルからzpool statusと叩くとどうやら750 MBのHDDが死んでzpoolがunavailableになっているようです。起動時のdmesgでも750MBのHDDは認識されていないようなので完全に死んでしまったようです。そのため，zpoolをマウントできずにシェルに落ちたのでした。

バックアップ用のディスクはzfsでファイルシステムを作っていますが，あえて，自動マウントではなく
zfs set mountpoint=legacy ZPOOL_NAME
と設定して，/etc/fstabにマウントポイントを指定してマウントする，という面倒なことをしていました。そのため，シェルに落ちてから/etc/fstabを編集してバックアップ用のディスクのマウントを指定している行をコメントアウトして再起動すればSSDから普通に立ち上がってきます。legacyに設定をしたうえでOSだけSSDにインストールしておいたのが功を奏しました。

raid-0なので当然ですが，どうあがいたって復旧はできません。zpoolを作り直して元のデータからバックアップをとりなおすしかありません。

そこでそこらへんに転がっているHDDに入れ替えたうえで，
zpool destroy ZPOOL_NAME
とやってzpoolを削除して新しいHDDを加えて改めてzpoolを作成すればOKです。その手順は，<a href="http://mor-s.seesaa.net/article/470335142.html">以前に書いたもの</a>のとおりです。

ただし，
zfs set compress=lz4 ZPOOL_NAME
については，圧縮率を優先してcompress=gzip-6としました。FreeBSD 13以降であれば，zstdを指定できるのですが，11.4の時代はまだzstdが実装されていないためgzipを設定しました。gzip-9が最大の圧縮率ですが，超絶遅くなるようなのでデフォルトのgzip-6を選んでいます。lz4よりは圧縮率が高いようなので良しとしました。

HDDの状態を知りたいと思ったのでSMARTを読めるようにしました。
cd /usr/ports/sysutils/smartmontools/
make
make install
でportsを使ってソースからコンパイルしてインストールしました。あまり依存関係がなければかなり古いバージョンのOSでもインストールできるようです。

/etc/rc.confに
smartd_enable="YES"
を追加して
smartctrl -a /dev/ada0
などとするとSMARTのデータがバラバラと表示されます。SMARTがdisableになっているとHDDの情報だけ表示されて終わります。出力されたメッセージの最後に書かれているように，
smartctrl -s on /dev/ada0
とやればenableになって改めてsmartctl -a /dev/ada0と叩くとちゃんと情報が表示されます。

<a href="https://www.kishiro.com/FreeBSD/hdd_malfunction_forcast.html">こちら</a>によると，SMARTの出力のなかで故障と相関の高い項目がいくつかあるようです。それは以下の5つの項目でいずれも値が1以上になると故障の可能性が非常に高くなるとのことです。
1 Raw_Read_Error_Rate
5 Reallocated_Sector_Ct
196 Reallocated_Event_Count
198 Offline_Uncorrectable
197 Current_Pending_Sector

デバイスの名前を1個しか指定できないので7個もHDDがあると超絶面倒なのですが，適当なシェルスクリプトを書いて異常値がでたらメールを送る，というようなことをすればよさそうです。やればできることはわかっているけどやっぱりめんどくさそうです。

そんなことを言っているからサーバーが死んでいても気がつかなかったりするんですよね。だめじゃん...。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
FreeBSD 11.4で動かしていたweeklyなバックアップシステムが起動しなくなりました。ポンコツのHDDをたくさん接続してzfsのraid-0で容量を稼いでバックアップする，という乱暴なことをしているのでHDDが1個でも死んだらシステムごと死にます。OSだけは100 GBのSATA接続のSSDにインストールしてデータ保存用のzpoolをマウントしてバックアップに使っています。<br /><br />通常は，dailyバックアップサーバーは常時運転して深夜にバックアップをとっていますが，weeklyバックアップサーバーは日曜日の朝に別のサーバーからwolで叩き起こされて，自前のcrontabでdailyバックアップサーバーのバックアップデータをマウントしてから1週間分のバックアップをとって，その後，バックアップが終わったよ，というメールを送ってから自分でshutdownするというルーチンで二重のバックアップをとっていました。<br /><br />しかし，年末の超絶忙しい時に，ふと，weeklyバックアップサーバーが起動していないことに気がつきました。サーバー室で様子をみると起動の途中でシェルに落ちていることがわかりました。バックアップデータを保存するzfsなHDDは7個の古いHDDをひとまとめにして使っています。もちろん容量はまちまちで2TB x 5個，1.5TB x 1個，750MB x 1個です。<br /><br />起動中にシェルに落ちてしまっているのでシェルからzpool statusと叩くとどうやら750 MBのHDDが死んでzpoolがunavailableになっているようです。起動時のdmesgでも750MBのHDDは認識されていないようなので完全に死んでしまったようです。そのため，zpoolをマウントできずにシェルに落ちたのでした。<br /><br />バックアップ用のディスクはzfsでファイルシステムを作っていますが，あえて，自動マウントではなく<br />zfs set mountpoint=legacy ZPOOL_NAME<br />と設定して，/etc/fstabにマウントポイントを指定してマウントする，という面倒なことをしていました。そのため，シェルに落ちてから/etc/fstabを編集してバックアップ用のディスクのマウントを指定している行をコメントアウトして再起動すればSSDから普通に立ち上がってきます。legacyに設定をしたうえでOSだけSSDにインストールしておいたのが功を奏しました。<br /><br />raid-0なので当然ですが，どうあがいたって復旧はできません。zpoolを作り直して元のデータからバックアップをとりなおすしかありません。<br /><br />そこでそこらへんに転がっているHDDに入れ替えたうえで，<br />zpool destroy ZPOOL_NAME<br />とやってzpoolを削除して新しいHDDを加えて改めてzpoolを作成すればOKです。その手順は，<a href="http://mor-s.seesaa.net/article/470335142.html">以前に書いたもの</a>のとおりです。<br /><br />ただし，<br />zfs set compress=lz4 ZPOOL_NAME<br />については，圧縮率を優先してcompress=gzip-6としました。FreeBSD 13以降であれば，zstdを指定できるのですが，11.4の時代はまだzstdが実装されていないためgzipを設定しました。gzip-9が最大の圧縮率ですが，超絶遅くなるようなのでデフォルトのgzip-6を選んでいます。lz4よりは圧縮率が高いようなので良しとしました。<br /><br />HDDの状態を知りたいと思ったのでSMARTを読めるようにしました。<br />cd /usr/ports/sysutils/smartmontools/<br />make<br />make install<br />でportsを使ってソースからコンパイルしてインストールしました。あまり依存関係がなければかなり古いバージョンのOSでもインストールできるようです。<br /><br />/etc/rc.confに<br />smartd_enable="YES"<br />を追加して<br />smartctrl -a /dev/ada0<br />などとするとSMARTのデータがバラバラと表示されます。SMARTがdisableになっているとHDDの情報だけ表示されて終わります。出力されたメッセージの最後に書かれているように，<br />smartctrl -s on /dev/ada0<br />とやればenableになって改めてsmartctl -a /dev/ada0と叩くとちゃんと情報が表示されます。<br /><br /><a href="https://www.kishiro.com/FreeBSD/hdd_malfunction_forcast.html">こちら</a>によると，SMARTの出力のなかで故障と相関の高い項目がいくつかあるようです。それは以下の5つの項目でいずれも値が1以上になると故障の可能性が非常に高くなるとのことです。<br />1 Raw_Read_Error_Rate<br />5 Reallocated_Sector_Ct<br />196 Reallocated_Event_Count<br />198 Offline_Uncorrectable<br />197 Current_Pending_Sector<br /><br />デバイスの名前を1個しか指定できないので7個もHDDがあると超絶面倒なのですが，適当なシェルスクリプトを書いて異常値がでたらメールを送る，というようなことをすればよさそうです。やればできることはわかっているけどやっぱりめんどくさそうです。<br /><br />そんなことを言っているからサーバーが死んでいても気がつかなかったりするんですよね。だめじゃん...。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519754377</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519584589.html</link>
      <title>Mac mini (2024)の設定(その6；emacsからwnn7を使う)</title>
      <pubDate>Wed, 31 Dec 2025 04:00:00 +0900</pubDate>
            <description>UNIXでの日本語変換はもう30年近く，wnnを使っています。オムロンが商用版としてリリースしたwnn7のライセンスを研究室の人が使えるだけ購入していました。研究室にLinuxを使っている人はたくさんいますが，誰もwnn7なんて知りません。結局，私一人だけで使っています。emacsからwnn7の変換サーバーであるjserverに接続するためにwnn7egg (ななたまご)を20年以上使っていますが，ななたまごのコードが古いためにemacsのバージョンが上がるたびにlispのコ..</description>
            <itunes:summary><![CDATA[
UNIXでの日本語変換はもう30年近く，wnnを使っています。オムロンが商用版としてリリースしたwnn7のライセンスを研究室の人が使えるだけ購入していました。研究室にLinuxを使っている人はたくさんいますが，誰もwnn7なんて知りません。結局，私一人だけで使っています。emacsからwnn7の変換サーバーであるjserverに接続するためにwnn7egg (ななたまご)を20年以上使っていますが，ななたまごのコードが古いためにemacsのバージョンが上がるたびにlispのコマンドが対応しなくなってトラブルが発生し続けています。

しかし，世の中にはとても偉い人がいてwnnが使えるように，それもFreeBSDで使えるようにメンテをしてくださっている方がいらっしゃいます。<a href="https://maikaze.cafe.coocan.jp/wnn8.html">FreeBSDにおけるWnn 8</a>というページは私にとっては神ページです。もう拝んでしまうレベルです。

FreeBSDにwnn7をインストールしてjserverは動いています。Mac mini M4のemacsからリモートのjserverにwnn7eggで接続したい，というのがここでの目標です。emacsはQuartzに対応した29.4-1をインストールしました。

上記の神ページはFreeBSDでemacsにwnn7eggを入れてWnn8を使う，という話になっているので，wnn7eggのインストールはportsを使う前提になっています。したがって，FreeBSDのwnn7eggのソースにFreeBSDむけのパッチをあてて，さらに，新しいバージョンのemacsに対応させるために配布されているパッチをあてるという手順が想定されています。

もはやソースを読む気力がないので，FreeBSD上でパッチをあててportsからインストールしたwnn7eggのemacs lispを丸ごとコピーしてきてmac mini M4に移植しました。このあたりはemacs lispで書かれているので実行環境のことを考えなくてよいというメリットがあります。FreeBSD上で

cd /usr/local/share/emacs/site-lisp/
tar zcvf /tmp/wnn7egg.tgz wnn7egg/

としてemacs lispを丸ごとコピーしたtgzファイルを作ってしまいます。このファイルをmac miniの適当なディレクトリにコピーをして，mac mini上で

cd /opt/homebrew/share/emacs/site-lisp/
tar zxvf (somewhere)/wnn7.egg.tgz

として展開します。いったん動くemacs lispができていればどこにでも持っていける，というのはとても便利です。あとは~/.emacs.d/init.elに以下を追記します。

(setq load-path (append '("/opt/homebrew/share/emacs/site-lisp/wnn7egg") load-path))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; for wnn7egg (ななたまご)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(global-set-key "\C-\\" 'toggle-input-method)
(load "wnn7egg-leim")
(set-language-info "Japanese" 'input-method "japanese-egg-wnn7")

(setq enable-double-n-syntax t)
(setq use-kuten-for-period t)
(setq use-touten-for-comma nil)

;;(setq wnn7-server-name "puccini:0")
(setq wnn7-server-name "wagner:0")

;; 句読点の設定
;; "."を押すと"．"にする設定
;(setq its-hira-period "．")
;; ","を押すと"，"にする設定
(setq its-hira-comma "，")

(setq its-enable-fullwidth-alphabet nil)

(setq wnn7-set-boin-kabusoku nil)

wnn7-server-nameのあとのwagnerというのはjserverが動いているサーバーの名前です。これで特に問題なく日本語変換ができるようになりました。
オリジナルのwnn7eggではどうにも動きませんし，とても自分ではそれを解決できません。パッチを公開してくださっているのは本当にありがたいことです。

というわけで，これでなんとかMac Mini (2024)の設定ができて仕事に使えるようになったような気がします。環境構築はやはりたいへんです。もう，新しいコンピュータを買おうという気力がでません...。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
UNIXでの日本語変換はもう30年近く，wnnを使っています。オムロンが商用版としてリリースしたwnn7のライセンスを研究室の人が使えるだけ購入していました。研究室にLinuxを使っている人はたくさんいますが，誰もwnn7なんて知りません。結局，私一人だけで使っています。emacsからwnn7の変換サーバーであるjserverに接続するためにwnn7egg (ななたまご)を20年以上使っていますが，ななたまごのコードが古いためにemacsのバージョンが上がるたびにlispのコマンドが対応しなくなってトラブルが発生し続けています。<br /><br />しかし，世の中にはとても偉い人がいてwnnが使えるように，それもFreeBSDで使えるようにメンテをしてくださっている方がいらっしゃいます。<a href="https://maikaze.cafe.coocan.jp/wnn8.html">FreeBSDにおけるWnn 8</a>というページは私にとっては神ページです。もう拝んでしまうレベルです。<br /><br />FreeBSDにwnn7をインストールしてjserverは動いています。Mac mini M4のemacsからリモートのjserverにwnn7eggで接続したい，というのがここでの目標です。emacsはQuartzに対応した29.4-1をインストールしました。<br /><br />上記の神ページはFreeBSDでemacsにwnn7eggを入れてWnn8を使う，という話になっているので，wnn7eggのインストールはportsを使う前提になっています。したがって，FreeBSDのwnn7eggのソースにFreeBSDむけのパッチをあてて，さらに，新しいバージョンのemacsに対応させるために配布されているパッチをあてるという手順が想定されています。<br /><br />もはやソースを読む気力がないので，FreeBSD上でパッチをあててportsからインストールしたwnn7eggのemacs lispを丸ごとコピーしてきてmac mini M4に移植しました。このあたりはemacs lispで書かれているので実行環境のことを考えなくてよいというメリットがあります。FreeBSD上で<br /><br />cd /usr/local/share/emacs/site-lisp/<br />tar zcvf /tmp/wnn7egg.tgz wnn7egg/<br /><br />としてemacs lispを丸ごとコピーしたtgzファイルを作ってしまいます。このファイルをmac miniの適当なディレクトリにコピーをして，mac mini上で<br /><br />cd /opt/homebrew/share/emacs/site-lisp/<br />tar zxvf (somewhere)/wnn7.egg.tgz<br /><br />として展開します。いったん動くemacs lispができていればどこにでも持っていける，というのはとても便利です。あとは~/.emacs.d/init.elに以下を追記します。<br /><br />(setq load-path (append '("/opt/homebrew/share/emacs/site-lisp/wnn7egg") load-path))<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; for wnn7egg (ななたまご)<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br /><br />(global-set-key "\C-\\" 'toggle-input-method)<br />(load "wnn7egg-leim")<br />(set-language-info "Japanese" 'input-method "japanese-egg-wnn7")<br /><br />(setq enable-double-n-syntax t)<br />(setq use-kuten-for-period t)<br />(setq use-touten-for-comma nil)<br /><br />;;(setq wnn7-server-name "puccini:0")<br />(setq wnn7-server-name "wagner:0")<br /><br />;; 句読点の設定<br />;; "."を押すと"．"にする設定<br />;(setq its-hira-period "．")<br />;; ","を押すと"，"にする設定<br />(setq its-hira-comma "，")<br /><br />(setq its-enable-fullwidth-alphabet nil)<br /><br />(setq wnn7-set-boin-kabusoku nil)<br /><br />wnn7-server-nameのあとのwagnerというのはjserverが動いているサーバーの名前です。これで特に問題なく日本語変換ができるようになりました。<br />オリジナルのwnn7eggではどうにも動きませんし，とても自分ではそれを解決できません。パッチを公開してくださっているのは本当にありがたいことです。<br /><br />というわけで，これでなんとかMac Mini (2024)の設定ができて仕事に使えるようになったような気がします。環境構築はやはりたいへんです。もう，新しいコンピュータを買おうという気力がでません...。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519584589</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519583746.html</link>
      <title>Mac mini (2024)の設定(その5；アプリのインストール 続きの続き)</title>
      <pubDate>Tue, 30 Dec 2025 05:00:00 +0900</pubDate>
            <description>日常生活再開への道は遠く，まだまだインストールが続きます。1. LiveTexのインストール日常でもっともよく使うであろう，TeXをインストールします。以前にメモした通り，brewからインストールすることにします。既に，HomebrewとXcodeはインストール済みですので，いきなりインストールをはじめます。ただし，Xcodeはインストール後に一度起動してライセンスに同意しておかなくてはなりません。brew install --cask mactexでHomebrew経由でM..</description>
            <itunes:summary><![CDATA[
日常生活再開への道は遠く，まだまだインストールが続きます。

1. LiveTexのインストール
日常でもっともよく使うであろう，TeXをインストールします。<a href="http://mor-s.seesaa.net/article/481672599.html">以前</a>にメモした通り，brewからインストールすることにします。既に，HomebrewとXcodeはインストール済みですので，いきなりインストールをはじめます。ただし，Xcodeはインストール後に一度起動してライセンスに同意しておかなくてはなりません。

brew install --cask mactex
でHomebrew経由でMacTeXをインストールします。ファイルが巨大なのでダウンロードにとても長い時間がかかります。インストール時点(2025年12月)ではTeXLive 2025ベースのMacTeXがインストールされました。

私がシェルとしてtcshを使っているからダメなのかもしれませんが，TeX関連の実行ファイルへのパスが通っていません。bashを前提として自動処理がされているのかもしれませんが，ないものはないので，.cshrcのパスに
/usr/local/texlive/2024/bin/universal-darwin
を追加します。さらに，環境変数として
setenv TEXMFLOCAL /usr/local/texlive/texmf-local
setenv TEXMFHOME ~/Library/texmf
も設定しておきます。.cshrcを保存したらターミナルのホームディレクトリでsource .cshrcを走らせてrehashをしてから以下のコマンドでシステムのアップデートと紙のサイズを指定します。

sudo tlmgr update --self --all

それなりに時間がかかりますが，なんとか最後まで終わります。なんかエラーがあるから/usr/local/texlive/2025/texmf-var/web2c/のtlmgr.logとtlmgr-commands.logを読め，と言われますがよくわからないので放置してしまいました。ええんか？

MacTeXやベースとなっているTeX Liveは文字コードはUTF-8がデフォルトになっているようですが，私自身は遠い昔(20世紀)からFreeBSDを使ってきたのでこれまで作った日本語ファイルの文字コードはすべてEUCです。そのためふつうにコンパイルをすると全部文字化けで使えないということになっていました。しかし，HomebrewでインストールしたMacTeXは文字コードを自動判別するようで，platexでコンパイルをすると，文字コードはEUC-JPらしい，と勝手に判断しているメッセージが表示されてできたdviファイルをdvipdfmxでpdfに変換するとちゃんと文字化けしないで表示されます。また用紙サイズもA4になっていました。

xdviで直接dviファイルを表示しようとするとフォントがないといって日本語の文字だけ表示されません。また，pdfLaTexもEUCには対応できないようで正しくコンパイルできませんでした。とりあえず，platex + dvipdfmxが使えれば個人的にはOKです。

なお，Elsevierの論文用LaTeXクラスファイルはpLaTeXでは動かないのでpdfLaTexを使わねばならないようです。しかしpdfLaTexは日本語の処理は少し難易度が高そうです。Elsevierのジャーナルなので英語で書くに決まっていてASCII文字だけ使えばよいので論文をかくうえでは問題はないのですが，今後，pdfLaTeXを使わねばならないとなるともはやEUCはどうしようもない，ということになりそうです。新しい環境についていけなくなっているので，これから先が思いやられます。

2. emacs-lispのインストール

2.0 init.elに初期設定
emacsは起動時に~/.emacs.d/init.elを見に行くので初期設定をこのファイルに書き込んでおきます。.emacs.dディレクトリがなければ作ります。一度でもemacsを起動したことがあれば勝手に作られていると思います。

日本語はEUCをデフォルトにしているのでその設定をしておきます。~/.emacs.d/init.elに以下を書いておきます。

(add-to-list 'load-path "/opt/homebrew/share/emacs/site-lisp")
;;
(set-language-environment "Japanese")
;;(prefer-coding-system 'euc-jp)   ;; UTF-8を使うなら不要

2.1 packageの設定
~/.emacs.d/init.elに以下を追記。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; package
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
を書きます。これでmelpaからパッケージを読み込むことができるようになります。，

emacsを起動して，
M-x package-list-packages
とすると，インストール可能なパッケージのリストが表示されます。

2.2 YaTeXのインストール
M-x package-install
として，インストールしたいパッケージの名前を聞かれたら，yatexと叩くと勝手にインストールをします。何かあれこれ文句を言ってきますが，気にしないことにします。兎に角，インストールできた，というメッセージは表示されるのでOKなのだと思います。インストールができたら，~/.emacs.d/init.elに以下を追記します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; YaTeX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(setq auto-mode-alist
(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)

(setq tex-command "platex")
(setq dvi2-command "dvipdfmx")
;;;(setq dviprint-command-format "dvips %f %t %s")
(setq dviprint-command-format "open -a preview %s.pdf")
(setq dviprint-from-format "-p %b")
(setq dviprint-to-format "-l %e")

tex-commandなどのコマンド名は実際にインストールするLaTeXのパッケージの名前にあわせて編集します。
dvi2-commandはこれまでxdviを使っていましたが，TeXLiveをインストールするとxdviに日本語を表示するのはワナが多いので，すっぱりあきらめてdvipdfmxを使ってしまいます。C-c t lとやるとdviprint-command-formatに指定したコマンドが実行されるので，previewでpdfファイルを表示するように設定しています。

C-c t jでplatex hoge
C-c t pでdvipdfmx hoge
C-c t lでopen -a preview hoge.pdf

という具合に実行されます。

2.3 yahtml
yatexをインストールするとyahtmlもインストールされます。手動でyahtmlを起動するには，
M-x yahtml-mode
とすればOKです。~/.emacs.d/init.elに

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; YaHTML
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq auto-mode-alist
(cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist))
(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t)
;;;(setq yahtml-www-browser "mozilla")
;;;(setq yahtml-kanji-code 3) ; 1: Shift_JIS, 2: ISO-2022-JP, 3: EUC

を書いておけばhtmlファイルを開くとyahtmlが勝手に起動します。

2.4 migemoのインストール
既にHomebrewでcmigemoはインストールしているので，migemoをmelpaからインストールします。
M-x package-install
として，migemoと叩けば勝手にインストールされます。

~/.emacs.d/init.elに以下を追加します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Migemo
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'migemo)
(setq migemo-command "/usr/local/bin/cmigemo")
(setq migemo-options '("-q" "--emacs"))
;;(setq migemo-dictionary "/opt/homebrew/Cellar/cmigemo/20110227/share/migemo/utf-8/migemo-dict")
(setq migemo-dictionary "/opt/homebrew/Cellar/cmigemo/20110227/share/migemo/euc-jp/migemo-dict")
(setq migemo-user-dictionary nil)
;;(setq migemo-coding-system 'utf-8-unix)
(setq migemo-coding-system 'euc-jp-unix)
(setq migemo-regex-dictionary nil)
(load-library "migemo")
(migemo-init)

これでなんとなく動いているようです。utf-8かeuc-jpかは文字コードによって選べばよさそうです。

2.5 スペルチェックのインストール
スペルチェックはaspellを使います。Homebrewでaspellはインストールしているので設定だけすればOKです。

ホームディレクトリで
cat &gt; ~/.aspell.conf
lang en_US
^D
と叩いてaspellの設定ファイルを作って英語だけスペルチェックするように設定します。
続いて~/.emacs.d/init.elに以下の設定を追加します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; aspell
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
(setq-default ispell-program-name "/opt/homebrew/bin/aspell")
(with-eval-after-load "ispell"
(setq ispell-local-dictionary "en_US")
'(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))

ispell-program-nameの設定値はaspellだけでよさそうなのですが，aspellというファイルが見つからない，というエラーがでるのでフルパスを指定しています。

2.6 flyspellモードの設定
書いている文書のスペルミスをリアルタイムにみつけて赤い波線をつける機能がemacsにはデフォルトでついています(知らなかった...)。TeXで文書を作っている時だけ使う，ということで，~/.emacs.d/init.elに以下を追記します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; flyspell mode during yatex mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package flyspell
:hook (yatex-mode . flyspell-mode))

4. ggplot2のインストール
R用のグラフィック用パッケージです。あまりごちゃごちゃ言わずにインストールしておけ，というようなものだと勝手に思っています。

コンソールでRと叩いてRを起動して，

install.packages("ggplot2")

とたたきます。すると，

--- このセッションで使うために、CRAN のミラーサイトを選んでください ---
Secure CRAN mirrors

と表示されるので，国内のサイトの番号を選ぶとあとは延々とメッセージを表示しながらインストールが進みます。特にエラーがでなければ完了です。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
日常生活再開への道は遠く，まだまだインストールが続きます。<br /><br />1. LiveTexのインストール<br />日常でもっともよく使うであろう，TeXをインストールします。<a href="http://mor-s.seesaa.net/article/481672599.html">以前</a>にメモした通り，brewからインストールすることにします。既に，HomebrewとXcodeはインストール済みですので，いきなりインストールをはじめます。ただし，Xcodeはインストール後に一度起動してライセンスに同意しておかなくてはなりません。<br /><br />brew install --cask mactex<br />でHomebrew経由でMacTeXをインストールします。ファイルが巨大なのでダウンロードにとても長い時間がかかります。インストール時点(2025年12月)ではTeXLive 2025ベースのMacTeXがインストールされました。<br /><br />私がシェルとしてtcshを使っているからダメなのかもしれませんが，TeX関連の実行ファイルへのパスが通っていません。bashを前提として自動処理がされているのかもしれませんが，ないものはないので，.cshrcのパスに<br />/usr/local/texlive/2024/bin/universal-darwin<br />を追加します。さらに，環境変数として<br />setenv TEXMFLOCAL /usr/local/texlive/texmf-local<br />setenv TEXMFHOME ~/Library/texmf<br />も設定しておきます。.cshrcを保存したらターミナルのホームディレクトリでsource .cshrcを走らせてrehashをしてから以下のコマンドでシステムのアップデートと紙のサイズを指定します。<br /><br />sudo tlmgr update --self --all<br /><br />それなりに時間がかかりますが，なんとか最後まで終わります。なんかエラーがあるから/usr/local/texlive/2025/texmf-var/web2c/のtlmgr.logとtlmgr-commands.logを読め，と言われますがよくわからないので放置してしまいました。ええんか？<br /><br />MacTeXやベースとなっているTeX Liveは文字コードはUTF-8がデフォルトになっているようですが，私自身は遠い昔(20世紀)からFreeBSDを使ってきたのでこれまで作った日本語ファイルの文字コードはすべてEUCです。そのためふつうにコンパイルをすると全部文字化けで使えないということになっていました。しかし，HomebrewでインストールしたMacTeXは文字コードを自動判別するようで，platexでコンパイルをすると，文字コードはEUC-JPらしい，と勝手に判断しているメッセージが表示されてできたdviファイルをdvipdfmxでpdfに変換するとちゃんと文字化けしないで表示されます。また用紙サイズもA4になっていました。<br /><br />xdviで直接dviファイルを表示しようとするとフォントがないといって日本語の文字だけ表示されません。また，pdfLaTexもEUCには対応できないようで正しくコンパイルできませんでした。とりあえず，platex + dvipdfmxが使えれば個人的にはOKです。<br /><br />なお，Elsevierの論文用LaTeXクラスファイルはpLaTeXでは動かないのでpdfLaTexを使わねばならないようです。しかしpdfLaTexは日本語の処理は少し難易度が高そうです。Elsevierのジャーナルなので英語で書くに決まっていてASCII文字だけ使えばよいので論文をかくうえでは問題はないのですが，今後，pdfLaTeXを使わねばならないとなるともはやEUCはどうしようもない，ということになりそうです。新しい環境についていけなくなっているので，これから先が思いやられます。<br /><br />2. emacs-lispのインストール<br /><br />2.0 init.elに初期設定<br />emacsは起動時に~/.emacs.d/init.elを見に行くので初期設定をこのファイルに書き込んでおきます。.emacs.dディレクトリがなければ作ります。一度でもemacsを起動したことがあれば勝手に作られていると思います。<br /><br />日本語はEUCをデフォルトにしているのでその設定をしておきます。~/.emacs.d/init.elに以下を書いておきます。<br /><br />(add-to-list 'load-path "/opt/homebrew/share/emacs/site-lisp")<br />;;<br />(set-language-environment "Japanese")<br />;;(prefer-coding-system 'euc-jp)   ;; UTF-8を使うなら不要<br /><br />2.1 packageの設定<br />~/.emacs.d/init.elに以下を追記。<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; package<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />(require 'package)<br />(add-to-list 'package-archives<br />'("melpa" . "<a href="https://melpa.org/packages/" target="_blank">https://melpa.org/packages/</a>") t)<br />(add-to-list 'package-archives<br />'("melpa-stable" . "<a href="https://stable.melpa.org/packages/" target="_blank">https://stable.melpa.org/packages/</a>") t)<br />(package-initialize)<br />を書きます。これでmelpaからパッケージを読み込むことができるようになります。，<br /><br />emacsを起動して，<br />M-x package-list-packages<br />とすると，インストール可能なパッケージのリストが表示されます。<br /><br />2.2 YaTeXのインストール<br />M-x package-install<br />として，インストールしたいパッケージの名前を聞かれたら，yatexと叩くと勝手にインストールをします。何かあれこれ文句を言ってきますが，気にしないことにします。兎に角，インストールできた，というメッセージは表示されるのでOKなのだと思います。インストールができたら，~/.emacs.d/init.elに以下を追記します。<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; YaTeX<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br /><br />(setq auto-mode-alist<br />(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))<br />(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)<br /><br />(setq tex-command "platex")<br />(setq dvi2-command "dvipdfmx")<br />;;;(setq dviprint-command-format "dvips %f %t %s")<br />(setq dviprint-command-format "open -a preview %s.pdf")<br />(setq dviprint-from-format "-p %b")<br />(setq dviprint-to-format "-l %e")<br /><br />tex-commandなどのコマンド名は実際にインストールするLaTeXのパッケージの名前にあわせて編集します。<br />dvi2-commandはこれまでxdviを使っていましたが，TeXLiveをインストールするとxdviに日本語を表示するのはワナが多いので，すっぱりあきらめてdvipdfmxを使ってしまいます。C-c t lとやるとdviprint-command-formatに指定したコマンドが実行されるので，previewでpdfファイルを表示するように設定しています。<br /><br />C-c t jでplatex hoge<br />C-c t pでdvipdfmx hoge<br />C-c t lでopen -a preview hoge.pdf<br /><br />という具合に実行されます。<br /><br />2.3 yahtml<br />yatexをインストールするとyahtmlもインストールされます。手動でyahtmlを起動するには，<br />M-x yahtml-mode<br />とすればOKです。~/.emacs.d/init.elに<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; YaHTML<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />(setq auto-mode-alist<br />(cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist))<br />(autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t)<br />;;;(setq yahtml-www-browser "mozilla")<br />;;;(setq yahtml-kanji-code 3) ; 1: Shift_JIS, 2: ISO-2022-JP, 3: EUC<br /><br />を書いておけばhtmlファイルを開くとyahtmlが勝手に起動します。<br /><br />2.4 migemoのインストール<br />既にHomebrewでcmigemoはインストールしているので，migemoをmelpaからインストールします。<br />M-x package-install<br />として，migemoと叩けば勝手にインストールされます。<br /><br />~/.emacs.d/init.elに以下を追加します。<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; Migemo<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />(require 'migemo)<br />(setq migemo-command "/usr/local/bin/cmigemo")<br />(setq migemo-options '("-q" "--emacs"))<br />;;(setq migemo-dictionary "/opt/homebrew/Cellar/cmigemo/20110227/share/migemo/utf-8/migemo-dict")<br />(setq migemo-dictionary "/opt/homebrew/Cellar/cmigemo/20110227/share/migemo/euc-jp/migemo-dict")<br />(setq migemo-user-dictionary nil)<br />;;(setq migemo-coding-system 'utf-8-unix)<br />(setq migemo-coding-system 'euc-jp-unix)<br />(setq migemo-regex-dictionary nil)<br />(load-library "migemo")<br />(migemo-init)<br /><br />これでなんとなく動いているようです。utf-8かeuc-jpかは文字コードによって選べばよさそうです。<br /><br />2.5 スペルチェックのインストール<br />スペルチェックはaspellを使います。Homebrewでaspellはインストールしているので設定だけすればOKです。<br /><br />ホームディレクトリで<br />cat > ~/.aspell.conf<br />lang en_US<br />^D<br />と叩いてaspellの設定ファイルを作って英語だけスペルチェックするように設定します。<br />続いて~/.emacs.d/init.elに以下の設定を追加します。<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; aspell<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;;<br />(setq-default ispell-program-name "/opt/homebrew/bin/aspell")<br />(with-eval-after-load "ispell"<br />(setq ispell-local-dictionary "en_US")<br />'(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))<br /><br />ispell-program-nameの設定値はaspellだけでよさそうなのですが，aspellというファイルが見つからない，というエラーがでるのでフルパスを指定しています。<br /><br />2.6 flyspellモードの設定<br />書いている文書のスペルミスをリアルタイムにみつけて赤い波線をつける機能がemacsにはデフォルトでついています(知らなかった...)。TeXで文書を作っている時だけ使う，ということで，~/.emacs.d/init.elに以下を追記します。<br /><br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />;; flyspell mode during yatex mode<br />;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />(use-package flyspell<br />:hook (yatex-mode . flyspell-mode))<br /><br />4. ggplot2のインストール<br />R用のグラフィック用パッケージです。あまりごちゃごちゃ言わずにインストールしておけ，というようなものだと勝手に思っています。<br /><br />コンソールでRと叩いてRを起動して，<br /><br />install.packages("ggplot2")<br /><br />とたたきます。すると，<br /><br />--- このセッションで使うために、CRAN のミラーサイトを選んでください ---<br />Secure CRAN mirrors<br /><br />と表示されるので，国内のサイトの番号を選ぶとあとは延々とメッセージを表示しながらインストールが進みます。特にエラーがでなければ完了です。<br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519583746</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519518518.html</link>
      <title>iPadからsshでサーバーにログインしてEUCコードの日本語環境でターミナル上でemacsを立ち上げてmewでメールを読む</title>
      <pubDate>Sun, 21 Dec 2025 04:00:00 +0900</pubDate>
            <description>いまどきEUCか，というツッコミはなしです。諸般の事情によりiPad Air (M2)を導入しました。これまで，リモートからメールを読むときは，macOSのiterm2からsshでサーバーに接続してemacs -nwとしてターミナル上でmewを使っていました。GUIが不要なのでどのような環境でもsshさえ繋がればメールが読めるし，ローカルのパソコンにメールを引っ張ってこないため，メールのデータをサーバー側に一元的に保存できるということがメリットだと考えていました。もちろん，L..</description>
            <itunes:summary><![CDATA[
いまどきEUCか，というツッコミはなしです。

諸般の事情によりiPad Air (M2)を導入しました。これまで，リモートからメールを読むときは，macOSのiterm2からsshでサーバーに接続してemacs -nwとしてターミナル上でmewを使っていました。GUIが不要なのでどのような環境でもsshさえ繋がればメールが読めるし，ローカルのパソコンにメールを引っ張ってこないため，メールのデータをサーバー側に一元的に保存できるということがメリットだと考えていました。もちろん，LAN内ではX windowを使ってサーバー側のemacsの画面をローカル側に表示して普通にemacsを起動してメールを読んでいます。sshでトンネルを設定すればX windowの画面もリモート側に転送できますが，イマイチうまく使えていないので，結局，ターミナルを使うというのがもっとも汎用性が高くて無敵でした。

メールを読んでいるサーバーはFreeBSDで，昭和の時代から使っている環境を引き継いでいるので文字コードはEUCを基本としています。当然，emacsもEUCで日本語を読み，書き，表示するという仕様をずっと維持してきました。

macOS上でiterm2を使う場合はターミナルで表示する文字コードを日本語EUCに設定するだけなのでなんの困難もありませんでした。それと同じことがiPadでもできる，と信じて疑っていなかったのですが，手をつけてみると，これは容易ではないということがわかりました。

iOS上で使えるターミナルソフトはいくらでもあるのですが，ターミナルの文字コードを日本語EUCにできるものは，私が調べた限りではどうやらpromptというアプリに限られるようでした。prompt 2は買い切りのライセンスだったようですが，現時点では配布されていなくてprompt 3に変わっていてサブスクが基本で，買い切りはとても高価，という素敵仕様になっていました。このソフトの開発元はバージョンアップするたびに課金システムを変えて，古いユーザーへの配慮もないような話もちらほらみかけるので，そんな開発元にサブスクで税金を払い続けるようなことはやりたくないので速攻で却下しました。

iPad上で使えるsshターミナルはTermius, WebSSH, a-Shell, Shelly, Blink Shell, xTerm256などいくらでもありますが，無料の範囲で試した限りではprompt以外は日本語はすべてUTF-8だけしか対応していませんでした。prompt 3は試していませんがApp Storeのコメントをみると日本語がうまく通らないようなことが書かれているのでそれほど期待できないのかもしれません。試していないのでなんともいえませんが。

ほぼ1日中ターミナルソフトを取っ替え引っ替え試していましたが，にっちもさっちもいかなくなって，手詰まりになったのですが，検索をしていたらたまたま，iSHというプロジェクトがヒットしました。iSHはiOSデバイスでローカルに実行されるLinux環境を提供するものらしいです。AppStoreでiSHを検索するとすぐにヒットするのでさっさとインストールしてしまいます。

起動するとターミナルが起動して#が表示されるのでどうやらroot権限でシェルが動いている(iSHの環境のなかで，ですが)ようです。/etc/passwdをみるとashというあまり(私は)よく知らないシェルが設定されていました。setenvコマンドはないようなのでどうやらbash系のシェルのようです。設定ファイルも.profileです。起動してさっそくsshと叩いたらそんなコマンドはないよ，とツレない返事がかえってきました。どうやらLinuxのように必要なコマンド類はインストールしなくてはならないようです。

apk add openssh

と叩くとsshがインストールされます。たぶん，なんちゃってaptコマンドなのでしょう。

これでsshでサーバーにログインしてemacs -nwとしてターミナル上でemacsを起動してewでメールを読もうとしましたが，予想通り文字化けします。ターミナル自体が日本語表示できるのか，ということもあるのでいったんemacsを終了してターミナルのシェルにもどって，サーバー上の適当なテキストファイルを表示します。テキストファイルはほぼ例外なくEUCで保存しているので，

cat hoge.txt

とやるとバケバケです。しかし，

nkf -w hoge.txt

ならちゃんと日本語が表示されました。-wはUTF-8で出力するオプションです。要するに，UTF-8なら日本語を表示できる，ということです。macOSのiterm2のようにターミナルの文字コードを日本語EUCにすれば問題ないはずです。ところがどこをどう調べてもEUCに変更するというオプションは見つかりません。Geminiに聞いてみると，そりゃ無理だよ，とあっさり言われてしまいました。

あ，そうなんだ...。ダメじゃん。

せっかくGeminiを起動したので，iSHからsshでログインしたサーバーのメールをemacs + mewで読む方法を聞いてみました。そうすると，彼(彼女？)はemacsが文字を表示するときにUTF-8を使うようにすればよい，という御宣託でした。いや，それだとiPadから接続したときはちゃんと表示されるけど今度はiterm2から接続したときはEUCで表示できないとダメなんですけど。

それならiSHで環境変数TERMがlinuxと設定されていたらそのときだけUTF-8で表示するように条件分岐を設定すればよい，と言ってきました。いや，iSHもiterm2もTERM=xterm-256colorとなっていて区別がつきません。TERMの値を適当な文字列にするとemacs -nwで起動しようとするとそんなターミナルはデータベースにないよ，と言われて起動しません。データベースに手を入れるのはうれしくない，と思って却下しました。

次は適当な環境変数，たとえばIS_ISH=trueと設定してからサーバーにログインして.emacsでIS_ISHが設定されていたらUTF-8で表示するように条件分岐を設定すればよいと云うことでした。やってみてもサーバー側にログインしたときにIS_ISHが引き継がれていないので意味がありません。Geminiに苦情を申し入れたら，LC_IS_ISH=trueと設定しろ，と言われました。LC_*という環境変数はログイン先に自動的に引き継がれるのだそうです。知らなかった。

というわけでやってみたけど引き継がれません。サーバー側の/etc/ssh/sshd_configに
AcceptEnv LC_*
を追記します。追記したら
/etr/rc.d/sshd restart
としてsshdを再起動します(FreeBSDの場合のコマンドです)。

macOSのiterm2からサーバーにログインすると確かに環境変数のLC_から始まるものは値が引き継がれていました。しかし，iSHからは同じようにやっても引き継がれません。理由を聞くとiSH側のsshが環境変数をサーバーに引き渡す設定になってないことが原因だ，ということでした。そりゃダメだ。

iSHの/root/.ssh/configを新たに作成して，

Host *
    SendEnv LC_IS_ISH

を書き込んで保存します。これでiSHからサーバーに接続すると環境変数LC_IS_ISH=trueが定義されていました。

ここまで死ぬほど長かったです。

最後に，サーバー側のemacsを設定します。~/.emacs.d/init.elの一番最後に以下を追記します。これはGeminiが提案してきた設定ファイルそのままです。

;; --- iSH 接続時専用の表示最適化設定 ---
(when (getenv "LC_IS_ISH")
  ;; 1. ターミナルへの出力（iSHの画面表示）を UTF-8 に
  (set-terminal-coding-system 'utf-8)

  ;; 2. iSHからのキーボード入力を UTF-8 として受け取る
  (set-keyboard-coding-system 'utf-8)

  ;; 3. Mewのサマリーや本文表示における文字コード処理の優先度
  ;; ファイルの実体（EUC-JP）は維持しつつ、表示の橋渡しを安定させます
  (when (fboundp 'set-buffer-file-coding-system)
    (setq-default buffer-file-coding-system 'euc-jp))

  (message "iSH detected: Terminal output switched to UTF-8 for EUC-JP environment."))

これで，iSHから接続したときだけemacs -nwでたちあげたときに日本語がUTF-8で表示され，文字化けしないでメールが読めるようになりました。

超絶ハマりました。以上の手順を整理すると，以下の通りです。やり方がわかれば簡単なことなんだけどなぁ。

サーバー(FreeBSD)側の作業：
1. /etc/ssh/sshd_configの最後に
AcceptEnv LC_*
を追記。
2. /etc/rc.d/sshd restart
3. ~/.emacs.d/init.elの最後に以下を追記
;; --- iSH 接続時専用の表示最適化設定 ---
(when (getenv "LC_IS_ISH")
  ;; 1. ターミナルへの出力（iSHの画面表示）を UTF-8 に
  (set-terminal-coding-system 'utf-8)

  ;; 2. iSHからのキーボード入力を UTF-8 として受け取る
  (set-keyboard-coding-system 'utf-8)

  ;; 3. Mewのサマリーや本文表示における文字コード処理の優先度
  ;; ファイルの実体（EUC-JP）は維持しつつ、表示の橋渡しを安定させます
  (when (fboundp 'set-buffer-file-coding-system)
    (setq-default buffer-file-coding-system 'euc-jp))

  (message "iSH detected: Terminal output switched to UTF-8 for EUC-JP environment."))

クライアント(iPad Air (M2))側の作業
1. iSHをインストール
2. apk add openssh
3. /root/.profileに以下を追記
export LC_IS_ISH=true
4. /root/.ssh/configに以下を追記
Host *
    SendEnv LC_IS_ISH

これでssh USER@serrver.comとしてサーバーに接続してemacs -nwとしてからmewでメールを表示するとちゃんと日本語が読めるはずです。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
いまどきEUCか，というツッコミはなしです。<br /><br />諸般の事情によりiPad Air (M2)を導入しました。これまで，リモートからメールを読むときは，macOSのiterm2からsshでサーバーに接続してemacs -nwとしてターミナル上でmewを使っていました。GUIが不要なのでどのような環境でもsshさえ繋がればメールが読めるし，ローカルのパソコンにメールを引っ張ってこないため，メールのデータをサーバー側に一元的に保存できるということがメリットだと考えていました。もちろん，LAN内ではX windowを使ってサーバー側のemacsの画面をローカル側に表示して普通にemacsを起動してメールを読んでいます。sshでトンネルを設定すればX windowの画面もリモート側に転送できますが，イマイチうまく使えていないので，結局，ターミナルを使うというのがもっとも汎用性が高くて無敵でした。<br /><br />メールを読んでいるサーバーはFreeBSDで，昭和の時代から使っている環境を引き継いでいるので文字コードはEUCを基本としています。当然，emacsもEUCで日本語を読み，書き，表示するという仕様をずっと維持してきました。<br /><br />macOS上でiterm2を使う場合はターミナルで表示する文字コードを日本語EUCに設定するだけなのでなんの困難もありませんでした。それと同じことがiPadでもできる，と信じて疑っていなかったのですが，手をつけてみると，これは容易ではないということがわかりました。<br /><br />iOS上で使えるターミナルソフトはいくらでもあるのですが，ターミナルの文字コードを日本語EUCにできるものは，私が調べた限りではどうやらpromptというアプリに限られるようでした。prompt 2は買い切りのライセンスだったようですが，現時点では配布されていなくてprompt 3に変わっていてサブスクが基本で，買い切りはとても高価，という素敵仕様になっていました。このソフトの開発元はバージョンアップするたびに課金システムを変えて，古いユーザーへの配慮もないような話もちらほらみかけるので，そんな開発元にサブスクで税金を払い続けるようなことはやりたくないので速攻で却下しました。<br /><br />iPad上で使えるsshターミナルはTermius, WebSSH, a-Shell, Shelly, Blink Shell, xTerm256などいくらでもありますが，無料の範囲で試した限りではprompt以外は日本語はすべてUTF-8だけしか対応していませんでした。prompt 3は試していませんがApp Storeのコメントをみると日本語がうまく通らないようなことが書かれているのでそれほど期待できないのかもしれません。試していないのでなんともいえませんが。<br /><br />ほぼ1日中ターミナルソフトを取っ替え引っ替え試していましたが，にっちもさっちもいかなくなって，手詰まりになったのですが，検索をしていたらたまたま，iSHというプロジェクトがヒットしました。iSHはiOSデバイスでローカルに実行されるLinux環境を提供するものらしいです。AppStoreでiSHを検索するとすぐにヒットするのでさっさとインストールしてしまいます。<br /><br />起動するとターミナルが起動して#が表示されるのでどうやらroot権限でシェルが動いている(iSHの環境のなかで，ですが)ようです。/etc/passwdをみるとashというあまり(私は)よく知らないシェルが設定されていました。setenvコマンドはないようなのでどうやらbash系のシェルのようです。設定ファイルも.profileです。起動してさっそくsshと叩いたらそんなコマンドはないよ，とツレない返事がかえってきました。どうやらLinuxのように必要なコマンド類はインストールしなくてはならないようです。<br /><br />apk add openssh<br /><br />と叩くとsshがインストールされます。たぶん，なんちゃってaptコマンドなのでしょう。<br /><br />これでsshでサーバーにログインしてemacs -nwとしてターミナル上でemacsを起動してewでメールを読もうとしましたが，予想通り文字化けします。ターミナル自体が日本語表示できるのか，ということもあるのでいったんemacsを終了してターミナルのシェルにもどって，サーバー上の適当なテキストファイルを表示します。テキストファイルはほぼ例外なくEUCで保存しているので，<br /><br />cat hoge.txt<br /><br />とやるとバケバケです。しかし，<br /><br />nkf -w hoge.txt<br /><br />ならちゃんと日本語が表示されました。-wはUTF-8で出力するオプションです。要するに，UTF-8なら日本語を表示できる，ということです。macOSのiterm2のようにターミナルの文字コードを日本語EUCにすれば問題ないはずです。ところがどこをどう調べてもEUCに変更するというオプションは見つかりません。Geminiに聞いてみると，そりゃ無理だよ，とあっさり言われてしまいました。<br /><br />あ，そうなんだ...。ダメじゃん。<br /><br />せっかくGeminiを起動したので，iSHからsshでログインしたサーバーのメールをemacs + mewで読む方法を聞いてみました。そうすると，彼(彼女？)はemacsが文字を表示するときにUTF-8を使うようにすればよい，という御宣託でした。いや，それだとiPadから接続したときはちゃんと表示されるけど今度はiterm2から接続したときはEUCで表示できないとダメなんですけど。<br /><br />それならiSHで環境変数TERMがlinuxと設定されていたらそのときだけUTF-8で表示するように条件分岐を設定すればよい，と言ってきました。いや，iSHもiterm2もTERM=xterm-256colorとなっていて区別がつきません。TERMの値を適当な文字列にするとemacs -nwで起動しようとするとそんなターミナルはデータベースにないよ，と言われて起動しません。データベースに手を入れるのはうれしくない，と思って却下しました。<br /><br />次は適当な環境変数，たとえばIS_ISH=trueと設定してからサーバーにログインして.emacsでIS_ISHが設定されていたらUTF-8で表示するように条件分岐を設定すればよいと云うことでした。やってみてもサーバー側にログインしたときにIS_ISHが引き継がれていないので意味がありません。Geminiに苦情を申し入れたら，LC_IS_ISH=trueと設定しろ，と言われました。LC_*という環境変数はログイン先に自動的に引き継がれるのだそうです。知らなかった。<br /><br />というわけでやってみたけど引き継がれません。サーバー側の/etc/ssh/sshd_configに<br />AcceptEnv LC_*<br />を追記します。追記したら<br />/etr/rc.d/sshd restart<br />としてsshdを再起動します(FreeBSDの場合のコマンドです)。<br /><br />macOSのiterm2からサーバーにログインすると確かに環境変数のLC_から始まるものは値が引き継がれていました。しかし，iSHからは同じようにやっても引き継がれません。理由を聞くとiSH側のsshが環境変数をサーバーに引き渡す設定になってないことが原因だ，ということでした。そりゃダメだ。<br /><br />iSHの/root/.ssh/configを新たに作成して，<br /><br />Host *<br />    SendEnv LC_IS_ISH<br /><br />を書き込んで保存します。これでiSHからサーバーに接続すると環境変数LC_IS_ISH=trueが定義されていました。<br /><br />ここまで死ぬほど長かったです。<br /><br />最後に，サーバー側のemacsを設定します。~/.emacs.d/init.elの一番最後に以下を追記します。これはGeminiが提案してきた設定ファイルそのままです。<br /><br />;; --- iSH 接続時専用の表示最適化設定 ---<br />(when (getenv "LC_IS_ISH")<br />  ;; 1. ターミナルへの出力（iSHの画面表示）を UTF-8 に<br />  (set-terminal-coding-system 'utf-8)<br /><br />  ;; 2. iSHからのキーボード入力を UTF-8 として受け取る<br />  (set-keyboard-coding-system 'utf-8)<br /><br />  ;; 3. Mewのサマリーや本文表示における文字コード処理の優先度<br />  ;; ファイルの実体（EUC-JP）は維持しつつ、表示の橋渡しを安定させます<br />  (when (fboundp 'set-buffer-file-coding-system)<br />    (setq-default buffer-file-coding-system 'euc-jp))<br /><br />  (message "iSH detected: Terminal output switched to UTF-8 for EUC-JP environment."))<br /><br />これで，iSHから接続したときだけemacs -nwでたちあげたときに日本語がUTF-8で表示され，文字化けしないでメールが読めるようになりました。<br /><br />超絶ハマりました。以上の手順を整理すると，以下の通りです。やり方がわかれば簡単なことなんだけどなぁ。<br /><br />サーバー(FreeBSD)側の作業：<br />1. /etc/ssh/sshd_configの最後に<br />AcceptEnv LC_*<br />を追記。<br />2. /etc/rc.d/sshd restart<br />3. ~/.emacs.d/init.elの最後に以下を追記<br />;; --- iSH 接続時専用の表示最適化設定 ---<br />(when (getenv "LC_IS_ISH")<br />  ;; 1. ターミナルへの出力（iSHの画面表示）を UTF-8 に<br />  (set-terminal-coding-system 'utf-8)<br /><br />  ;; 2. iSHからのキーボード入力を UTF-8 として受け取る<br />  (set-keyboard-coding-system 'utf-8)<br /><br />  ;; 3. Mewのサマリーや本文表示における文字コード処理の優先度<br />  ;; ファイルの実体（EUC-JP）は維持しつつ、表示の橋渡しを安定させます<br />  (when (fboundp 'set-buffer-file-coding-system)<br />    (setq-default buffer-file-coding-system 'euc-jp))<br /><br />  (message "iSH detected: Terminal output switched to UTF-8 for EUC-JP environment."))<br /><br />クライアント(iPad Air (M2))側の作業<br />1. iSHをインストール<br />2. apk add openssh<br />3. /root/.profileに以下を追記<br />export LC_IS_ISH=true<br />4. /root/.ssh/configに以下を追記<br />Host *<br />    SendEnv LC_IS_ISH<br /><br />これでssh USER@serrver.comとしてサーバーに接続してemacs -nwとしてからmewでメールを表示するとちゃんと日本語が読めるはずです。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519518518</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519485082.html</link>
      <title>Cantataがローカルのmpdサーバーに接続できない</title>
      <pubDate>Thu, 18 Dec 2025 05:00:00 +0900</pubDate>
            <description>TahoeにインストールしたCantataがローカルネットワークに接続できず音楽ファイルが再生できません。pingも通るし，telnet SERVER 6600で接続すればコマンドを受け付けるのでOSレベルでブロックされているようです。一回だけ，セキュリティのポップアップが立ち上がって接続を許可するか，と聞かれたのでOKとすると接続できました。しかし，その後，再度Cantataを起動するとやはり接続できません。本来ならシステム環境設定のプライバシとセキュリティの項目内のローカ..</description>
            <itunes:summary><![CDATA[
TahoeにインストールしたCantataがローカルネットワークに接続できず音楽ファイルが再生できません。pingも通るし，telnet SERVER 6600で接続すればコマンドを受け付けるのでOSレベルでブロックされているようです。

一回だけ，セキュリティのポップアップが立ち上がって接続を許可するか，と聞かれたのでOKとすると接続できました。しかし，その後，再度Cantataを起動するとやはり接続できません。

本来ならシステム環境設定のプライバシとセキュリティの項目内のローカルネットワークに関係するアプリがリストアップされるべきなのですが，Cantataは表示されません。アプリケーションフォルダに保存しないで自分のローカルのapplication_localというフォルダからCantataを起動しているのが問題かもしれませんが，そういう問題だと勘弁してくれと思います。Geminiに聞いてみるアプリのリストが表示されない場合，どうしようもない，ということでした。

しかし，アプリの本体を直接起動すれば問題を回避できるようです。ターミナルをたちあげて，

cd /Volumes/LocalData/application_local/Cantata.app/Contents/MacOS/
./cantata &

とやるとCantataが起動して何事もなかったようにmpdサーバーに接続できます。

なんなんだ，と叫びたい気分です。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
TahoeにインストールしたCantataがローカルネットワークに接続できず音楽ファイルが再生できません。pingも通るし，telnet SERVER 6600で接続すればコマンドを受け付けるのでOSレベルでブロックされているようです。<br /><br />一回だけ，セキュリティのポップアップが立ち上がって接続を許可するか，と聞かれたのでOKとすると接続できました。しかし，その後，再度Cantataを起動するとやはり接続できません。<br /><br />本来ならシステム環境設定のプライバシとセキュリティの項目内のローカルネットワークに関係するアプリがリストアップされるべきなのですが，Cantataは表示されません。アプリケーションフォルダに保存しないで自分のローカルのapplication_localというフォルダからCantataを起動しているのが問題かもしれませんが，そういう問題だと勘弁してくれと思います。Geminiに聞いてみるアプリのリストが表示されない場合，どうしようもない，ということでした。<br /><br />しかし，アプリの本体を直接起動すれば問題を回避できるようです。ターミナルをたちあげて，<br /><br />cd /Volumes/LocalData/application_local/Cantata.app/Contents/MacOS/<br />./cantata &<br /><br />とやるとCantataが起動して何事もなかったようにmpdサーバーに接続できます。<br /><br />なんなんだ，と叫びたい気分です。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519485082</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519470272.html</link>
      <title>Mac mini (2024)の設定(その4；アプリのインストール 続き)</title>
      <pubDate>Wed, 17 Dec 2025 04:00:00 +0900</pubDate>
            <description>普通に生活するためのアプリのインストールはここからが本番，と言えるかもしれません。1. Homebrewのインストール以前にやっているのと同じですが，一応，メモしておきます。1.1 ターミナル(iterm2でOK)を起動1.2 シェルをtcshに変えているならbashと叩いてシェルをbashにする。1.3 Homebrewのトップページに書かれているスクリプトを走らせる。/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubuser..</description>
            <itunes:summary><![CDATA[
普通に生活するためのアプリのインストールはここからが本番，と言えるかもしれません。

1. Homebrewのインストール
以前にやっているのと同じですが，一応，メモしておきます。

1.1 ターミナル(iterm2でOK)を起動

1.2 シェルをtcshに変えているならbashと叩いてシェルをbashにする。

1.3 <a href="https://brew.sh">Homebrewのトップページ</a>に書かれているスクリプトを走らせる。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.4 インストールがおわったら，exitしてから.cshrcに
if($OSTYPE == "darwin") then
set path = (\
$HOME/bin \
/usr/local/sbin /usr/local/bin /usr/X11R6/bin \
/usr/bin /bin /usr/sbin /sbin \
/opt/homebrew/bin \
)
endif
を追加します。

いつからかわかりませんがhomebrewによってインストールされたコマンド類のインストール先が/opt/homebrew/binに変わったようで，このディレクトリへのパスを設定しておかねばなりません。これを知らなくてハマりました。

1.5 ツールやコンパイラをインストール
brew install XXX
としてXXXのところに以下のソフト名を書いてコツコツインストールします。
nkf, a2ps, aspell, neovim, cmigemo,
wget, wput, telnet,
mpack, lhasa,
iperf3,
dos2unix, mtools,
imagemagick, graphicsmagick, exiftool, ffmpeg, gmt, evince
gcc, lapack, cmake, r, rstudio, byacc, wxmaxima, scilab

2. Fortran preprocessor

fppという名前ですが，brewでfppをインストールするとfacebook path pickerというよくわからないものがインストールされてしまいますので手動でインストールするしかありません。以前にメモした通りなのですがもう一度メモしておきます。

2.1 ソースコードの入手
FreeBSDのdistfilesからソースをもらってきます。FreeBSDが手元にあるなら，
cd /usr/ports/devel/fpp/
make fetch
とやると/usr/ports/distfiles/fdfpp.tgzとして保存されます。このソースと/usr/ports/devel/fpp/files/以下にある3つのパッチファイルを使います。

2.2 パッチの適用
適当なディレクトリでソースを展開し，
cd fdfpp/
patch -p0 &lt; (somewhere)/patch-src-Makefile.common
patch -p0 &lt; (somewhere)/patch-sparc-Makefile
patch -p0 &lt; (somewhere)/patch-Makefile
としてパッチをあてます。パッチをあてる順番は気にしなくてもよいのですが，なぜかpatchコマンドが終了せずまったくパッチがあたりません。apple謹製の/usr/bin/patchがダメなのかと思ってbrew install gpatchとしてGNUI patchをインストールしてみましたが，パッチがあたらないのは変わりません。

しょうがないので，パッチファイルを見ながら手動でパッチを当てました。なんのためにコンピュータを使ってるんだぁ，という気分になります。

2.3 make
fdfppディレクトリで
make bsd44
とやるとコンパイルをはじめますが，yaccでエラーが出てとまります。このときのmakeによってfdfpp/bsd44/Makefileというファイルができているのでこのファイルを編集します。変数名を定義しているところに

YACC = byacc

という行を追記して保存します。

cd fdfpp/bsd44/
make
としてbsd44ディレクトリ内でmakeをします。今度はエラーなくコンパイルができてfppという実行ファイルができています。

2.4 実行ファイルの保存
できたfppを適当な場所に保存しておきます。homebrewのインストール先にあわせて，
cp fpp /opt/homebrew/bin/
としました。

rehashすればちゃんとfppコマンドが使えるようになります。

3. Visual Studio Code (VSCode)
私自身はプログラムを書くときはemacsを使っていますが，業務上，VSCodeを使うということがあるのでインストールしておきます。<a href="https://code.visualstudio.com/download">Microsoftのサイト</a>からApple silicon用のバイナリをダウンロードします。tgzファイルを展開したらapplication_localに移動しておきます。起動してから左のメニューの田のようなところをクリックして，検索窓にmodern fortranと入力してfortranのエクステンションをインストールしておきます。ただ，以前と違って，extentionのmarket placeに登録されていない，ということで注意マークが表示され，installボタンを押すことができません。歯車のマークを押すとインストールという項目が現れるのでそれを選択すると，今度は，ポップアップで

'Modern Fortran' is an extension from an unknown source. Are you sure you want to install?

という注意喚起があります。とにかくインストールする，というボタンを押せばインストールされます。これを使うのは自己責任でやってね，ということです。

いずれにしても，自分で使う言語が基本的にfortranだから，ということでインストールしてます。

4. emacs
Quartzにネイティグに対応したバイナリをインストールします。

<a href="https://emacsformacosx.com">Emacs for Mac OS Xのサイト</a>からバイナリをダウンロードします。トップページのダウンロードボタンを押すだけなのですが最新版が30.2になっていました。

いまだにwnn7で日本語変換をしているので，そのためにななたまご(wnn7egg)を動かす必要があります。常にwnn7eggをアップデートしてくださっている<a href="https://maikaze.cafe.coocan.jp/wnn8.html">とてもありがたい方</a>がいらっしゃるので，いつもその方が公開されているパッチを使わせていただいています。しかし，emacs 30むけのパッチはよくわからないこともあるというようなことを書いておられるのでemacs 29で使う方が安心な気がしました。

そこで，トップページのother versionsを押して，29.4-1をダウンロードしました。dmgファイルをマウントしてEmacs.appを適当なディレクトリ(application_localなど)にコピーしておきます。

5. Gimp
<a href="https://www.gimp.org">Gimpのオフィシャルサイト</a>からApple silicon用のバイナリをダウンロードしてdmgファイルをマウントします。中のGIMP.appを適当なディレクトリにコピーすればインストール完了です。野良アプリなので起動するときに文句をいわれるかもしれませんが，気にせず「開く」をおして起動します。「開く」が表示されない場合はアプリのアイコンの上で右クリックしてメニューを表示し，「開く」を選ぶとポップアップに「開く」ボタンが表示されるのでこれを押して起動します。

6. Inkscape
Inkscapeはベクトル画像作成のためのドローイングツールです。あまり使わないのですが，なんとなくインストールしています。<a href="https://inkscape.org/ja/">Inkscapeの公式サイト</a>の上部のメニューからダウンロードをたどってarm64用のバイナリをダウンロードします。dmgファイルをマウントして，適当なディレクトリにコピーします。

7. QGIS
フリーとは思えない高機能なGISソフトです。特に新しい機能が必要ということはないので安定版をインストールします。<a href="https://qgis.org/download/">公式サイト</a>の「QGIS 3.40 LTRはmac用はありません。次のLTRは3.44なので3.44を を入手するのをお勧めします」と書いてあるのでregular version for macOSというボタンを押してダウンロードします。dmgファイルをマウントして，適当なディレクトリにコピーすればOKです。

8. VirtualBox
仮想マシンを動作させるための環境です。<a href="https://www.virtualbox.org">Oracleのサイト</a>からダウンロードします。version 7.2でApple silliconに対応したようです。Apple silicon用のvirtualBoxのなかでintel用のOSが動くのかどうかちょっとわかりませんが，ダウンロードボタンを押してmacOS/Applesilicon hostsというリンクからダウンロードします。VirtualBox Extension Packは個人と教育用のライセンスということなので，こちらもダウンロードします。dmgファイルをマウントして，pkgファイルをダブルクリックしてインストーラを立ち上げてインストールします。拡張機能はファイルをダブルクリックすると勝手にインストールします。

9. ParaView
高機能な可視化ソフトです。<a href="https://www.paraview.org/download/">ParaViewのダウンロードページ</a>で適当なバージョンを選んでダウンロードします。v6.0もでているようですが，メジャーバージョンになったばかりというのは情報も少なくて使い方を探すのも大変だろうと思ってv5.13をダウンロードしました。Versionのところでv5.13を選択し，そのすぐ下の右側のタブで「macOS Silicon」を選んで5.13.3のarm64.dmgをダウンロードしました。OSX11.0とOSX10.15の二種類がありますが，11.0がarm64用です。dmgをマウントして，適当なディレクトリにコピーすればOKです。

10. Xcode
App. Storeで検索して出てくるXcodeは最新のOS用ですが，Mac mini M4にはTahoeをインストールしたのでそのままインストールしてしまいます。ダウンロードがおわったら，App. Storeのアイコンが「開く」にかわるのでこれをクリックするとまた何かインストールするとか言ってきますが，先へすすめるととりあえず完了するようです。

11. gnuplot
これまでにインストールした何かのアプリケーションとの依存性によって既にインストールされていました。いきなりインストールする場合は，
brew install gnuplot
とやればOKです。

12. vlc
けっこう有名なメディアプレイヤーのVLC media playerをダウンロードしてインストールします。<a href="https://www.videolan.org/vlc/">ダウンロードページ</a>の「ダウンロードVLC」の横の矢印を押してプルダウンメニューを表示してApple Silicon版を選択します。dmgファイルをマウントしてVLC.appを適当なディレクトリにコピーすればOKです。

13. ipe
以前に書いた通り，数式入りのフローチャートを描くためにipeを使っていました。そのため，これをインストールします。<a href="https://ipe.otfried.org">ipeの公式サイト</a>でMac OS X binary packageという黒っぽいバーをクリックして隠れている部分を表示し，arm版のバイナリ(mac-arm.dmg)をダウンロードします。ダウンロードしたら，dmgファイルをマウントしてipe.appを適当なディレクトリにコピーします。

14. Raspberry Pi Imager
起動可能なUSBメディアを作ったりするときに便利なのでいつも使っています。<a href="https://www.raspberrypi.com/software/">ここ</a>からmacOS用をダウンロードして，dmgファイルをマウントしてimagerを適当なディレクトリにコピーしておきます。

15. App. Storeからインストール
・QRコードリーダー：App. Storeで検索して適当なものをインストールすればよいので，QR Journalをインストールしました。App. Storeで雲のマークをクリックすると勝手にApplicationフォルダにインストールされます。
・アーカイバー：The Unarchiverを検索して雲のマークをクリックして直接インストールしました。
・Exifエディタ：Photos Exif Editorを同様にインストールします。以前は有料だった気もするのですが，何か勘違いしているだけかも。
・マークシート作成ソフト：マークシートを作ってスキャナで読み取ってデータを読み取るソフトである「マークシートDIY」をインストールします。
・音楽プレイヤー：Pine PlayerとVOXをインストールします。

16. Canon GPS Log File Utility for macOS
CanonのEOS MにくっつけているGP-E2というGPSロガーのデータを取り込んでKMZファイル形式に変換するアプリです。GP-E2でログを取った場合，データを直接取り込めないため，このアプリがどうしても必要になります。

アプリがどこにあるのか，非常にわかりにくいのですが，<a href="https://canon.jp/-/media/Project/Canon/CanonJP/Website/support/software/drv-upd/dc/glum103?pr=5010&amp;os=146">ここ</a>からダウンロードできます。ダウンロードすると，gluim-1-0-3-10.dmg.gzというファイルができるので，これをダブルクリックして展開するとdmgファイルになります。このdmgファイルをマウントすると，GLUI103M.appというアプリが現れますが，これがインストーラなので，このアプリをダブルクリックしてインストーラを起動します。インストーラの指示に従って進めるとインストールが完了します。Applicationの下にCanon Utilitiesというディレクトリができて，そのなかにGPSLogFileUtilityというディレクトリがあり，そのなかのGPSLogFileUtility.appが目指すアプリです。

なんだかちょっと古いテイストのインストーラですが，現時点の最新のmacOSでも動くというのはありがたいことです。

17. XP Pen Deco 01V2
XP Penのタブレットのドライバです。仕事でいつも使っているのでドライバをインストールし忘れたりするとたいへんです。

<a href="https://www.xp-pen.jp/download/index.html?cid=0">XP Penのダウンロードページ</a>で左のバナーの「ダウンロード」を展開して，製品カテゴリとして「Decoシリーズ」を開いてDeco 01V2を選びます。Mac 10.13 or newerの欄にある新しそうなファイルをダウンロードします。zipファイルを展開するとdmgファイルがでてくるのでこれをマウントしてインストーラを起動してインストールします。「アプリケーション」のなかに「XPPen」というフォルダができてその下にアプリとアンインストーラがインストールされています。アプリを起動してタブレットを接続するとアクセシビリティへの接続の許可を求められるので許可をするとタブレットが使えるようになります。

18. darktable
写真のraw現象ソフトです。macOS用のバイナリはもはやarm64用しかないようです。<a href="https://www.darktable.org/install/">ダウンロードページ</a>からmacOS用のバイナリをダウンロードしてdmgファイルをマウントしてアプリを適当なディレクトリにコピーします。起動すると，安全を検証できなかったので開いていません，というポップアップが立ち上がって起動できません。ポップアップは「完了」ボタンをおして終了し，システム設定の「プライバシーとセキュリティ」の下の方の「セキュリティ」に「"darktable.app"がブロックされました」と表示されているのでその横の「このまま開く」ボタンを押します。それでもあれこれ言ってきますが，あくまでも開くという意思表示をすれば起動できます。

19. Gmsh
有限要素法などのためのメッシュ切りのソフトです。<a href="https://gmsh.info/#Download">ここ</a>からmacOS (ARM)用のdmgファイルをダウンロードしてマウントするといろいろとファイルが雑然と並んでいます。application_localの下にGmshというディレクトリを作って，dmgファイルのトップディレクトリ内のファイルを全て(ただし，Applicationsへのシンボリックリンクを除く) LocalDATA/application_local/Gmsh/以下にコピーします。

20. Audacity
waveファイルの編集ソフトです。<a href="https://www.audacityteam.org">公式サイト</a>のトップにあるダウンロードボタンをおすとインストーラがダウンロードされますが，ここでダウンロードsれたpkgファイルをダブルクリックしてインストールするとMuse Hub.appというよくわからないものがインストールされます。特に使いたいものではないのでうっかりインストールしたら削除してしまいます。余計なものをインストールしないために，上部のバナーからDownloads &gt; macOS &gt; ARM 64 dmgとたどって，dmgファイルをダウンロードします。dmgファイルをマウントしたらアプリを適当なフォルダ(application_localなど)にコピーします。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
普通に生活するためのアプリのインストールはここからが本番，と言えるかもしれません。<br /><br />1. Homebrewのインストール<br />以前にやっているのと同じですが，一応，メモしておきます。<br /><br />1.1 ターミナル(iterm2でOK)を起動<br /><br />1.2 シェルをtcshに変えているならbashと叩いてシェルをbashにする。<br /><br />1.3 <a href="https://brew.sh">Homebrewのトップページ</a>に書かれているスクリプトを走らせる。<br />/usr/bin/ruby -e "$(curl -fsSL <a href="https://raw.githubusercontent.com/Homebrew/install/master/install)" target="_blank">https://raw.githubusercontent.com/Homebrew/install/master/install)</a>"<br /><br />1.4 インストールがおわったら，exitしてから.cshrcに<br />if($OSTYPE == "darwin") then<br />set path = (\<br />$HOME/bin \<br />/usr/local/sbin /usr/local/bin /usr/X11R6/bin \<br />/usr/bin /bin /usr/sbin /sbin \<br />/opt/homebrew/bin \<br />)<br />endif<br />を追加します。<br /><br />いつからかわかりませんがhomebrewによってインストールされたコマンド類のインストール先が/opt/homebrew/binに変わったようで，このディレクトリへのパスを設定しておかねばなりません。これを知らなくてハマりました。<br /><br />1.5 ツールやコンパイラをインストール<br />brew install XXX<br />としてXXXのところに以下のソフト名を書いてコツコツインストールします。<br />nkf, a2ps, aspell, neovim, cmigemo,<br />wget, wput, telnet,<br />mpack, lhasa,<br />iperf3,<br />dos2unix, mtools,<br />imagemagick, graphicsmagick, exiftool, ffmpeg, gmt, evince<br />gcc, lapack, cmake, r, rstudio, byacc, wxmaxima, scilab<br /><br />2. Fortran preprocessor<br /><br />fppという名前ですが，brewでfppをインストールするとfacebook path pickerというよくわからないものがインストールされてしまいますので手動でインストールするしかありません。以前にメモした通りなのですがもう一度メモしておきます。<br /><br />2.1 ソースコードの入手<br />FreeBSDのdistfilesからソースをもらってきます。FreeBSDが手元にあるなら，<br />cd /usr/ports/devel/fpp/<br />make fetch<br />とやると/usr/ports/distfiles/fdfpp.tgzとして保存されます。このソースと/usr/ports/devel/fpp/files/以下にある3つのパッチファイルを使います。<br /><br />2.2 パッチの適用<br />適当なディレクトリでソースを展開し，<br />cd fdfpp/<br />patch -p0 < (somewhere)/patch-src-Makefile.common<br />patch -p0 < (somewhere)/patch-sparc-Makefile<br />patch -p0 < (somewhere)/patch-Makefile<br />としてパッチをあてます。パッチをあてる順番は気にしなくてもよいのですが，なぜかpatchコマンドが終了せずまったくパッチがあたりません。apple謹製の/usr/bin/patchがダメなのかと思ってbrew install gpatchとしてGNUI patchをインストールしてみましたが，パッチがあたらないのは変わりません。<br /><br />しょうがないので，パッチファイルを見ながら手動でパッチを当てました。なんのためにコンピュータを使ってるんだぁ，という気分になります。<br /><br />2.3 make<br />fdfppディレクトリで<br />make bsd44<br />とやるとコンパイルをはじめますが，yaccでエラーが出てとまります。このときのmakeによってfdfpp/bsd44/Makefileというファイルができているのでこのファイルを編集します。変数名を定義しているところに<br /><br />YACC = byacc<br /><br />という行を追記して保存します。<br /><br />cd fdfpp/bsd44/<br />make<br />としてbsd44ディレクトリ内でmakeをします。今度はエラーなくコンパイルができてfppという実行ファイルができています。<br /><br />2.4 実行ファイルの保存<br />できたfppを適当な場所に保存しておきます。homebrewのインストール先にあわせて，<br />cp fpp /opt/homebrew/bin/<br />としました。<br /><br />rehashすればちゃんとfppコマンドが使えるようになります。<br /><br />3. Visual Studio Code (VSCode)<br />私自身はプログラムを書くときはemacsを使っていますが，業務上，VSCodeを使うということがあるのでインストールしておきます。<a href="https://code.visualstudio.com/download">Microsoftのサイト</a>からApple silicon用のバイナリをダウンロードします。tgzファイルを展開したらapplication_localに移動しておきます。起動してから左のメニューの田のようなところをクリックして，検索窓にmodern fortranと入力してfortranのエクステンションをインストールしておきます。ただ，以前と違って，extentionのmarket placeに登録されていない，ということで注意マークが表示され，installボタンを押すことができません。歯車のマークを押すとインストールという項目が現れるのでそれを選択すると，今度は，ポップアップで<br /><br />'Modern Fortran' is an extension from an unknown source. Are you sure you want to install?<br /><br />という注意喚起があります。とにかくインストールする，というボタンを押せばインストールされます。これを使うのは自己責任でやってね，ということです。<br /><br />いずれにしても，自分で使う言語が基本的にfortranだから，ということでインストールしてます。<br /><br />4. emacs<br />Quartzにネイティグに対応したバイナリをインストールします。<br /><br /><a href="https://emacsformacosx.com">Emacs for Mac OS Xのサイト</a>からバイナリをダウンロードします。トップページのダウンロードボタンを押すだけなのですが最新版が30.2になっていました。<br /><br />いまだにwnn7で日本語変換をしているので，そのためにななたまご(wnn7egg)を動かす必要があります。常にwnn7eggをアップデートしてくださっている<a href="https://maikaze.cafe.coocan.jp/wnn8.html">とてもありがたい方</a>がいらっしゃるので，いつもその方が公開されているパッチを使わせていただいています。しかし，emacs 30むけのパッチはよくわからないこともあるというようなことを書いておられるのでemacs 29で使う方が安心な気がしました。<br /><br />そこで，トップページのother versionsを押して，29.4-1をダウンロードしました。dmgファイルをマウントしてEmacs.appを適当なディレクトリ(application_localなど)にコピーしておきます。<br /><br />5. Gimp<br /><a href="https://www.gimp.org">Gimpのオフィシャルサイト</a>からApple silicon用のバイナリをダウンロードしてdmgファイルをマウントします。中のGIMP.appを適当なディレクトリにコピーすればインストール完了です。野良アプリなので起動するときに文句をいわれるかもしれませんが，気にせず「開く」をおして起動します。「開く」が表示されない場合はアプリのアイコンの上で右クリックしてメニューを表示し，「開く」を選ぶとポップアップに「開く」ボタンが表示されるのでこれを押して起動します。<br /><br />6. Inkscape<br />Inkscapeはベクトル画像作成のためのドローイングツールです。あまり使わないのですが，なんとなくインストールしています。<a href="https://inkscape.org/ja/">Inkscapeの公式サイト</a>の上部のメニューからダウンロードをたどってarm64用のバイナリをダウンロードします。dmgファイルをマウントして，適当なディレクトリにコピーします。<br /><br />7. QGIS<br />フリーとは思えない高機能なGISソフトです。特に新しい機能が必要ということはないので安定版をインストールします。<a href="https://qgis.org/download/">公式サイト</a>の「QGIS 3.40 LTRはmac用はありません。次のLTRは3.44なので3.44を を入手するのをお勧めします」と書いてあるのでregular version for macOSというボタンを押してダウンロードします。dmgファイルをマウントして，適当なディレクトリにコピーすればOKです。<br /><br />8. VirtualBox<br />仮想マシンを動作させるための環境です。<a href="https://www.virtualbox.org">Oracleのサイト</a>からダウンロードします。version 7.2でApple silliconに対応したようです。Apple silicon用のvirtualBoxのなかでintel用のOSが動くのかどうかちょっとわかりませんが，ダウンロードボタンを押してmacOS/Applesilicon hostsというリンクからダウンロードします。VirtualBox Extension Packは個人と教育用のライセンスということなので，こちらもダウンロードします。dmgファイルをマウントして，pkgファイルをダブルクリックしてインストーラを立ち上げてインストールします。拡張機能はファイルをダブルクリックすると勝手にインストールします。<br /><br />9. ParaView<br />高機能な可視化ソフトです。<a href="https://www.paraview.org/download/">ParaViewのダウンロードページ</a>で適当なバージョンを選んでダウンロードします。v6.0もでているようですが，メジャーバージョンになったばかりというのは情報も少なくて使い方を探すのも大変だろうと思ってv5.13をダウンロードしました。Versionのところでv5.13を選択し，そのすぐ下の右側のタブで「macOS Silicon」を選んで5.13.3のarm64.dmgをダウンロードしました。OSX11.0とOSX10.15の二種類がありますが，11.0がarm64用です。dmgをマウントして，適当なディレクトリにコピーすればOKです。<br /><br />10. Xcode<br />App. Storeで検索して出てくるXcodeは最新のOS用ですが，Mac mini M4にはTahoeをインストールしたのでそのままインストールしてしまいます。ダウンロードがおわったら，App. Storeのアイコンが「開く」にかわるのでこれをクリックするとまた何かインストールするとか言ってきますが，先へすすめるととりあえず完了するようです。<br /><br />11. gnuplot<br />これまでにインストールした何かのアプリケーションとの依存性によって既にインストールされていました。いきなりインストールする場合は，<br />brew install gnuplot<br />とやればOKです。<br /><br />12. vlc<br />けっこう有名なメディアプレイヤーのVLC media playerをダウンロードしてインストールします。<a href="https://www.videolan.org/vlc/">ダウンロードページ</a>の「ダウンロードVLC」の横の矢印を押してプルダウンメニューを表示してApple Silicon版を選択します。dmgファイルをマウントしてVLC.appを適当なディレクトリにコピーすればOKです。<br /><br />13. ipe<br />以前に書いた通り，数式入りのフローチャートを描くためにipeを使っていました。そのため，これをインストールします。<a href="https://ipe.otfried.org">ipeの公式サイト</a>でMac OS X binary packageという黒っぽいバーをクリックして隠れている部分を表示し，arm版のバイナリ(mac-arm.dmg)をダウンロードします。ダウンロードしたら，dmgファイルをマウントしてipe.appを適当なディレクトリにコピーします。<br /><br />14. Raspberry Pi Imager<br />起動可能なUSBメディアを作ったりするときに便利なのでいつも使っています。<a href="https://www.raspberrypi.com/software/">ここ</a>からmacOS用をダウンロードして，dmgファイルをマウントしてimagerを適当なディレクトリにコピーしておきます。<br /><br />15. App. Storeからインストール<br />・QRコードリーダー：App. Storeで検索して適当なものをインストールすればよいので，QR Journalをインストールしました。App. Storeで雲のマークをクリックすると勝手にApplicationフォルダにインストールされます。<br />・アーカイバー：The Unarchiverを検索して雲のマークをクリックして直接インストールしました。<br />・Exifエディタ：Photos Exif Editorを同様にインストールします。以前は有料だった気もするのですが，何か勘違いしているだけかも。<br />・マークシート作成ソフト：マークシートを作ってスキャナで読み取ってデータを読み取るソフトである「マークシートDIY」をインストールします。<br />・音楽プレイヤー：Pine PlayerとVOXをインストールします。<br /><br />16. Canon GPS Log File Utility for macOS<br />CanonのEOS MにくっつけているGP-E2というGPSロガーのデータを取り込んでKMZファイル形式に変換するアプリです。GP-E2でログを取った場合，データを直接取り込めないため，このアプリがどうしても必要になります。<br /><br />アプリがどこにあるのか，非常にわかりにくいのですが，<a href="https://canon.jp/-/media/Project/Canon/CanonJP/Website/support/software/drv-upd/dc/glum103?pr=5010&os=146">ここ</a>からダウンロードできます。ダウンロードすると，gluim-1-0-3-10.dmg.gzというファイルができるので，これをダブルクリックして展開するとdmgファイルになります。このdmgファイルをマウントすると，GLUI103M.appというアプリが現れますが，これがインストーラなので，このアプリをダブルクリックしてインストーラを起動します。インストーラの指示に従って進めるとインストールが完了します。Applicationの下にCanon Utilitiesというディレクトリができて，そのなかにGPSLogFileUtilityというディレクトリがあり，そのなかのGPSLogFileUtility.appが目指すアプリです。<br /><br />なんだかちょっと古いテイストのインストーラですが，現時点の最新のmacOSでも動くというのはありがたいことです。<br /><br />17. XP Pen Deco 01V2<br />XP Penのタブレットのドライバです。仕事でいつも使っているのでドライバをインストールし忘れたりするとたいへんです。<br /><br /><a href="https://www.xp-pen.jp/download/index.html?cid=0">XP Penのダウンロードページ</a>で左のバナーの「ダウンロード」を展開して，製品カテゴリとして「Decoシリーズ」を開いてDeco 01V2を選びます。Mac 10.13 or newerの欄にある新しそうなファイルをダウンロードします。zipファイルを展開するとdmgファイルがでてくるのでこれをマウントしてインストーラを起動してインストールします。「アプリケーション」のなかに「XPPen」というフォルダができてその下にアプリとアンインストーラがインストールされています。アプリを起動してタブレットを接続するとアクセシビリティへの接続の許可を求められるので許可をするとタブレットが使えるようになります。<br /><br />18. darktable<br />写真のraw現象ソフトです。macOS用のバイナリはもはやarm64用しかないようです。<a href="https://www.darktable.org/install/">ダウンロードページ</a>からmacOS用のバイナリをダウンロードしてdmgファイルをマウントしてアプリを適当なディレクトリにコピーします。起動すると，安全を検証できなかったので開いていません，というポップアップが立ち上がって起動できません。ポップアップは「完了」ボタンをおして終了し，システム設定の「プライバシーとセキュリティ」の下の方の「セキュリティ」に「"darktable.app"がブロックされました」と表示されているのでその横の「このまま開く」ボタンを押します。それでもあれこれ言ってきますが，あくまでも開くという意思表示をすれば起動できます。<br /><br />19. Gmsh<br />有限要素法などのためのメッシュ切りのソフトです。<a href="https://gmsh.info/#Download">ここ</a>からmacOS (ARM)用のdmgファイルをダウンロードしてマウントするといろいろとファイルが雑然と並んでいます。application_localの下にGmshというディレクトリを作って，dmgファイルのトップディレクトリ内のファイルを全て(ただし，Applicationsへのシンボリックリンクを除く) LocalDATA/application_local/Gmsh/以下にコピーします。<br /><br />20. Audacity<br />waveファイルの編集ソフトです。<a href="https://www.audacityteam.org">公式サイト</a>のトップにあるダウンロードボタンをおすとインストーラがダウンロードされますが，ここでダウンロードsれたpkgファイルをダブルクリックしてインストールするとMuse Hub.appというよくわからないものがインストールされます。特に使いたいものではないのでうっかりインストールしたら削除してしまいます。余計なものをインストールしないために，上部のバナーからDownloads > macOS > ARM 64 dmgとたどって，dmgファイルをダウンロードします。dmgファイルをマウントしたらアプリを適当なフォルダ(application_localなど)にコピーします。<br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519470272</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519469224.html</link>
      <title>Mac mini (2024)の設定(その3；アプリのインストール)</title>
      <pubDate>Tue, 16 Dec 2025 04:00:00 +0900</pubDate>
            <description>一通りの環境設定ができたので必要なアプリをインストールして仕事で使えるようにします。1. XQuartzのインストール仕事用として使う場合，Xをインストールしなければ話になりません。X11はAppleからは提供されなくなって久しく，XQuartzを落としてきてインストールします。ディスクイメージファイルなのでダウンロードしてマウントすればインストールのためのpkgファイルが出てきますのでこれをダブルクリックすればインストールが始まります。アプリケーションの下のユーティリティに..</description>
            <itunes:summary><![CDATA[
一通りの環境設定ができたので必要なアプリをインストールして仕事で使えるようにします。

1. XQuartzのインストール
仕事用として使う場合，Xをインストールしなければ話になりません。X11はAppleからは提供されなくなって久しく，<a href="https://www.xquartz.org">XQuartz</a>を落としてきてインストールします。

ディスクイメージファイルなのでダウンロードしてマウントすればインストールのためのpkgファイルが出てきますのでこれをダブルクリックすればインストールが始まります。

アプリケーションの下のユーティリティにインストールされるのでDockにリンクを貼っておくと便利です。

リモートサーバーのアプリケーションを表示できるようにするための設定をします。

メニューからXQuartz --&gt; 設定... --&gt; 「セキュリティ」タブ --&gt; ネットワーク・クライアントからの接続を許可にチェックを入れます。また，「入力」タブの3ボタンマウスをエミュレートにもチェックをいれます。

個人的には同じ環境設定のなかの「ウィンドウ」タブの「フォーカスをマウスと一緒に移動」にもチェックを入れておくのが好みです。

2. Microsoft Office
Microsoft Officeは職場のボリュームライセンスで使えますので，ルールに従ってインストールします。

3. Adobeのアプリケーション
職場ではAdobeのボリュームライセンスもありますので職場で指示されている手順にしたがってインストールします。ボリュームライセンスでインストールするのはいつもはイラストレーター，アクロバット，フォトショップ，ライトルームクラシックです。実際に使っているのはイラストレーターとアクロバットだけです。Adobeのアプリは個人ではとても買えないので，退職したら使えないことを前提にしておかないとあとで困ることになります。そのためできるだけAdobeのアプリは使わないでフリーソフトを使うようにしています。

4. iTerm2
OS標準のターミナルでもよいのですが，高機能なiTerm2をインストールします。これといって，高機能な部分は使っていないのですが，なんとなく入れてます。<a href="https://iterm2.com/downloads.html">ここ</a>から新しいバージョンをもらってきてファイルを展開して，適当なフォルダにおきます。私は，Localデータを保存するパーティションにapplication_localというフォルダを作ってその下にローカルにインストールしたアプリをコピーしています。

iTerm2を起動すると，アプリケーションフォルダに移動するか，と聞かれますので，「二度と問い合わせしない」にチェックを入れてDon't Moveを選びます。またコマンドラインツールが必要なのでインストールするか，と聞かれるのでインストールします。

起動したらiTerm2メニューからSettings... &gt; Profiles &gt; Colorsとたどります。ANSI Colorsと書いてカラーパレットが並んでいる下のColor Presets...からプリセットカラーを選びます。これまでと同様にSolarized Lightlにしました。TextタブのFontでフォントを選びます。日本語フォントの昔懐かしい「Osaka」を選びます。なぜかOsaka-等幅がなくなっているのが気になります(ターミナルでは選べたのに)。たぶん，フォント名の右隣でRgular-Monoを選べば等幅になりそうな気がするので，選んでおきます。小さいフォントは老眼に厳しいので16ptとしました。TerminalタブでCharacter EncodingをJapanese (EUC)とします。いまだにEUCから離れられません。

iTerm2もXQuartzと同じくらいよく使うのでDockにリンクを貼っておきます。

5. firefoxのインストール
chromeとは異なるエンジンのwebブラウザもインストールしておきたい，という理由でfirefoxはいつもインストールしています。<a href="https://www.firefox.com/ja/">ここ</a>からデスクトップ用をダウンロードしてdmgをマウントしたらfirefoxをapplication_localにコピーしておきます。起動してメニューのFirefox &gt; 設定 &gt; ホームとたどってホームページを設定しておきます。個人的にはいつもgoogle.co.jpにしています。

6. cantataのインストール
ここでこれか，という内容ですが，忘れてしまいそうなのでメモ。mpdのサーバーにアクセスしてコントロールするためのクライアントです。お仕事中に音楽を聴くための道具，ということで。

<a href="https://github.com/CDrummond/cantata/releases">GitHub</a>からdmgを落とします。macOS用のコンパイル済みのバイナリがあるのは2018年8月にリリースされたv2.3.2が最新のようです。ダウンロードしたファイルのなかのappを適当なフォルダへコピーします。アプリケーションフォルダでもよいですが，ローカルなアプリなのでapplication_localにコピーします。

これもDockへリンクを貼っておきます。

起動するとサーバーのipなどを聞かれますので適当に入れます。細かい設定は起動してから，Cantata &gt; Preferences...から設定します。適当な名前をつけて，mpdサーバーのipアドレスを確認して，音楽フォルダの設定をします。これは，カバーアートを表示するためです。mpdサーバー上でhttpdサーバーが動いているという前提で，そのurlを設定します。また，InterfaceのCoversタブでカバーアートのファイル名を「Filename: 」に設定します。私の場合はFolder.jpgとしているので，拡張子を含めないで「Folder」だけ設定します。

これでカバーアートが表示されますが，アルバムがアーティストのABC順で表示されていて使いにくい感じです。左下のAll Genresと書いてあるすぐ左にあるメニューボタン(非常にわかりにくいです)を押して，ビュー &gt; グリッド，グループ化 &gt; アルバム，アルバムのソート &gt; Album, Artist, Yearと選択しておきます。

これで，1.5系のデフォルトと同じような表示になります。

7. slack
職場で使うことを強制されているslackをインストールします。最高に使いにくいと思いますが，高いお金を払ってなぜこういうものを使いたいのかまったく理解できませんが，トップは自分では何もしないのでちょっと気に入ったから，というだけの理由で末端に使うことを強制するのでしょう。典型的なooのパターンといえるでしょう。

<a href="https://slack.com/intl/ja-jp/downloads/mac">ここ</a>からダウンロードしてdmgファイルをマウントしたらアプリをApplicationフォルダにコピーします。起動するとサインインをしろ，と言われるので，職場での手続きに従ってサインインします。はっきり言って使いにくくて死にそう。

8. オンライン会議
相手によってアプリケーションが異なるので主だったところの<a href="https://support.zoom.com/hc/ja/article?id=zm_kb&amp;sysparm_article=KB0060418">zoom</a>, <a href="https://www.webex.com/ja/downloads.html">webex</a>, teamsをインストールしておきます。

9. プリンタドライバのインストール
a) 職場にあるいくつかのプリンタ用のドライバをメーカーのサイトから落としてきます。
Oki <a href="https://www.oki.com/jp/printing/support/drivers-and-utilities/colormfp/MC562DN/">MC562dn</a>
Oki <a href="https://www.oki.com/jp/printing/support/drivers-and-utilities/colormfp/MC843DNW/">MC843dnw</a>
Brother <a href="https://support.brother.co.jp/j/b/downloadtop.aspx?c=jp&amp;lang=ja&amp;prod=mfc9460cdn">MFC9460CDN</a>

それぞれのサイトからドライバがダウンロードできるはずなのですが，BrotherのMFC9460のドライバのダウンロードページではOSの選択肢としてmacOSがなくなっています。どうやらAppleがベンダーに対してAirPrintを使うように強要していることが原因でドライバの配布がされなくなっているようなことがネットに書かれていました。プリンタによってはmacOS用のドライバの配布もされているようなので実態はよくわかりません。いずれにしても，MFC9460はPostScript互換のBR-Script3に対応しているので普通にポストスクリプトデータを流せばOKで面倒なドライバは必要ないはずです。プリンタ固有の情報はppdファイルに記載されるのでプリンタに対応するppdファイルさえあれば十分なのですが，それも見つかりません。

しょうがないので，他のmacOSにインストールしたドライバを使うことにしました。MacBook Pro (2017)にVenturaをインストールしたときにダウンロードしたドライバのセット(Brother_PrinterDrivers_ColorLaser_1_2_0.dmg)を残していたのでそれを使い回すことにしました。中身の実態はいろいろなプリンタのためのppdファイルです。最悪の場合，インストール済みのppdファイルがあれば，/Library/Printers/PPDs/Contents/Resources/以下にインストールされているppdファイルをコピーすればよいと思います。

b) 落としてきたdmgファイルをマウントして中のpkgファイルをダブルクリックしてppdファイルをインストールします。
c) システム環境設定 &gt; プリンタとスキャナと進んで，「プリンタ，スキャナ，またはファックスを追加...」を押してBonjourで見えているプリンタを選択
e) プリンタドライバが自動的に選択されるので，「追加」をクリック
f) デフォルトで用いるプリンタを選んで右クリックしてデフォルトプリンタに設定。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
一通りの環境設定ができたので必要なアプリをインストールして仕事で使えるようにします。<br /><br />1. XQuartzのインストール<br />仕事用として使う場合，Xをインストールしなければ話になりません。X11はAppleからは提供されなくなって久しく，<a href="https://www.xquartz.org">XQuartz</a>を落としてきてインストールします。<br /><br />ディスクイメージファイルなのでダウンロードしてマウントすればインストールのためのpkgファイルが出てきますのでこれをダブルクリックすればインストールが始まります。<br /><br />アプリケーションの下のユーティリティにインストールされるのでDockにリンクを貼っておくと便利です。<br /><br />リモートサーバーのアプリケーションを表示できるようにするための設定をします。<br /><br />メニューからXQuartz --> 設定... --> 「セキュリティ」タブ --> ネットワーク・クライアントからの接続を許可にチェックを入れます。また，「入力」タブの3ボタンマウスをエミュレートにもチェックをいれます。<br /><br />個人的には同じ環境設定のなかの「ウィンドウ」タブの「フォーカスをマウスと一緒に移動」にもチェックを入れておくのが好みです。<br /><br />2. Microsoft Office<br />Microsoft Officeは職場のボリュームライセンスで使えますので，ルールに従ってインストールします。<br /><br />3. Adobeのアプリケーション<br />職場ではAdobeのボリュームライセンスもありますので職場で指示されている手順にしたがってインストールします。ボリュームライセンスでインストールするのはいつもはイラストレーター，アクロバット，フォトショップ，ライトルームクラシックです。実際に使っているのはイラストレーターとアクロバットだけです。Adobeのアプリは個人ではとても買えないので，退職したら使えないことを前提にしておかないとあとで困ることになります。そのためできるだけAdobeのアプリは使わないでフリーソフトを使うようにしています。<br /><br />4. iTerm2<br />OS標準のターミナルでもよいのですが，高機能なiTerm2をインストールします。これといって，高機能な部分は使っていないのですが，なんとなく入れてます。<a href="https://iterm2.com/downloads.html">ここ</a>から新しいバージョンをもらってきてファイルを展開して，適当なフォルダにおきます。私は，Localデータを保存するパーティションにapplication_localというフォルダを作ってその下にローカルにインストールしたアプリをコピーしています。<br /><br />iTerm2を起動すると，アプリケーションフォルダに移動するか，と聞かれますので，「二度と問い合わせしない」にチェックを入れてDon't Moveを選びます。またコマンドラインツールが必要なのでインストールするか，と聞かれるのでインストールします。<br /><br />起動したらiTerm2メニューからSettings... > Profiles > Colorsとたどります。ANSI Colorsと書いてカラーパレットが並んでいる下のColor Presets...からプリセットカラーを選びます。これまでと同様にSolarized Lightlにしました。TextタブのFontでフォントを選びます。日本語フォントの昔懐かしい「Osaka」を選びます。なぜかOsaka-等幅がなくなっているのが気になります(ターミナルでは選べたのに)。たぶん，フォント名の右隣でRgular-Monoを選べば等幅になりそうな気がするので，選んでおきます。小さいフォントは老眼に厳しいので16ptとしました。TerminalタブでCharacter EncodingをJapanese (EUC)とします。いまだにEUCから離れられません。<br /><br />iTerm2もXQuartzと同じくらいよく使うのでDockにリンクを貼っておきます。<br /><br />5. firefoxのインストール<br />chromeとは異なるエンジンのwebブラウザもインストールしておきたい，という理由でfirefoxはいつもインストールしています。<a href="https://www.firefox.com/ja/">ここ</a>からデスクトップ用をダウンロードしてdmgをマウントしたらfirefoxをapplication_localにコピーしておきます。起動してメニューのFirefox > 設定 > ホームとたどってホームページを設定しておきます。個人的にはいつもgoogle.co.jpにしています。<br /><br />6. cantataのインストール<br />ここでこれか，という内容ですが，忘れてしまいそうなのでメモ。mpdのサーバーにアクセスしてコントロールするためのクライアントです。お仕事中に音楽を聴くための道具，ということで。<br /><br /><a href="https://github.com/CDrummond/cantata/releases">GitHub</a>からdmgを落とします。macOS用のコンパイル済みのバイナリがあるのは2018年8月にリリースされたv2.3.2が最新のようです。ダウンロードしたファイルのなかのappを適当なフォルダへコピーします。アプリケーションフォルダでもよいですが，ローカルなアプリなのでapplication_localにコピーします。<br /><br />これもDockへリンクを貼っておきます。<br /><br />起動するとサーバーのipなどを聞かれますので適当に入れます。細かい設定は起動してから，Cantata > Preferences...から設定します。適当な名前をつけて，mpdサーバーのipアドレスを確認して，音楽フォルダの設定をします。これは，カバーアートを表示するためです。mpdサーバー上でhttpdサーバーが動いているという前提で，そのurlを設定します。また，InterfaceのCoversタブでカバーアートのファイル名を「Filename: 」に設定します。私の場合はFolder.jpgとしているので，拡張子を含めないで「Folder」だけ設定します。<br /><br />これでカバーアートが表示されますが，アルバムがアーティストのABC順で表示されていて使いにくい感じです。左下のAll Genresと書いてあるすぐ左にあるメニューボタン(非常にわかりにくいです)を押して，ビュー > グリッド，グループ化 > アルバム，アルバムのソート > Album, Artist, Yearと選択しておきます。<br /><br />これで，1.5系のデフォルトと同じような表示になります。<br /><br />7. slack<br />職場で使うことを強制されているslackをインストールします。最高に使いにくいと思いますが，高いお金を払ってなぜこういうものを使いたいのかまったく理解できませんが，トップは自分では何もしないのでちょっと気に入ったから，というだけの理由で末端に使うことを強制するのでしょう。典型的なooのパターンといえるでしょう。<br /><br /><a href="https://slack.com/intl/ja-jp/downloads/mac">ここ</a>からダウンロードしてdmgファイルをマウントしたらアプリをApplicationフォルダにコピーします。起動するとサインインをしろ，と言われるので，職場での手続きに従ってサインインします。はっきり言って使いにくくて死にそう。<br /><br />8. オンライン会議<br />相手によってアプリケーションが異なるので主だったところの<a href="https://support.zoom.com/hc/ja/article?id=zm_kb&sysparm_article=KB0060418">zoom</a>, <a href="https://www.webex.com/ja/downloads.html">webex</a>, teamsをインストールしておきます。<br /><br />9. プリンタドライバのインストール<br />a) 職場にあるいくつかのプリンタ用のドライバをメーカーのサイトから落としてきます。<br />Oki <a href="https://www.oki.com/jp/printing/support/drivers-and-utilities/colormfp/MC562DN/">MC562dn</a><br />Oki <a href="https://www.oki.com/jp/printing/support/drivers-and-utilities/colormfp/MC843DNW/">MC843dnw</a><br />Brother <a href="https://support.brother.co.jp/j/b/downloadtop.aspx?c=jp&lang=ja&prod=mfc9460cdn">MFC9460CDN</a><br /><br />それぞれのサイトからドライバがダウンロードできるはずなのですが，BrotherのMFC9460のドライバのダウンロードページではOSの選択肢としてmacOSがなくなっています。どうやらAppleがベンダーに対してAirPrintを使うように強要していることが原因でドライバの配布がされなくなっているようなことがネットに書かれていました。プリンタによってはmacOS用のドライバの配布もされているようなので実態はよくわかりません。いずれにしても，MFC9460はPostScript互換のBR-Script3に対応しているので普通にポストスクリプトデータを流せばOKで面倒なドライバは必要ないはずです。プリンタ固有の情報はppdファイルに記載されるのでプリンタに対応するppdファイルさえあれば十分なのですが，それも見つかりません。<br /><br />しょうがないので，他のmacOSにインストールしたドライバを使うことにしました。MacBook Pro (2017)にVenturaをインストールしたときにダウンロードしたドライバのセット(Brother_PrinterDrivers_ColorLaser_1_2_0.dmg)を残していたのでそれを使い回すことにしました。中身の実態はいろいろなプリンタのためのppdファイルです。最悪の場合，インストール済みのppdファイルがあれば，/Library/Printers/PPDs/Contents/Resources/以下にインストールされているppdファイルをコピーすればよいと思います。<br /><br />b) 落としてきたdmgファイルをマウントして中のpkgファイルをダブルクリックしてppdファイルをインストールします。<br />c) システム環境設定 > プリンタとスキャナと進んで，「プリンタ，スキャナ，またはファックスを追加...」を押してBonjourで見えているプリンタを選択<br />e) プリンタドライバが自動的に選択されるので，「追加」をクリック<br />f) デフォルトで用いるプリンタを選んで右クリックしてデフォルトプリンタに設定。<br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519469224</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519468668.html</link>
      <title>Mac mini (2024)の設定(その2；環境設定)</title>
      <pubDate>Mon, 15 Dec 2025 04:00:00 +0900</pubDate>
            <description>インストールが終わったらTahoe 26.1がインストールされていました。次は環境設定を進めていきます。以前にVenturaをMacBook Pro (2017)にインストールしたときのメモと同様にすすめればよいのですが，インターフェースの見た目などが微妙に異なっていて手間取るところもあります。1. デスクトップにHDDを表示Finderのメニューから「設定...」を選んで「一般」のなかの「ハードディスク」にチェックをいれます。また，「詳細」のなかの「すべてのファイル名拡張子..</description>
            <itunes:summary><![CDATA[
インストールが終わったらTahoe 26.1がインストールされていました。

次は環境設定を進めていきます。

以前に<a href="http://mor-s.seesaa.net/article/503908732.html">VenturaをMacBook Pro (2017)にインストールしたときのメモ</a>と同様にすすめればよいのですが，インターフェースの見た目などが微妙に異なっていて手間取るところもあります。

1. デスクトップにHDDを表示
Finderのメニューから「設定...」を選んで「一般」のなかの「ハードディスク」にチェックをいれます。また，「詳細」のなかの「すべてのファイル名拡張子を表示」にチェックをいれます。「サイドバー」のなかで，自分のホーム，ハードディスク，接続中のサーバにチェックを入れ，iCloud関連，最近の項目，AirDrop，クラウドストレージ，Bonjourコンピュータのチェックをはずします。

2. ホームディレクトリとログインシェルの変更
/Volumes/DATA/の下に/Users/hogeというホームディレクトリを(ターミナルではなくfinderを使って)コピーして，/Volume/DATA/Users/hoge/を作ります。

環境設定 &gt; ユーザーとグループと進んで，自分のアカウントのところでcontrol + クリックして「詳細オプション...」を選びます。ここの設定を変えたらたいへんなことになるかもしれないぞ，的な脅しが書かれていますが臆することなく「ホームディレクトリ」のところの「選択...」を選んで新しく移動したホームディレクトリを指定します。

ついでにログインシェルを/bin/tcshに変更します。ずっと昔からcsh系を使い続けてきたので離れられないのです。

再起動すると新しいディレクトリがホームになっています(アイコンが変わるのでわかる)。また，ターミナルでecho $SHELLとやると/bin/tcshと表示されるのでログインシェルも変わっていることがわかります。

3. キーボード
3.1 キーボードショートカット
High Sierraの頃からspotlightと日本語変換の切り替えのキーボードショートカットが入れ替わりました。emacsを使うためには，contrl+spaceは絶対にあけておかねばならないので，日本語変換の切り替えをcommand+spaceに割り当てて，spotlightを無効化します。

システム環境設定 &gt; キーボード &gt; キーボードショートカット...と選んでspotlightを選んでチェックを外します。次に，入力ソースを選んで「前の入力ソースを選択」のチェックをはずし，「入力メニューの次のソースを選択のキーボードショートカットが表示されているところをダブルクリックしてからcommand + spaceを叩けばそれが登録されます。

Mission Controlのための修飾キーをデフォルトのcontrolではなくcommandにして使ってきたのでそれにあわせます。システム環境設定 &gt; キーボード &gt; キーボードショートカット...と進んで左のペインからMission Controlを選びます。右側のペインの一番上の「Misson Control」そのものをキーボードショートカットで起動するための修飾キーをcontrolからcommandに変えます。また，下から3番目にある「- Mission Control」を開いて，左の操作スペースに移動，右の操作スペースに移動の修飾キーをcontrolからcommandに変えます。

キーボードでcommand + 上矢印，またはtrackpadを3本指で上にスワイプして，デスクトップのリストを表示して，右端の＋を押してデスクトップを追加します。デスクトップの壁紙を変えないとどのデスクトップかわからなくなるので，「壁紙」から適当に変更します。デフォルトでは「全ての操作スペースに表示」がonになっているので，このボタンをおしてoffにしたあと，各操作スペースに異なる壁紙を指定していきます。

壁紙ごときで無駄にメモリーを浪費しているように思うのでなんだかなぁ，と思うところはあります。safariの画面を3つ，iterm2を1つ，システム設定を起動しているだけでメモリを14.4GBも消費しています。昔，640KBのユーザーメモリでMS-DOSを使っていた頃，メモリをケチケチしながら計算機を使った時代を思い出すにつけ，なんでこんなにメモリを喰うのか理解ができません。

3.2 controlとcaps lockの入れ替え
システム環境設定 &gt; キーボード &gt; キーボードショートカット...とすすんで左下の「修飾キー」を選んで，controlとcaps lockを入れ替えます。いつの頃からか「キーボードを選択」という項目がついていて，キーボードごとに設定ができるようになっています。

3.3 入力ソース
システム環境設定 &gt; キーボード のなかの「入力ソース」の「編集...」をクリックして，「すべての入力ソース」のなかにある余計なおせっかい機能である「英字入力中にスペルを自動変換」「文頭を自動的に大文字にする」「インライン予測テキストを表示」「スペースバーを2回押してピリオドを入力」「スマート引用符とスマートダッシュを使用」を無効にします。また「日本語-ローマ字入力」のなかの「ライブ変換」を無効にし，「句読点の種類」を「。と，」にして，「数字を全角入力」のチェックをはずします。

4. トラックパッド
システム環境設定 &gt; トラックパッドとすすんで「タップでクリック」を有効にし，「スクロールとズーム」で「ナチュラルなスクロール」を無効にします。もう，長い間ナチュラルじゃないスクロールに慣れてきたので今更，ナチュラルに使うことはできません。

5. ディスプレイ
システム環境設定 &gt; ディスプレイから「スペースを拡大」を選びます。

6. 画面のズーム
解像度を高くして多くの情報を表示したいけれども老眼で読めない，というジレンマがあるので画面をズームできるようにします。

システム環境設定 &gt; アクセシビリティー &gt; ズーム機能と進んで「スクロールジェスチャーと修飾キーを使ってズーム」を有効にし，「スクロールジェスチャーの修飾キー」としてOptionを選びます。「ズーム方法」は「ピクチャーインピクチャー」としてその横の「サイズと場所」をクリックしてピクチャインピクチャの枠をドラックしてサイズを変えます。真ん中のOKを押すと確定します。すぐ下の「詳細」をクリックしてポップアップウィンドウで「拡大イメージを移動」で「ポインタと一緒に連続的に移動」を選びます。「カーソルに追従」の「キーボードの操作対象にあわせる」で「入力時」を選ぶと，入力時は入力位置にあわせてズーム域が移動します。これで，オプションキーをおしながらトラックバッドを二本指でスワイプするとカーソル位置を中心にズームします。

7. SiriとSpotlight
全く使わないのでシステム環境設定 &gt; Spotlightと進んで検索対象の全てのチェックをはずします。また，その1つ上の「Apple IntelligenceとSiri」でApple IntelligenceとSiriを無効化しておきます。

8. Dock
システム環境設定 &gt; デスクトップとDockからDockの「サイズ」を小さくして，「拡大」を有効にします。「Dockを自動的に表示/非表示」を有効にします。

9. safariの設定
リンクにマウスをのせたときにリンク先のurlが表示されるようにします。Safariを立ち上げて「表示」メニューの「ステータスバーを表示」を選びます。

表示 &gt; ツールバーをカスタマイズと進んでツールバーにホームボタンを追加します。アイコンをツールバーへドラッグしてボタンを置きたい場所で離せばOKです。

Safari &gt; 設定... &gt; 一般と進んでホームページを設定します。また，新規タブや新規ウィンドウでホームページを表示するように設定にします。また，同じところで「ダウンロード後、“安全な”ファイルを開く」のチェックを外しておきます。

10. .cshrc
最低限の生活ができるように，ホームディレクトリに.cshrcを作って以前に書いたものと同じ内容を書いておきます。あとからhomebrewを使うのでパスを指定しておきます。

alias h history 25
alias j jobs -l
alias ls ls -F
alias la ls -a
alias lf ls -FA
alias ll ls -lA
alias rm rm -i
alias mv mv -i
alias cp cp -I
#
if($?REMOTEHOST) then
setenv DISPLAY $REMOTEHOST\:0.0
endif
#
set fignore = (\~ .o)
set filec
set history = 200
set ignoreeof
set notify
set savehist = 200
set autocorrect
set autolist = ambiguous
set complete = enhance
set correct = all
set histdup = erase
set prompt = '%n@%m%~%# '
set promptchars = '%#'
set rmstar
set symlinks = expand
#
if($OSTYPE == "darwin") then
  set path = (\
  $HOME/bin \
  /usr/local/sbin /usr/local/bin /usr/X11R6/bin \
  /usr/bin /bin /usr/sbin /sbin \
  /opt/homebrew/bin \
)
endif
#
bindkey ^R i-search-back
bindkey ' ' magic-space
complete cd 'p/1/d/'
#

11. ターミナルの設定
ターミナルを起動して，メニューのターミナル&gt;設定...とすすんで，「プロファイル」の「テキスト」タブにある「フォント」の「変更...」からフォントをOsaka-等幅にして，サイズを18にします。また，プロファイルのなかの「詳細」タブで，「言語環境」のテキストエンコーディングは「Unicode (UTF-8)」にしておきます。いまだに日本語コードは全てEUCで統一して使っているのですが，どうしてもUnicodeが必要なことがあるのでターミナルはUnicodeにしておきます。EUCは別途iterm2で使えるように設定します。

12. リモートからsshによる接続
システム環境設定 &gt; 一般と進んで下の方のリモートログインの「i」をクリックします。「リモートログイン」「リモートユーザのフルディスクアクセスを許可」を有効にして，「アクセス許可」は「次のユーザのみ」とします。ユーザのリストには「管理者」が登録されていますが，危険なので，「＋」をおして自分のアカウントを追加し，「管理者」を選んでから「ー」をおして管理者を無効化します。

リモートからはターミナルやiterm2からssh USER@IP_ADDRESSとして接続すればログインできます。

13. 壁紙をクリックしてデスクトップを表示
いつからかわかりませんが，壁紙をクリックするとアプリのウィンドウが全部退避して壁紙が表示される機能がデフォルトになっていました。こういう挙動な慣れなくて使いにくいのでオフにします。

システム環境設定 &gt; デスクトップとDockと選んで「壁紙をクリックしてデスクトップ」というところの設定を「常に」ぁら「ステージマネージャ使用時のみ」に変えます。もちろん「ステージマネージャ」は無効にします。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
インストールが終わったらTahoe 26.1がインストールされていました。<br /><br />次は環境設定を進めていきます。<br /><br />以前に<a href="http://mor-s.seesaa.net/article/503908732.html">VenturaをMacBook Pro (2017)にインストールしたときのメモ</a>と同様にすすめればよいのですが，インターフェースの見た目などが微妙に異なっていて手間取るところもあります。<br /><br />1. デスクトップにHDDを表示<br />Finderのメニューから「設定...」を選んで「一般」のなかの「ハードディスク」にチェックをいれます。また，「詳細」のなかの「すべてのファイル名拡張子を表示」にチェックをいれます。「サイドバー」のなかで，自分のホーム，ハードディスク，接続中のサーバにチェックを入れ，iCloud関連，最近の項目，AirDrop，クラウドストレージ，Bonjourコンピュータのチェックをはずします。<br /><br />2. ホームディレクトリとログインシェルの変更<br />/Volumes/DATA/の下に/Users/hogeというホームディレクトリを(ターミナルではなくfinderを使って)コピーして，/Volume/DATA/Users/hoge/を作ります。<br /><br />環境設定 > ユーザーとグループと進んで，自分のアカウントのところでcontrol + クリックして「詳細オプション...」を選びます。ここの設定を変えたらたいへんなことになるかもしれないぞ，的な脅しが書かれていますが臆することなく「ホームディレクトリ」のところの「選択...」を選んで新しく移動したホームディレクトリを指定します。<br /><br />ついでにログインシェルを/bin/tcshに変更します。ずっと昔からcsh系を使い続けてきたので離れられないのです。<br /><br />再起動すると新しいディレクトリがホームになっています(アイコンが変わるのでわかる)。また，ターミナルでecho $SHELLとやると/bin/tcshと表示されるのでログインシェルも変わっていることがわかります。<br /><br />3. キーボード<br />3.1 キーボードショートカット<br />High Sierraの頃からspotlightと日本語変換の切り替えのキーボードショートカットが入れ替わりました。emacsを使うためには，contrl+spaceは絶対にあけておかねばならないので，日本語変換の切り替えをcommand+spaceに割り当てて，spotlightを無効化します。<br /><br />システム環境設定 > キーボード > キーボードショートカット...と選んでspotlightを選んでチェックを外します。次に，入力ソースを選んで「前の入力ソースを選択」のチェックをはずし，「入力メニューの次のソースを選択のキーボードショートカットが表示されているところをダブルクリックしてからcommand + spaceを叩けばそれが登録されます。<br /><br />Mission Controlのための修飾キーをデフォルトのcontrolではなくcommandにして使ってきたのでそれにあわせます。システム環境設定 > キーボード > キーボードショートカット...と進んで左のペインからMission Controlを選びます。右側のペインの一番上の「Misson Control」そのものをキーボードショートカットで起動するための修飾キーをcontrolからcommandに変えます。また，下から3番目にある「- Mission Control」を開いて，左の操作スペースに移動，右の操作スペースに移動の修飾キーをcontrolからcommandに変えます。<br /><br />キーボードでcommand + 上矢印，またはtrackpadを3本指で上にスワイプして，デスクトップのリストを表示して，右端の＋を押してデスクトップを追加します。デスクトップの壁紙を変えないとどのデスクトップかわからなくなるので，「壁紙」から適当に変更します。デフォルトでは「全ての操作スペースに表示」がonになっているので，このボタンをおしてoffにしたあと，各操作スペースに異なる壁紙を指定していきます。<br /><br />壁紙ごときで無駄にメモリーを浪費しているように思うのでなんだかなぁ，と思うところはあります。safariの画面を3つ，iterm2を1つ，システム設定を起動しているだけでメモリを14.4GBも消費しています。昔，640KBのユーザーメモリでMS-DOSを使っていた頃，メモリをケチケチしながら計算機を使った時代を思い出すにつけ，なんでこんなにメモリを喰うのか理解ができません。<br /><br />3.2 controlとcaps lockの入れ替え<br />システム環境設定 > キーボード > キーボードショートカット...とすすんで左下の「修飾キー」を選んで，controlとcaps lockを入れ替えます。いつの頃からか「キーボードを選択」という項目がついていて，キーボードごとに設定ができるようになっています。<br /><br />3.3 入力ソース<br />システム環境設定 > キーボード のなかの「入力ソース」の「編集...」をクリックして，「すべての入力ソース」のなかにある余計なおせっかい機能である「英字入力中にスペルを自動変換」「文頭を自動的に大文字にする」「インライン予測テキストを表示」「スペースバーを2回押してピリオドを入力」「スマート引用符とスマートダッシュを使用」を無効にします。また「日本語-ローマ字入力」のなかの「ライブ変換」を無効にし，「句読点の種類」を「。と，」にして，「数字を全角入力」のチェックをはずします。<br /><br />4. トラックパッド<br />システム環境設定 > トラックパッドとすすんで「タップでクリック」を有効にし，「スクロールとズーム」で「ナチュラルなスクロール」を無効にします。もう，長い間ナチュラルじゃないスクロールに慣れてきたので今更，ナチュラルに使うことはできません。<br /><br />5. ディスプレイ<br />システム環境設定 > ディスプレイから「スペースを拡大」を選びます。<br /><br />6. 画面のズーム<br />解像度を高くして多くの情報を表示したいけれども老眼で読めない，というジレンマがあるので画面をズームできるようにします。<br /><br />システム環境設定 > アクセシビリティー > ズーム機能と進んで「スクロールジェスチャーと修飾キーを使ってズーム」を有効にし，「スクロールジェスチャーの修飾キー」としてOptionを選びます。「ズーム方法」は「ピクチャーインピクチャー」としてその横の「サイズと場所」をクリックしてピクチャインピクチャの枠をドラックしてサイズを変えます。真ん中のOKを押すと確定します。すぐ下の「詳細」をクリックしてポップアップウィンドウで「拡大イメージを移動」で「ポインタと一緒に連続的に移動」を選びます。「カーソルに追従」の「キーボードの操作対象にあわせる」で「入力時」を選ぶと，入力時は入力位置にあわせてズーム域が移動します。これで，オプションキーをおしながらトラックバッドを二本指でスワイプするとカーソル位置を中心にズームします。<br /><br />7. SiriとSpotlight<br />全く使わないのでシステム環境設定 > Spotlightと進んで検索対象の全てのチェックをはずします。また，その1つ上の「Apple IntelligenceとSiri」でApple IntelligenceとSiriを無効化しておきます。<br /><br />8. Dock<br />システム環境設定 > デスクトップとDockからDockの「サイズ」を小さくして，「拡大」を有効にします。「Dockを自動的に表示/非表示」を有効にします。<br /><br />9. safariの設定<br />リンクにマウスをのせたときにリンク先のurlが表示されるようにします。Safariを立ち上げて「表示」メニューの「ステータスバーを表示」を選びます。<br /><br />表示 > ツールバーをカスタマイズと進んでツールバーにホームボタンを追加します。アイコンをツールバーへドラッグしてボタンを置きたい場所で離せばOKです。<br /><br />Safari > 設定... > 一般と進んでホームページを設定します。また，新規タブや新規ウィンドウでホームページを表示するように設定にします。また，同じところで「ダウンロード後、“安全な”ファイルを開く」のチェックを外しておきます。<br /><br />10. .cshrc<br />最低限の生活ができるように，ホームディレクトリに.cshrcを作って以前に書いたものと同じ内容を書いておきます。あとからhomebrewを使うのでパスを指定しておきます。<br /><br />alias h history 25<br />alias j jobs -l<br />alias ls ls -F<br />alias la ls -a<br />alias lf ls -FA<br />alias ll ls -lA<br />alias rm rm -i<br />alias mv mv -i<br />alias cp cp -I<br />#<br />if($?REMOTEHOST) then<br />setenv DISPLAY $REMOTEHOST\:0.0<br />endif<br />#<br />set fignore = (\~ .o)<br />set filec<br />set history = 200<br />set ignoreeof<br />set notify<br />set savehist = 200<br />set autocorrect<br />set autolist = ambiguous<br />set complete = enhance<br />set correct = all<br />set histdup = erase<br />set prompt = '%n@%m%~%# '<br />set promptchars = '%#'<br />set rmstar<br />set symlinks = expand<br />#<br />if($OSTYPE == "darwin") then<br />  set path = (\<br />  $HOME/bin \<br />  /usr/local/sbin /usr/local/bin /usr/X11R6/bin \<br />  /usr/bin /bin /usr/sbin /sbin \<br />  /opt/homebrew/bin \<br />)<br />endif<br />#<br />bindkey ^R i-search-back<br />bindkey ' ' magic-space<br />complete cd 'p/1/d/'<br />#<br /><br />11. ターミナルの設定<br />ターミナルを起動して，メニューのターミナル>設定...とすすんで，「プロファイル」の「テキスト」タブにある「フォント」の「変更...」からフォントをOsaka-等幅にして，サイズを18にします。また，プロファイルのなかの「詳細」タブで，「言語環境」のテキストエンコーディングは「Unicode (UTF-8)」にしておきます。いまだに日本語コードは全てEUCで統一して使っているのですが，どうしてもUnicodeが必要なことがあるのでターミナルはUnicodeにしておきます。EUCは別途iterm2で使えるように設定します。<br /><br />12. リモートからsshによる接続<br />システム環境設定 > 一般と進んで下の方のリモートログインの「i」をクリックします。「リモートログイン」「リモートユーザのフルディスクアクセスを許可」を有効にして，「アクセス許可」は「次のユーザのみ」とします。ユーザのリストには「管理者」が登録されていますが，危険なので，「＋」をおして自分のアカウントを追加し，「管理者」を選んでから「ー」をおして管理者を無効化します。<br /><br />リモートからはターミナルやiterm2からssh USER@IP_ADDRESSとして接続すればログインできます。<br /><br />13. 壁紙をクリックしてデスクトップを表示<br />いつからかわかりませんが，壁紙をクリックするとアプリのウィンドウが全部退避して壁紙が表示される機能がデフォルトになっていました。こういう挙動な慣れなくて使いにくいのでオフにします。<br /><br />システム環境設定 > デスクトップとDockと選んで「壁紙をクリックしてデスクトップ」というところの設定を「常に」ぁら「ステージマネージャ使用時のみ」に変えます。もちろん「ステージマネージャ」は無効にします。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519468668</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519463771.html</link>
      <title>Mac mini (2024)の設定</title>
      <pubDate>Sun, 14 Dec 2025 04:00:00 +0900</pubDate>
            <description>昨年度末にM4チップを搭載したMac mini (2024)を調達しましたが，予想通り，年度がかわるととても計算機の設定なんかやっている暇もなく，そのまま放置していました。オフィスでメインで使っているのはMacBook Pro (2015)のUSキーボードの中古で，2コアのintel core i5，16GBのメモリが載っています。この世代のMacBook ProはSSDを交換できる最後のモデルですので変換アダプタを介してM.2規格1T SDDに載せ替えて，さらに，バッテリも..</description>
            <itunes:summary><![CDATA[
昨年度末にM4チップを搭載したMac mini (2024)を調達しましたが，予想通り，年度がかわるととても計算機の設定なんかやっている暇もなく，そのまま放置していました。オフィスでメインで使っているのはMacBook Pro (2015)のUSキーボードの中古で，2コアのintel core i5，16GBのメモリが載っています。この世代のMacBook ProはSSDを交換できる最後のモデルですので変換アダプタを介してM.2規格1T SDDに載せ替えて，さらに，バッテリもサードパーティのものに交換しています。

仕事でオンライン会議が増えて，というか，オンラインばっかりになって特にZoomを使うことが多いのですが，2コアのCPUでは背景をぼかしたり画像で背景を隠したりできず，普通に接続をしているだけでCPUの負荷が大きく，Word文書を共有しようものならメモリも逼迫して画面上でWord文書の画面を移動させるだけでもたいへん，というようなことになってしまいます。

そんなわけで代替品としてMac mini M4を調達したのです。ノートPCである必然性はほとんどなかったので安いというだけでデスクトップPCであるMac miniにしました。ただ，appleは常に標準のメモリは今は良いけれどもすぐに足りなくなる，というユーザーをナメた仕様なので上限いっぱいの32GBにしました。メモリの値段は尋常ならざる高価さなので萎えますが，あとから増設はできないので泣く泣くオーダーしました。一方でSSDは交換可能ということがわかっていましたので，最小の128GBのままとして，あとからサードパーティのSSDに交換することにしました。2TBのSSDをオーダーすると12万円かかりますが，Alliexpressで転がっている互換品なら現時点で3万円程度で買えます。Mac mini M4が登場して，互換SSDが市場に出回り始めた頃は互換品もまだ高価でしたが，だいぶ価格もこなれてきたのでセットアップをしないままに放置をしていた成果が発揮された，と考えることにします。

互換SSDもapple純正と同等を謳う10層基板のものが出回るようになって，せっかくなので10層基板のものを調達しました。最初にでまわった互換品が天極団隊(technojoy.team)のもので，10層基板の互換品はDeepSea Technologyのものです。市場に存在する互換品はすべてこの2つのタイプであると思われます。10層基板のものは2TBで4万円前後，technojoy.teamのものは3万円ちょっとくらいでそれなりに価格差があります。ただ，alliexpressをよくよく検索すると同じモノをやたらと安く売っているところもあって，10層基板のものを10月の初め頃にクーポンなどを駆使して34,000円足らずで<a href="https://ja.aliexpress.com/item/1005008677975111.html?spm=a2g0o.order_list.order_list_main.5.5b09585aik4YCB&amp;gatewayAdapt=glo2jpn">調達</a>しました。alliexpressは実にdeepな世界です。ただし，円安もあって現在(12月中旬)は45,000円近い値段になっているようです。

サイトではすぐに届くような書き振りでしたがよくあることで大幅に到着は遅延し，ほぼ3週間以上かかって忘れた頃に届きました。

SSDの交換方法は<a href="https://diysmartmatter.com/archives/5155">ここ</a>に詳しく書かれているのでそのとおりにやればそれほど難しいことではありません。最低限，必要な工具もSSDに同梱されています。

ハード的な部分は慎重にやれば大きな問題はありません。問題はOSのインストールです。まっさらのSSDにOSをインストールするにはMac mini M4をDFUモードで起動して別のmacにusbケーブルで接続してそのmacをホストとし，OSをダウンロードしたうえでMac mini M4をターゲットとしてインストールする，という手順が必要です。ホストとして使うmacはなんでもよいのですが，「最新のOS」がインストールされていることが要求されています。手元にはいくらでもmacはあるのですが手元にあるものはすべて古いintel CPUのmacで，現時点で最新のTahoeはおろか，一つ前のSequoiaさえもインストールできるものがありません。

しかし，調べてみるとOpenCore Legacy Patcher (OCLP)というありがたいツールがあってこれを使うと相当古い時代のmacにも最新のOSをインストールできます。古いmacに最新のOSをインストールして実用になるか，というのは別の問題で，いまは最新のOSをインストールすることが目的ですので実用性は無視します。手元にあったMacBook Pro (2015)にOCLPを使ってSequoiaをインストールしました。

OCLPのインストールは<a href="https://oclp.net/guide/install/download-and-build-macos-installers/">ここ</a>に書かれている通りにやれば問題なくsequoiaをインストールできました。32GB以上のUSBメモリが必要ですが，それは手元に転がっているものを適当に使い回しました。

このようにして無理矢理OCLPを使って最新OSにした古い(10年前！の) macでDFUモードのターゲットにOSをインストールできるのか，検索をしても情報がなかったので結構ドキドキしましたが，まったく問題ありませんでした。MacBook Pro (2015)のUSBポートはUSB-AなのでUSB-A ー USB-CのUSB3.0以上のケーブルが必要ですが，そのケーブルでsequoia on MacBook Pro (2015)とDFUモードon Mac mini (2024) M4を接続すれば，特に何かのアプリケーションを用意する必要もなく，FinderにDFUモードのMac mini M4が表示されました。

「Macを復元...」というボタンを押せばMac mini M4に工場出荷時の状態でインストールをしてくれます。OSを丸ごとダウンロードするようで，それなりに時間がかかりますが，兎に角，待っていれば終わります。インストールを開始する前にディスクユーティリティを起動してOSのためのパーティションとローカルデータの(ホームディレクトリを含む)パーティションに分けました。前者を1.25GB, 後者を750MBとしました。

インストールが完了すればMac mini M4を普通に再起動することで普通に最新のOS (Tahoe)が起動します。起動時の設定は言われるがままにやれば完了して，無事にMac mini M4単体で当たり前のように動くようになります。

システム環境を確認するとたしかにSSDが2TBとして認識されていることがわかります。文章にするとかなりたいへんな道のりに見えますがOSをダウンロードしている時間を別にすれば作業時間は半日程度で思ったほど大仕事にはなりませんでした。

OSが動くようになったので，あとは環境設定をすすめます。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
昨年度末にM4チップを搭載したMac mini (2024)を調達しましたが，予想通り，年度がかわるととても計算機の設定なんかやっている暇もなく，そのまま放置していました。オフィスでメインで使っているのはMacBook Pro (2015)のUSキーボードの中古で，2コアのintel core i5，16GBのメモリが載っています。この世代のMacBook ProはSSDを交換できる最後のモデルですので変換アダプタを介してM.2規格1T SDDに載せ替えて，さらに，バッテリもサードパーティのものに交換しています。<br /><br />仕事でオンライン会議が増えて，というか，オンラインばっかりになって特にZoomを使うことが多いのですが，2コアのCPUでは背景をぼかしたり画像で背景を隠したりできず，普通に接続をしているだけでCPUの負荷が大きく，Word文書を共有しようものならメモリも逼迫して画面上でWord文書の画面を移動させるだけでもたいへん，というようなことになってしまいます。<br /><br />そんなわけで代替品としてMac mini M4を調達したのです。ノートPCである必然性はほとんどなかったので安いというだけでデスクトップPCであるMac miniにしました。ただ，appleは常に標準のメモリは今は良いけれどもすぐに足りなくなる，というユーザーをナメた仕様なので上限いっぱいの32GBにしました。メモリの値段は尋常ならざる高価さなので萎えますが，あとから増設はできないので泣く泣くオーダーしました。一方でSSDは交換可能ということがわかっていましたので，最小の128GBのままとして，あとからサードパーティのSSDに交換することにしました。2TBのSSDをオーダーすると12万円かかりますが，Alliexpressで転がっている互換品なら現時点で3万円程度で買えます。Mac mini M4が登場して，互換SSDが市場に出回り始めた頃は互換品もまだ高価でしたが，だいぶ価格もこなれてきたのでセットアップをしないままに放置をしていた成果が発揮された，と考えることにします。<br /><br />互換SSDもapple純正と同等を謳う10層基板のものが出回るようになって，せっかくなので10層基板のものを調達しました。最初にでまわった互換品が天極団隊(technojoy.team)のもので，10層基板の互換品はDeepSea Technologyのものです。市場に存在する互換品はすべてこの2つのタイプであると思われます。10層基板のものは2TBで4万円前後，technojoy.teamのものは3万円ちょっとくらいでそれなりに価格差があります。ただ，alliexpressをよくよく検索すると同じモノをやたらと安く売っているところもあって，10層基板のものを10月の初め頃にクーポンなどを駆使して34,000円足らずで<a href="https://ja.aliexpress.com/item/1005008677975111.html?spm=a2g0o.order_list.order_list_main.5.5b09585aik4YCB&gatewayAdapt=glo2jpn">調達</a>しました。alliexpressは実にdeepな世界です。ただし，円安もあって現在(12月中旬)は45,000円近い値段になっているようです。<br /><br />サイトではすぐに届くような書き振りでしたがよくあることで大幅に到着は遅延し，ほぼ3週間以上かかって忘れた頃に届きました。<br /><br />SSDの交換方法は<a href="https://diysmartmatter.com/archives/5155">ここ</a>に詳しく書かれているのでそのとおりにやればそれほど難しいことではありません。最低限，必要な工具もSSDに同梱されています。<br /><br />ハード的な部分は慎重にやれば大きな問題はありません。問題はOSのインストールです。まっさらのSSDにOSをインストールするにはMac mini M4をDFUモードで起動して別のmacにusbケーブルで接続してそのmacをホストとし，OSをダウンロードしたうえでMac mini M4をターゲットとしてインストールする，という手順が必要です。ホストとして使うmacはなんでもよいのですが，「最新のOS」がインストールされていることが要求されています。手元にはいくらでもmacはあるのですが手元にあるものはすべて古いintel CPUのmacで，現時点で最新のTahoeはおろか，一つ前のSequoiaさえもインストールできるものがありません。<br /><br />しかし，調べてみるとOpenCore Legacy Patcher (OCLP)というありがたいツールがあってこれを使うと相当古い時代のmacにも最新のOSをインストールできます。古いmacに最新のOSをインストールして実用になるか，というのは別の問題で，いまは最新のOSをインストールすることが目的ですので実用性は無視します。手元にあったMacBook Pro (2015)にOCLPを使ってSequoiaをインストールしました。<br /><br />OCLPのインストールは<a href="https://oclp.net/guide/install/download-and-build-macos-installers/">ここ</a>に書かれている通りにやれば問題なくsequoiaをインストールできました。32GB以上のUSBメモリが必要ですが，それは手元に転がっているものを適当に使い回しました。<br /><br />このようにして無理矢理OCLPを使って最新OSにした古い(10年前！の) macでDFUモードのターゲットにOSをインストールできるのか，検索をしても情報がなかったので結構ドキドキしましたが，まったく問題ありませんでした。MacBook Pro (2015)のUSBポートはUSB-AなのでUSB-A ー USB-CのUSB3.0以上のケーブルが必要ですが，そのケーブルでsequoia on MacBook Pro (2015)とDFUモードon Mac mini (2024) M4を接続すれば，特に何かのアプリケーションを用意する必要もなく，FinderにDFUモードのMac mini M4が表示されました。<br /><br />「Macを復元...」というボタンを押せばMac mini M4に工場出荷時の状態でインストールをしてくれます。OSを丸ごとダウンロードするようで，それなりに時間がかかりますが，兎に角，待っていれば終わります。インストールを開始する前にディスクユーティリティを起動してOSのためのパーティションとローカルデータの(ホームディレクトリを含む)パーティションに分けました。前者を1.25GB, 後者を750MBとしました。<br /><br />インストールが完了すればMac mini M4を普通に再起動することで普通に最新のOS (Tahoe)が起動します。起動時の設定は言われるがままにやれば完了して，無事にMac mini M4単体で当たり前のように動くようになります。<br /><br />システム環境を確認するとたしかにSSDが2TBとして認識されていることがわかります。文章にするとかなりたいへんな道のりに見えますがOSをダウンロードしている時間を別にすれば作業時間は半日程度で思ったほど大仕事にはなりませんでした。<br /><br />OSが動くようになったので，あとは環境設定をすすめます。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519463771</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/519463082.html</link>
      <title>heif形式のファイルをjpegに変換する</title>
      <pubDate>Sat, 13 Dec 2025 14:33:02 +0900</pubDate>
            <description>最近のデジカメはjpegだけでなく，heif形式のファイルで保存できるものが多くなってきています。jpegの8bitに対してhiefは10bitの深さがあるのでダイナミックレンジを広くとることができます。ずいぶん昔にiphoneのカメラがheif形式で出力するようになったらしく，そのためmacOSは2017年にリリースされたHigh Sierra (10.13)以降，デフォルトでインストールされている「プレビュー」アプリでheif形式のファイルを普通に表示することができます。..</description>
            <itunes:summary><![CDATA[
最近のデジカメはjpegだけでなく，heif形式のファイルで保存できるものが多くなってきています。jpegの8bitに対してhiefは10bitの深さがあるのでダイナミックレンジを広くとることができます。ずいぶん昔にiphoneのカメラがheif形式で出力するようになったらしく，そのためmacOSは2017年にリリースされたHigh Sierra (10.13)以降，デフォルトでインストールされている「プレビュー」アプリでheif形式のファイルを普通に表示することができます。

一方，windowsは拡張機能をインストールしないと使えないようです。そのため，デジカメの画像を他の人とやり取りする場合はjpegに変換してから渡した方が平和です。

Sonyのα7C iiはheif形式の画像は拡張子がHIFとして出力されます。macOSであればプレビューで見ることもできますし，jpegへの変換もできます。Sony純正という意味ではImaging Edge Desktopを使えばプレビューと同じことができるはずですが，インストールしてアプリを起動後，Viewerを起動しようとすると「必要なファイルが存在しない，または壊れているため起動できませんでした。Imaging Edge Desktop (Remote/Viewer/Edit)の再インストールをお試ししてください。」というメッセージがでて起動しません。もちろんアプリケーションフォルダにあるImaging Edgeというフォルダの中には，Remote.app, Viewer.app, Edit.appがちゃんと存在しているので動きそうなものです。実際，これらのappを直接起動しようとしても同じメッセージがでて起動しません。どんだけ出来が悪いのかと思ってしまいます。どうしようもないのでSonyのソフトは諦めます。

たくさんのファイルがあるときはプレビューではやってられないので，スクリプトで処理できるようにしてみます。

libheifをインストールするとheif-convertというコマンドが使えるようになります。このコマンドを使って
heif-convert input.HIF output.JPG
とやればinput.HIFがoutput.JPGに変換されます。これを多数のファイルについてまとめて処理するには，csh系ではforeachを使います。
foreach i (*.HIF)
echo $i
heif-convert $i $i:r.JPG
end
とやればカレントディレクトリに置かれたheif形式のファイルをひとつづつjpegファイルに書き換えてくれます。ここで:rは$iから拡張子をとりのぞく，という意味です。このような変数の値にちょっとした手を加えるコマンドは以下のようになっています。
:r　　拡張子の部分を取る。
:h　　パス名を取り出す。
:e　　拡張子を取り出す。
:t　　ファイル名と拡張子を取り出す。

手元でいつも使っているMacBook Pro (2017)はこの変換にはかなり時間がかかります。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
最近のデジカメはjpegだけでなく，heif形式のファイルで保存できるものが多くなってきています。jpegの8bitに対してhiefは10bitの深さがあるのでダイナミックレンジを広くとることができます。ずいぶん昔にiphoneのカメラがheif形式で出力するようになったらしく，そのためmacOSは2017年にリリースされたHigh Sierra (10.13)以降，デフォルトでインストールされている「プレビュー」アプリでheif形式のファイルを普通に表示することができます。<br /><br />一方，windowsは拡張機能をインストールしないと使えないようです。そのため，デジカメの画像を他の人とやり取りする場合はjpegに変換してから渡した方が平和です。<br /><br />Sonyのα7C iiはheif形式の画像は拡張子がHIFとして出力されます。macOSであればプレビューで見ることもできますし，jpegへの変換もできます。Sony純正という意味ではImaging Edge Desktopを使えばプレビューと同じことができるはずですが，インストールしてアプリを起動後，Viewerを起動しようとすると「必要なファイルが存在しない，または壊れているため起動できませんでした。Imaging Edge Desktop (Remote/Viewer/Edit)の再インストールをお試ししてください。」というメッセージがでて起動しません。もちろんアプリケーションフォルダにあるImaging Edgeというフォルダの中には，Remote.app, Viewer.app, Edit.appがちゃんと存在しているので動きそうなものです。実際，これらのappを直接起動しようとしても同じメッセージがでて起動しません。どんだけ出来が悪いのかと思ってしまいます。どうしようもないのでSonyのソフトは諦めます。<br /><br />たくさんのファイルがあるときはプレビューではやってられないので，スクリプトで処理できるようにしてみます。<br /><br />libheifをインストールするとheif-convertというコマンドが使えるようになります。このコマンドを使って<br />heif-convert input.HIF output.JPG<br />とやればinput.HIFがoutput.JPGに変換されます。これを多数のファイルについてまとめて処理するには，csh系ではforeachを使います。<br />foreach i (*.HIF)<br />echo $i<br />heif-convert $i $i:r.JPG<br />end<br />とやればカレントディレクトリに置かれたheif形式のファイルをひとつづつjpegファイルに書き換えてくれます。ここで:rは$iから拡張子をとりのぞく，という意味です。このような変数の値にちょっとした手を加えるコマンドは以下のようになっています。<br />:r　　拡張子の部分を取る。<br />:h　　パス名を取り出す。<br />:e　　拡張子を取り出す。<br />:t　　ファイル名と拡張子を取り出す。<br /><br />手元でいつも使っているMacBook Pro (2017)はこの変換にはかなり時間がかかります。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Camera &amp; Photo</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/519463082</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/518022332.html</link>
      <title>exifからレンズ情報を抽出する</title>
      <pubDate>Fri, 05 Sep 2025 21:37:47 +0900</pubDate>
            <description>たくさん撮影した写真のファイルを一つのフォルダに格納して，そのファイルのファイル名とレンズ名を1行に出力したリストを出力する方法です。このようなことをしたいという需要があるとは到底思えませんが忘れないようにメモしておきます。cd somewhererm hoge.txtforeach i ( DSC*.HIF )foreach? echo -n &quot;$i  =&amp;gt; &quot; &amp;gt;&amp;gt; ./hoge.txtforeach? exiftool $i | grep &quot;Lens ..</description>
            <itunes:summary><![CDATA[
たくさん撮影した写真のファイルを一つのフォルダに格納して，そのファイルのファイル名とレンズ名を1行に出力したリストを出力する方法です。このようなことをしたいという需要があるとは到底思えませんが忘れないようにメモしておきます。

cd somewhere
rm hoge.txt
foreach i ( DSC*.HIF )
foreach? echo -n "$i  =&gt; " &gt;&gt; ./hoge.txt
foreach? exiftool $i | grep "Lens Model" &gt;&gt; ./hoge.txt
foreach? end

cat hoge.txt
DSC_0209.HIF =&gt; Lens Model                      : NIKKOR Z 40mm f/2
DSC_0210.HIF =&gt; Lens Model                      : NIKKOR Z 40mm f/2
DSC_0211.HIF =&gt; Lens Model                      : NIKKOR Z 40mm f/2
DSC_0311.HIF =&gt; Lens Model                      : NIKKOR Z 24-70mm f/4 S
DSC_0312.HIF =&gt; Lens Model                      : Viltrox AF 20/2.8 Z
...

カメラはNikon Zfです。ZfのexifにはLens IDというエントリーもありますが，ViltroxのレンズはUnknownとなります。サードパーティのレンズはexifへの対応は標準的なエントリーだけ対応するようにしているのかもしれません。まぁ，Lens Modelからデータを拾えばよいだけなのでどうってこともないのですが。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
たくさん撮影した写真のファイルを一つのフォルダに格納して，そのファイルのファイル名とレンズ名を1行に出力したリストを出力する方法です。このようなことをしたいという需要があるとは到底思えませんが忘れないようにメモしておきます。<br /><br />cd somewhere<br />rm hoge.txt<br />foreach i ( DSC*.HIF )<br />foreach? echo -n "$i  => " >> ./hoge.txt<br />foreach? exiftool $i | grep "Lens Model" >> ./hoge.txt<br />foreach? end<br /><br />cat hoge.txt<br />DSC_0209.HIF => Lens Model                      : NIKKOR Z 40mm f/2<br />DSC_0210.HIF => Lens Model                      : NIKKOR Z 40mm f/2<br />DSC_0211.HIF => Lens Model                      : NIKKOR Z 40mm f/2<br />DSC_0311.HIF => Lens Model                      : NIKKOR Z 24-70mm f/4 S<br />DSC_0312.HIF => Lens Model                      : Viltrox AF 20/2.8 Z<br />...<br /><br />カメラはNikon Zfです。ZfのexifにはLens IDというエントリーもありますが，ViltroxのレンズはUnknownとなります。サードパーティのレンズはexifへの対応は標準的なエントリーだけ対応するようにしているのかもしれません。まぁ，Lens Modelからデータを拾えばよいだけなのでどうってこともないのですが。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Camera &amp; Photo</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/518022332</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/517597468.html</link>
      <title>クリスマス・イブ</title>
      <pubDate>Mon, 11 Aug 2025 20:41:37 +0900</pubDate>
            <description>ラジオを聴いていたら山下達郎のクリスマス・イブを流していました。J-POPは全然ダメなのですがそういえば聴いたことあるよな，と思って聴いていて検索などしていたらシンデレラエクスプレスのCMがでてきました。1989年の牧瀬里穂のJR東海のシンデレラエクスプレスです。1989年は昭和64年＝平成元年です。私は学部を卒業した年でした。シンデレラエクスプレスのCMはテレビなんてまったくみない私でも知っていたくらいインパクトがあったのだと思います。検索をしているとこのCMのストーリーを..</description>
            <itunes:summary><![CDATA[
ラジオを聴いていたら山下達郎のクリスマス・イブを流していました。J-POPは全然ダメなのですがそういえば聴いたことあるよな，と思って聴いていて検索などしていたらシンデレラエクスプレスのCMがでてきました。

1989年の<a href="https://www.youtube.com/watch?v=hrAjdvrlTVA">牧瀬里穂のJR東海のシンデレラエクスプレス</a>です。

1989年は昭和64年＝平成元年です。私は学部を卒業した年でした。

シンデレラエクスプレスのCMはテレビなんてまったくみない私でも知っていたくらいインパクトがあったのだと思います。検索をしているとこのCMのストーリーを読み解く，という<a href="https://sakumaga.sakura.ad.jp/entry/2020/10/07/120000">とてつもなくマニアなページ</a>がありました。だからどうだ，って話はないのですが，これはすごいな，と。

なんか懐かしかった。そんだけ。


<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
ラジオを聴いていたら山下達郎のクリスマス・イブを流していました。J-POPは全然ダメなのですがそういえば聴いたことあるよな，と思って聴いていて検索などしていたらシンデレラエクスプレスのCMがでてきました。<br /><br />1989年の<a href="https://www.youtube.com/watch?v=hrAjdvrlTVA">牧瀬里穂のJR東海のシンデレラエクスプレス</a>です。<br /><br />1989年は昭和64年＝平成元年です。私は学部を卒業した年でした。<br /><br />シンデレラエクスプレスのCMはテレビなんてまったくみない私でも知っていたくらいインパクトがあったのだと思います。検索をしているとこのCMのストーリーを読み解く，という<a href="https://sakumaga.sakura.ad.jp/entry/2020/10/07/120000">とてつもなくマニアなページ</a>がありました。だからどうだ，って話はないのですが，これはすごいな，と。<br /><br />なんか懐かしかった。そんだけ。<br /><br /><br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Music &amp; Movie</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/517597468</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/509879198.html</link>
      <title>emathのインストール</title>
      <pubDate>Fri, 31 Jan 2025 18:05:02 +0900</pubDate>
            <description>LaTeXで数学のプリントや試験問題を作るためのパッケージにemathというものがあります。けっこうたくさんのファイル(現時点で178個のファイル)から構成されるパッケージなのですが，なぜかCTANのようなお手軽システムを使ったインストールはできず，独自に手動でインストールせねばなりません。ファイルが1個か2個で構成されるなら.texファイルと同じディレクトリに置いておけばよいのですが100個以上のファイルをカレントディレクトリにばら撒く気にはちょっとなりません。というわけで..</description>
            <itunes:summary><![CDATA[
LaTeXで数学のプリントや試験問題を作るためのパッケージにemathというものがあります。けっこうたくさんのファイル(現時点で178個のファイル)から構成されるパッケージなのですが，なぜかCTANのようなお手軽システムを使ったインストールはできず，独自に手動でインストールせねばなりません。ファイルが1個か2個で構成されるなら.texファイルと同じディレクトリに置いておけばよいのですが100個以上のファイルをカレントディレクトリにばら撒く気にはちょっとなりません。

というわけで，手動でインストールします。

1. <a href="http://emath.la.coocan.jp">配布元</a>のトップページの中程にある「入口」をクリック。
2. 「スタイルファイル」という項目にダウンロードするべきファイルがありますが，3種類あって違いがよくわかりません。どうやら「訂正版」というところをクリックするらしい。
3. 「訂正版」に入ると「1 スタイルファイルの訂正版」というところにemathcYYMMDD.zipというファイルへのリンクがあるのでクリックしてダウンロード。YYMMDDはそのバージョンの日付のようです。
4. いつも存在するのかどうかわかりませんが，「1' 補訂版」というのがあって同じくzipファイルがダウンロードできます。どうやらこちらは訂正版から修正されたり追加されたファイルのみがはいっているようです。
5. 訂正版のzipファイルを展開。
6. 補訂版のzipファイルを展開して展開されたファイルで訂正版のzipファイルに含まれていたファイルを上書きしてしまいます。
7. 補訂版で上書きしたファイル一式を適当なディレクトリ(たとえば，emathc241011/)に入れて，/usr/local/share/texmf-local/以下にディレクトリごとコピー。
8. cd /usr/local/share/texmf-dist/tex/latex
9. ln -s ../../../texmf-local/emathc241011 emath
10. mktexlsr

とやります。texmf-localの下にemathのパッケージをおいてmktexlsrを走らせてもlatexからパッケージを見つけることができません。かならず8のディレクトリ(/usr/local/share/texmf-dist/tex/latex/)の下にもパッケージを置いてlatexが参照できるようにしておかねばなりません。そのうえで，mktexlsrでファイルのデータベースを更新します。

8と9が必要だということがわかってなくてハマりまくりました。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
LaTeXで数学のプリントや試験問題を作るためのパッケージにemathというものがあります。けっこうたくさんのファイル(現時点で178個のファイル)から構成されるパッケージなのですが，なぜかCTANのようなお手軽システムを使ったインストールはできず，独自に手動でインストールせねばなりません。ファイルが1個か2個で構成されるなら.texファイルと同じディレクトリに置いておけばよいのですが100個以上のファイルをカレントディレクトリにばら撒く気にはちょっとなりません。<br /><br />というわけで，手動でインストールします。<br /><br />1. <a href="http://emath.la.coocan.jp">配布元</a>のトップページの中程にある「入口」をクリック。<br />2. 「スタイルファイル」という項目にダウンロードするべきファイルがありますが，3種類あって違いがよくわかりません。どうやら「訂正版」というところをクリックするらしい。<br />3. 「訂正版」に入ると「1 スタイルファイルの訂正版」というところにemathcYYMMDD.zipというファイルへのリンクがあるのでクリックしてダウンロード。YYMMDDはそのバージョンの日付のようです。<br />4. いつも存在するのかどうかわかりませんが，「1' 補訂版」というのがあって同じくzipファイルがダウンロードできます。どうやらこちらは訂正版から修正されたり追加されたファイルのみがはいっているようです。<br />5. 訂正版のzipファイルを展開。<br />6. 補訂版のzipファイルを展開して展開されたファイルで訂正版のzipファイルに含まれていたファイルを上書きしてしまいます。<br />7. 補訂版で上書きしたファイル一式を適当なディレクトリ(たとえば，emathc241011/)に入れて，/usr/local/share/texmf-local/以下にディレクトリごとコピー。<br />8. cd /usr/local/share/texmf-dist/tex/latex<br />9. ln -s ../../../texmf-local/emathc241011 emath<br />10. mktexlsr<br /><br />とやります。texmf-localの下にemathのパッケージをおいてmktexlsrを走らせてもlatexからパッケージを見つけることができません。かならず8のディレクトリ(/usr/local/share/texmf-dist/tex/latex/)の下にもパッケージを置いてlatexが参照できるようにしておかねばなりません。そのうえで，mktexlsrでファイルのデータベースを更新します。<br /><br />8と9が必要だということがわかってなくてハマりまくりました。<br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/509879198</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/508301363.html</link>
      <title>メタヒューリスティックな最適化アルゴリズム</title>
      <pubDate>Mon, 06 Jan 2025 11:42:20 +0900</pubDate>
            <description>最近勉強していないので世の中についていけてないのですが，メタヒューリスティックな最適化アルゴリズムをまとめて実装している人がいたのでメモのためにリンクを貼っておこうと思います。最適化アルゴリズムを実装していくぞ（概要）2021年頃の記事のようですが，ここに掲載されているアルゴリズムのなかで知らないアルゴリズムの方が多いってのは，己がどんだけ遅れているんだ(勉強していないんだ)，ってのがよくわかって悲しくなります。うーむ。そんだけ...。</description>
            <itunes:summary><![CDATA[
最近勉強していないので世の中についていけてないのですが，メタヒューリスティックな最適化アルゴリズムをまとめて実装している人がいたのでメモのためにリンクを貼っておこうと思います。

<a href="https://qiita.com/pocokhc/items/07b698cc426cadb3a64e">最適化アルゴリズムを実装していくぞ（概要）</a>

2021年頃の記事のようですが，ここに掲載されているアルゴリズムのなかで知らないアルゴリズムの方が多いってのは，己がどんだけ遅れているんだ(勉強していないんだ)，ってのがよくわかって悲しくなります。うーむ。

そんだけ...。<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
最近勉強していないので世の中についていけてないのですが，メタヒューリスティックな最適化アルゴリズムをまとめて実装している人がいたのでメモのためにリンクを貼っておこうと思います。<br /><br /><a href="https://qiita.com/pocokhc/items/07b698cc426cadb3a64e">最適化アルゴリズムを実装していくぞ（概要）</a><br /><br />2021年頃の記事のようですが，ここに掲載されているアルゴリズムのなかで知らないアルゴリズムの方が多いってのは，己がどんだけ遅れているんだ(勉強していないんだ)，ってのがよくわかって悲しくなります。うーむ。<br /><br />そんだけ...。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/508301363</guid>
                </item>
        <item>
      <link>https://mor-s.seesaa.net/article/505313529.html</link>
      <title>FreeBSD 13.3Rでアプリケーション＆ディスクサーバー(その11；apcupsd)</title>
      <pubDate>Mon, 21 Oct 2024 17:17:47 +0900</pubDate>
            <description>ディスクサーバーが停電でクラッシュをしたりするとその損害ははかり知れないのでUPSを導入します。これまで，三菱やオムロンのUPSを使ってきましたが，FreeBSDでも普通に連携がとれるAPCが一番便利だというのが私の結論です。そのため，三菱の古いUPSを廃棄してかわりにAPCのBR 1000S-JPを導入しました。OSとUPSの通信はUSBを介して行い，ソフトウェアとしてはapcupsdを使います。USBケーブルはPC側は普通のA端子ですが，UPS側はRJ-45タイプのよくわ..</description>
            <itunes:summary><![CDATA[
ディスクサーバーが停電でクラッシュをしたりするとその損害ははかり知れないのでUPSを導入します。これまで，三菱やオムロンのUPSを使ってきましたが，FreeBSDでも普通に連携がとれるAPCが一番便利だというのが私の結論です。そのため，三菱の古いUPSを廃棄してかわりにAPCのBR 1000S-JPを導入しました。OSとUPSの通信はUSBを介して行い，ソフトウェアとしてはapcupsdを使います。USBケーブルはPC側は普通のA端子ですが，UPS側はRJ-45タイプのよくわからんコネクタで，普通にUSB-Bにしておいてくれれば汎用のケーブルが使えるのに専用品をつけてくるところが嫌な感じです。APCは便利だけど昔からそういうせこいところが嫌いでした。

BR 1000Sに接続しているサーバーはディスクサーバーだけではなく，バックアップ用のサーバーなどもつなぐことにします。そのため，電源が失われたことを互いにネットワーク越しに情報共有してshutdownさせなくてはなりません。

ディスクサーバーとUPSを専用のUSBケーブルで接続し，それ以外のサーバーはディスクサーバーを参照するようにします。

いずれのサーバーもpkg install apcupsdでバイナリをインストールすることができます。古いサーバーでは古いOS (FreeBSD 11とか12！)が動いていて，いまさらpkgではインストールできません。FreeBSD 12のサーバーにはgmakeをインストール済みだったので，portsから簡単にインストールできました。

cd /usr/ports/sysutils/apcupsd/
make
make install

オプションがいろいろ表示されますが，デフォルトのままコンパイルしました。

一方，FreeBSD 11のサーバーにはgmakeもインストールしていなかったのでgmakeのインストールからやらねばなりませんでした。

cd /usr/ports/devel/gmake/
make

ここで，portsが古いとか危険だとか言われて止まってしまうのですが，これを回避するために，

make DISABLE_VULNERABILITIES=yes
make install

とやって無理やりインストールします。gmakeがインストールできたら，

cd /usr/ports/sysutils/apcupsd/
make DISABLE_VULNERABILITIES=yes
make install

とやることでapcupsdもインストールできました。良い子はマネをしてはいけません。

USBケーブルで直接UPSと接続しているディスクサーバーでは，/usr/local/etc/apcupsd/apcupsd.confを編集して以下のように設定しました。

## apcupsd.conf v1.1 ##
UPSNAME BR1000S
UPSCABLE usb
UPSTYPE usb
DEVICE
ONBATTERYDELAY 10
BATTERYLEVEL 10
MINUTES 5
TIMEOUT 150
KILLDELAY 600

DEVICEの値をブランクにしておかねばならないようです。電源が失われてから150秒でシャットダウンに入り，600秒でUPS自体の電源を落とす，という設定です。1行目は設定ファイルのバージョンを指定する行でたんなるコメント行ではないようです。この行を省略するとapcupsd起動時に古い設定ファイルっぽいからちゃんと内容を確認しろ，というような警告が表示されます。

ディスクサーバーで動いているapcupsdがマスターとなって，それ以外のサーバーで動くapcupsdはスレーブとして動かします。

## apcupsd.conf v1.1 ##
UPSNAME BR1000S
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.xxx.yyy:3551
ONBATTERYDELAY 10
BATTERYLEVEL 10
MINUTES 5
TIMEOUT 300
KILLDELAY 0

TIMEOUTはサーバーを落とす順番を考えて設定します。DEVICEの値はマスターのIPアドレスです。3551ポートを使うので，DMZとLANの間で通信ができるようにルーターのフィルタ設定を変更して3551が通るようにしておきます。スレーブではKILLDELAYは設定しないので0を書いておきます。

サーバーをshutdownしたときにサーバーの電源が落ちるように，/usr/local/etc/apcupsd/apccontrolを編集します。doshutdown)の後に書かれているshutdownコマンドのオプションが-hになっているのでこれを-pに修正しておきます。
${SHUTDOWN} -p now "apcupsd initiagted shutdown"
というふうにします。

最後に，/etc/rc.confに

apcupsd_enable="YES"
apcupsd_program="/usr/local/sbin/apcupsd"

を追記して，/usr/local/etc/rc.d/apcupsd startとしてapcupsdを起動します。起動したら，apcaccessでステータスを確認できます。USBケーブルでつながっている場合はSTATUS : ONLINEと表示され，ネットワーク越しにつながっている場合は，STATUS : ONLINE SLAVEと表示されます。MAXTIMEの値がTIMEOUTで設定した値になっていればたぶんOKです。

コンセントを引き抜いてちゃんとshutdownするかどうかを確認しなくてはならないのですが，バックアップ作成中なのでそれが終わってから確かめることにします。
<a></a>

]]></itunes:summary>
      <content:encoded><![CDATA[
ディスクサーバーが停電でクラッシュをしたりするとその損害ははかり知れないのでUPSを導入します。これまで，三菱やオムロンのUPSを使ってきましたが，FreeBSDでも普通に連携がとれるAPCが一番便利だというのが私の結論です。そのため，三菱の古いUPSを廃棄してかわりにAPCのBR 1000S-JPを導入しました。OSとUPSの通信はUSBを介して行い，ソフトウェアとしてはapcupsdを使います。USBケーブルはPC側は普通のA端子ですが，UPS側はRJ-45タイプのよくわからんコネクタで，普通にUSB-Bにしておいてくれれば汎用のケーブルが使えるのに専用品をつけてくるところが嫌な感じです。APCは便利だけど昔からそういうせこいところが嫌いでした。<br /><br />BR 1000Sに接続しているサーバーはディスクサーバーだけではなく，バックアップ用のサーバーなどもつなぐことにします。そのため，電源が失われたことを互いにネットワーク越しに情報共有してshutdownさせなくてはなりません。<br /><br />ディスクサーバーとUPSを専用のUSBケーブルで接続し，それ以外のサーバーはディスクサーバーを参照するようにします。<br /><br />いずれのサーバーもpkg install apcupsdでバイナリをインストールすることができます。古いサーバーでは古いOS (FreeBSD 11とか12！)が動いていて，いまさらpkgではインストールできません。FreeBSD 12のサーバーにはgmakeをインストール済みだったので，portsから簡単にインストールできました。<br /><br />cd /usr/ports/sysutils/apcupsd/<br />make<br />make install<br /><br />オプションがいろいろ表示されますが，デフォルトのままコンパイルしました。<br /><br />一方，FreeBSD 11のサーバーにはgmakeもインストールしていなかったのでgmakeのインストールからやらねばなりませんでした。<br /><br />cd /usr/ports/devel/gmake/<br />make<br /><br />ここで，portsが古いとか危険だとか言われて止まってしまうのですが，これを回避するために，<br /><br />make DISABLE_VULNERABILITIES=yes<br />make install<br /><br />とやって無理やりインストールします。gmakeがインストールできたら，<br /><br />cd /usr/ports/sysutils/apcupsd/<br />make DISABLE_VULNERABILITIES=yes<br />make install<br /><br />とやることでapcupsdもインストールできました。良い子はマネをしてはいけません。<br /><br />USBケーブルで直接UPSと接続しているディスクサーバーでは，/usr/local/etc/apcupsd/apcupsd.confを編集して以下のように設定しました。<br /><br />## apcupsd.conf v1.1 ##<br />UPSNAME BR1000S<br />UPSCABLE usb<br />UPSTYPE usb<br />DEVICE<br />ONBATTERYDELAY 10<br />BATTERYLEVEL 10<br />MINUTES 5<br />TIMEOUT 150<br />KILLDELAY 600<br /><br />DEVICEの値をブランクにしておかねばならないようです。電源が失われてから150秒でシャットダウンに入り，600秒でUPS自体の電源を落とす，という設定です。1行目は設定ファイルのバージョンを指定する行でたんなるコメント行ではないようです。この行を省略するとapcupsd起動時に古い設定ファイルっぽいからちゃんと内容を確認しろ，というような警告が表示されます。<br /><br />ディスクサーバーで動いているapcupsdがマスターとなって，それ以外のサーバーで動くapcupsdはスレーブとして動かします。<br /><br />## apcupsd.conf v1.1 ##<br />UPSNAME BR1000S<br />UPSCABLE ether<br />UPSTYPE net<br />DEVICE 192.168.xxx.yyy:3551<br />ONBATTERYDELAY 10<br />BATTERYLEVEL 10<br />MINUTES 5<br />TIMEOUT 300<br />KILLDELAY 0<br /><br />TIMEOUTはサーバーを落とす順番を考えて設定します。DEVICEの値はマスターのIPアドレスです。3551ポートを使うので，DMZとLANの間で通信ができるようにルーターのフィルタ設定を変更して3551が通るようにしておきます。スレーブではKILLDELAYは設定しないので0を書いておきます。<br /><br />サーバーをshutdownしたときにサーバーの電源が落ちるように，/usr/local/etc/apcupsd/apccontrolを編集します。doshutdown)の後に書かれているshutdownコマンドのオプションが-hになっているのでこれを-pに修正しておきます。<br />${SHUTDOWN} -p now "apcupsd initiagted shutdown"<br />というふうにします。<br /><br />最後に，/etc/rc.confに<br /><br />apcupsd_enable="YES"<br />apcupsd_program="/usr/local/sbin/apcupsd"<br /><br />を追記して，/usr/local/etc/rc.d/apcupsd startとしてapcupsdを起動します。起動したら，apcaccessでステータスを確認できます。USBケーブルでつながっている場合はSTATUS : ONLINEと表示され，ネットワーク越しにつながっている場合は，STATUS : ONLINE SLAVEと表示されます。MAXTIMEの値がTIMEOUTで設定した値になっていればたぶんOKです。<br /><br />コンセントを引き抜いてちゃんとshutdownするかどうかを確認しなくてはならないのですが，バックアップ作成中なのでそれが終わってから確かめることにします。<br /><a name="more"></a>

]]><![CDATA[
]]></content:encoded>
            <category>Computer</category>
      <author>MOR</author>
      <guid isPermaLink="false">blog:https://blog.seesaa.jp,mor-s/505313529</guid>
                </item>
      </channel>
</rss>

