Firefoxでアイコンが文字化けすることへの対応 [misc]
・Firefox 78.4.0esr (on Linux/Windows)
・Firefox 52.9.0esr (on Linux/Windows)
1. 発生事象
Firefox において、アイコンの文字化けが発生する。
・ツイッター等のアイコンの文字化け
・uBlock Origin アドオンのダッシュボードでのアイコンの文字化け
([フィルター一覧]、[Myフィルター] 等で発生)
2. 原因
下記のようなフォント設定を行っているためである。
(例) Linux の場合 * { font-family: "Sazanami Gothic", monospace !important; }
【設定の目的】
・明朝体を使用したくないため。
([ウェブページが指定したフォントを優先する] を無効化している。)
【設定箇所】
・Stylus アドオン
・<profile-dir>/chrome/userContent.css
【設定の問題点】
・すべてのコンテンツを対象としていることが問題である。
3. 対処方法
下記のように設定を変更する。
(1) 原因となっている設定の訂正
上記の原因となっている設定を下記のように変更する。
body { font-family: "Sazanami Gothic", monospace !important; }
(2) 設定の追加
Firefox のフォントの詳細設定で、下記の設定を行う。
上記 (1) の設定の対象から漏れるコンテンツへの対応である。
(章のタイトル、等)
・日本語の明朝体フォントにゴシック体のフォントを指定する。
明朝体 (Serif): Sazanami Gothic
(明朝体を使用する Web ページへの対応)
・必要なら、ラテン文字、その他の表記体系についても同様の設定を行う。
(lang 属性が英語、Unicode の Web ページへの対応)
rsyslogのタイムスタンプのフォーマット変更 [Linux]
不便を感じることが度々あるため、年(西暦 4桁)が出力されるように設定の変更を行った。
[ソフトウェアのバージョン]
・rsyslog 8.1901.0-1 (on Debian 10)
・rsyslog-8.24.0-52.el7_8.2.x86_64 (on CentOS 7)
1. 対応方法
/etc/rsyslog.conf にテンプレートの定義を追加し、これを使用する。
尚、タイムスタンプは、下記のように変更する。
(変更前) Jan 2 11:22:33 (変更後) 2020-01-02 11:22:33
2. 実施手順
(1) テンプレートの定義
下記のテンプレートを定義する(注1)。
$template custom_timestamp,"%timestamp::10:date-rfc3339% %timestamp:12:19:date-rfc3339% %hostname% %syslogtag% %msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
・%msg:::drop-last-lf%
メッセージの最初の文字がスペースでない場合に、スペースを返す。
・%msg:::sp-if-no-1st-sp%
メッセージを取得し、最後の改行を取り除く。
(2) デフォルト・テンプレートの変更
(変更前) $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat (変更後) $ActionFileDefaultTemplate custom_timestamp
(3) rsyslog の再起動
# systemctl restart rsyslog
3. 備考
(1) $ActionFileDefaultTemplate の代表的な設定値
(a) RSYSLOG_TraditionalFileFormat
・デフォルトの設定値である。
・タイプスタンプに年が含まれない。
(例) Jan 2 11:22:33
・フォーマットは、下記の通り(注1)。
"%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp% %msg:::drop-last-lf%\n"
(b) RSYSLOG_FileFormat
・高精度のタイプスタンプとタイムゾーン情報が含まれる。
(例) 2020-01-02T11:22:33.123456+09:00
・フォーマットは、下記の通り(注1)。
"%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag% %msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
(注1)
複数行として表示しているが、設定は一行で行う(単純に行を連結する)こと。
MewのSummaryモードでのローカルタイムへの変換 [Linux]
尚、これまでは変換せず、日時とタイムゾーンを表示していた。
編集するファイルは ~/.mew.el であり、手順は、以下の通りである。
(ソースの詳細は、備考を参照。)
1. 変数 mew-summary-ctz の追加
(defvar mew-summary-ctz t "*If mew-summary-ctz is t, use local time zone in Summary mode.")
変数 mew-summary-ctz が t の場合、ローカルタイムゾーンでの日時を表示する。
それ以外の場合、メールヘッダーの日時をそのまま表示する。
2. mew-summary-form-year2 関数の作成
mew-summary-form-year 関数をコピーし、下記の変更を行う。
(1) 変更箇所
下記の when を if に変更し、else 部分を追加する。
(when (or (string= s "") (not (string-match mew-time-rfc-regex s))) ...)
(2) 変更内容
下記のコードを追加する。
(when mew-summary-ctz (setq s (timezone-make-date-arpa-standard s)))
(補足)
mew-summary-form-year は、mew-scan.el で定義されている。
3. mew-summary-form-date2 関数の作成
mew-summary-form-date 関数をコピーし、下記の変更を行う。
(1) 変更箇所
mew-summary-form-year2 関数と同様。
(2) 変更内容
mew-summary-form-year2 関数と同様。
(補足)
mew-summary-form-date は、mew-scan.el で定義されている。
4. mew-summary-form-time2 関数の作成
mew-summary-form-time 関数をコピーし、下記の変更を行う。
(1) 変更箇所
mew-summary-form-year2 関数と同様。
(ただし、元々 when ではなく、if が使用されている。)
(2) 変更内容
mew-summary-form-year2 関数と同様。
(補足)
mew-summary-form-time は、mew-scan.el で定義されている。
5. mew-summary-form-tmzn 関数の作成
(defun mew-summary-form-tmzn () "A function to return the time zone of message time, [+-]HHMM." (let ((s (MEW-DATE))) (if (or (string= s "") (not (string-match mew-time-rfc-regex s))) (setq s (mew-time-ctz-to-rfc (mew-file-get-time (mew-expand-msg (MEW-FLD) (MEW-NUM))))) (when mew-summary-ctz (setq s (timezone-make-date-arpa-standard s)))) (if (not (string-match mew-time-rfc-regex s)) "" (setq s (mew-time-rfc-tmzn)) (format "%+03d%02d" (/ s 3600) (/ (% s 3600) 60)))))
6. 変数 mew-summary-form の設定変更
year2、date2、time2、tmzn を表示するように変更する。
(defun mew-summary-form-num () "A function to return a message number." (MEW-NUM)) (defvar mew-summary-message-number t "*If mew-summary-message-number is t, display message number in Summary mode.") (setq mew-summary-form (if mew-summary-message-number ;; display message number '((-4 num) " " type (4 year2) "-" (5 date2) " " (8 time2) " " (5 tmzn) " " (16 from) " " t (0 subj)) ;; display no message number '(type (4 year2) "-" (5 date2) " " (8 time2) " " (5 tmzn) " " (16 from) " " t (0 subj))))
7. ローカルタイムへの変換以外の変更点
今回行った変更以外に、下記の変更を行っている。
・日付フォーマットの変更 (YYYY/MM/DD から YYYY-MM-DD へ変更)
・時刻フォーマットの変更 (HH:MM から HH:MM:SS へ変更)
・タイムゾーンの表示
・メッセージ番号の表示 (変数 mew-summary-message-number で表示の有無を制御)
ClamAVの除外するパスの指定で使用できる正規表現の仕様 [Linux]
しかし、どのレベルの正規表現が使用できるのかが不明確なため、検証を行った。
(Debian 9、Debian 10、CentOS 7 で検証を実施。)
詳細は、以下の通りである。
1. .(ピリオド)
任意の 1 文字を表す。
2. *(アスタリスク)
直前の文字の 0 回以上の繰り返しを表す。
よって、すべての文字列を表すには、'*' ではなく、'.*' を使用する。
3. +(プラス)
直前の文字の 1 回以上の繰り返しを表す。
4. ^(キャレット、ハット)
先頭を表す。
5. $(ドル、ダラー)
末尾を表す。
6. [] での範囲指定
サポートされている。
(例) # clamdscan の場合 ExcludePath ^/tmp/data[1-3]/ # clamscan の場合 --exclude-dir='^/tmp/data[1-3]/'
7. [^] での範囲の除外
サポートされている。
(例) # clamdscan の場合 ExcludePath ^/tmp/data[^1-3]/ # clamscan の場合 --exclude-dir='^/tmp/data[^1-3]/'
8. () でのグループ化
サポートされている。
(例) # clamdscan の場合 ExcludePath ^/(mnt|misc|net|media)/ # clamscan の場合 --exclude-dir='^/(mnt|misc|net|media)/'
9. {} でのグループ化
サポートされていない。
(例) # clamdscan の場合 ExcludePath ^/{mnt,misc,net,media}/ # clamscan の場合 --exclude-dir='^/{mnt,misc,net,media}/'
root で /run/user/1000/gvfs/ にアクセスできない [CentOS]
gvfs-fuse-1.36.2-3.el7.x86_64
OS: CentOS 7.8
1. 発生事象
root で /run/user/1000/gvfs/ にアクセスできない。
# ls -l /run/user/1000/gvfs ls: cannot access /run/user/1000/gvfs: Permission denied
(補足)
・/etc/fuse.conf に下記の設定を追加しても改善されない。
user_allow_other、または allow_root
・ClamAV でのウイルス・チェックで不具合が発生する。
(当該ファイルにアクセスできないため。)
2. 対処方法
gvfs-fuse-1.36.2-3.el7.x86_64 パッケージを削除する。
# rpm -e gvfs-fuse-1.36.2-3.el7.x86_64
Debian 10のlogrotateの不具合 [Debian]
logrotate 3.14.0-4
systemd 241-7~deb10u4
clamdscan 0.102.2+dfsg-0+deb10u1
1. 発生事象
clamd のログファイルの切替が有効とならないことがある。
・該当するファイルは、/var/log/clamav/clamav.log である。
・logrotate でのファイルのローテーションは実行されている。
(cf. /var/lib/logrotate/status)
・clamd でのログの出力先が切り替っていない。
ログファイル内のログのタイムスタンプから判断できる。
・Debian 9 (logrotate 3.11.0-0.1) では発生しない。
2. 原因
ブート直後に logrotate が実行されることがあるためである。
(1) logrotate.timer により、ブート直後に logrotate が実行されることがある。
・00:00 に logrotate.timer を実行できない場合、次のブート時に発生する。
・logrotate.timer の設定に依存する。
([Timer] 欄の 'Persistent=true' により発生する。)
(2) ブート直後には、当該サービスは下記のような状態と思われる。
・常駐プロセスが起動されており、既にログファイルをオープンしている。
(常駐プロセスがログファイルを掴んでいる。)
・サービスとしては起動の途中であり、まだ inactive 状態である。
(3) 当該サービスについて、logrotate は下記のような処理を実施する。
・設定されている条件に従い、ログファイルをローテーションする。
・サービスが active 状態の場合、SIGHUP の送信を行う。
(cf. /etc/logrotate.d/clamav-daemon)
(4) 上記の場合、常駐プロセスでのログファイルの再オープンは実施されない。
・常駐プロセスでの SIGHUP の受信がないためである。
・このため、古いログファイルへの出力が継続される。
(補足)
・当該サービスは clamav-daemon、常駐プロセスは clamd である
・ブート直後以外での logrotate の実行では、問題は発生しない。
(当該サービスが active 状態のため。)
・Debian 9 では、logrotate.timer は存在しない。
(anacron は、cron から実行される。)
3. 対処方法
下記の手順により、ブート直後の logrotate の実行を回避する。
(1) /lib/systemd/system/logrotate.timer を変更する場合
(a) /lib/systemd/system/logrotate.timer の編集
# diff logrotate.timer logrotate.timer.org 6d5 < OnBootSec=5min 8a8 > Persistent=true
・[Timer] 欄の 'Persistent=true' の削除
ブート直後に logrotate が実行されないようにする。
・[Timer] 欄への 'OnBootSec=5min' の追加
ブートの 5分後に logrotate を実行する。
(サービスが active なるまでの待ち時間を設けている。)
・anacron の delay に該当する設定項目はない。
(b) 変更内容の反映
# systemctl daemon-reload
(2) /etc/systemd/system/logrotate.timer を作成する場合
(a) /etc/systemd/system/logrotate.timer の作成
/lib/systemd/system/logrotate.timer をコピーする。
(b) /etc/systemd/system/logrotate.timer の編集
/lib/systemd/system/logrotate.timer の場合と同じ。
(c) 変更内容の反映
# systemctl daemon-reload # systemctl enable logrotate.timer
(補足)
/etc/systemd/system/timers.target.wants/logrotate.timer が存在する。
ファイルの内容は、下記のいずれかである。
・/lib/systemd/system/logrotate.timer へのリンク
・/etc/systemd/system/logrotate.timer へのリンク
Thunderbirdの返信ヘッダーのカスタマイズ [Windows]
Windows 環境において、Thunderbird を時々使用している。
・現在は、Thunderbird 60.9.1 をインストールしている。
・主に使用しているメールソフトは、Linux 上の Mew である。
また、返信ヘッダーをカスタマイズできる適当なアドオンがない。
・SmartTemplate4 アドオンを使用していたが、有料化されたため使用を止めた。
・ReplyWithHeader アドオンを使用してみたが、致命的な不具合が発生する。
(返信メールへの返信で、返信ヘッダーの Subject から Re: が削除されてしまう。)
よって、適当なアドオンが見つかるまで、Thunderbird の機能で対応することにした。
2. 設定
プロファイル・フォルダの user.js に設定を追加する。
または、設定エディタで該当する設定値を変更する。
尚、設定エディタは、メニューから起動できる。
・[ツール] → [オプション] → [詳細] → [一般] を選択
・[高度な設定] で [設定エディタ] を選択
(1) type-1
(a) user.js の設定
// change reply header user_pref("mailnews.reply_header_type", 2); user_pref("mailnews.reply_header_ondateauthorwrote", \ "On #2 #3, author wrote:"); ← (注1)
(b) 返信ヘッダー
On YYYY/MM/DD hh:mm, author wrote: …
(2) type-2
(a) user.js の設定
// change reply header user_pref("mailnews.reply_header_type", 2); user_pref("mailnews.reply_header_ondateauthorwrote", \ "---- Original Message (#2 #3) ----"); ← (注1)
(b) 返信ヘッダー
---- Original Message (YYYY/MM/DD hh:mm) ---- …
(注1)
実際には、継続行ではなく一行に設定する。
GNOME 3 (flashback mode)からMATEへの移行 (Debian 10) [Debian]
GNOME 3 (flashback mode) から MATE への移行である。
実施手順は、以下の通りである。
尚、移行後の使用感としては、想定していた以上に良かった。
[パッケージ]
gnome-flashback 3.30.0-3
mate-desktop 1.20.4-2
1. GNOME パッケージのアンインストール
# apt-get purge gnome-* # apt-get autoremove
2. MATE パッケージのインストール
(1) 最小限のパッケージのインストール
# apt-get install mate-desktop-environment-core
(2) 追加パッケージのインストール
(a) システムモニタ、ゴミ箱のパネルへの追加のためのパッケージ
# apt-get install mate-applets
(b) MATE のメニュー編集用ツール
# apt-get install mozo
(c) スクリーンショットの取得(mate-screenshot) のためのパッケージ
# apt-get install mate-utils
・個別のパッケージになっておらず、mate-utils パッケージに含まれる。
・インストールされる依存パッケージは、下記の通りである。
libmatedict6
mate-utils-common
(3) 不要なパッケージのアンインストール
必要とする機能により異なる。
また、必要なパッケージをアンインストールしないように要注意。
(実行例) # dpkg --purge gnome-user-guide # dpkg --purge mate-user-guide # apt-get autoremove
(補足)
下記のコマンドにより、アンインストールできるパッケージの候補を取得できる。
# dpkg -l | awk '/^rc/ { print $2 }' # dpkg -l | grep -i gnome | awk '{print $1, $2, $3}'
3. 不要なファイルの削除
# apt-get clean # apt-get autoclean
Debian 9からDebian 10へのアップデート後の問題点への対応(2) [Debian]
これで、どうにか Debian 9 に近い状態になったと思われる。
尚、以前に行った対応は、下記 URL に記載の通りである。
・https://dan-project.blog.ss-blog.jp/2019-10-21
1. [PulseAudio が正常に起動されない] ことへの対応
【発生事象】
・YouTube の音声が出力されない。
・radiko の再生に失敗する。
・X の起動時に 'pulseaudio --start' で PulseAudio を起動するように設定している。
[エラーメッセージ] pulseaudio[1938]: bind(): アドレスは既に使用中です pulseaudio[1938]: Failed to load module "module-native-protocol-unix" \ (argument: ""): initialization failed. systemd[1782]: Starting Sound Service... pulseaudio[1945]: E: [pulseaudio] pid.c: Daemon already running. pulseaudio[1945]: E: [pulseaudio] main.c: pa_pid_file_create() failed. systemd[1782]: pulseaudio.service: Main process exited, code=exited, \ status=1/FAILURE systemd[1782]: pulseaudio.service: Failed with result 'exit-code'. systemd[1782]: Failed to start Sound Service.
・原因
systemd から起動される pulseaudio.service がエラーを発生している。
(/usr/lib/systemd/user/pulseaudio.service が使用される。)
また、この状態で 'pulseaudio --start' を実行してもエラーとなる。
【パッケージ】
pulseaudio 12.2-4+deb10u1
pulseaudio-utils 12.2-4+deb10u1
systemd 241-7~deb10u1
systemd-sysv 241-7~deb10u1
【対応】
下記のいずれかの手順を実施する。
(1) 全ユーザー共通の設定を行う場合
下記の手順で、/etc/systemd/user/pulseaudio.{service,socket} を作成する。
# cd /etc/systemd/user # ln -s /dev/null pulseaudio.service # ln -s /dev/null pulseaudio.socket
(2) ユーザー毎に設定を行う場合
下記の手順で、~/.config/systemd/user/pulseaudio.{service,socket} を作成する。
% systemctl --user mask pulseaudio.service % systemctl --user mask pulseaudio.socket
/dev/null へのシンポリック・リンクとして作成される。
これにより、systemd から PulseAudio が起動されないようになる。
2. [MATE 上での pinentry の起動が遅い] ことへの対応
【発生事象】
・pinentry の起動時に 10 秒位待ちが発生する。
(GPG で暗号化されたファイルを Emacs で開く時に発生する。)
・FVWM 上では発生しない。
・多分、GNOME 上でも発生すると思われる。
・gpg-agent がエラーを発生している。
[エラーメッセージ] dbus-daemon[4071]: [session uid=1000 pid=4069] \ Activating service name='org.freedesktop.secrets' requested by ':1.28' \ (uid=1000 pid=4344 comm="pinentry --display :0 ") gnome-keyring-d[2028]: The Secret Service was already initialized org.freedesktop.secrets[4071]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh gpg-agent[2021]: Failed to lookup password for key \ u/SC9C4F0F3E63EB945 with secret service: Error calling StartServiceByName \ for org.freedesktop.secrets: Timeout was reached
【パッケージ】
pinentry-gtk2 1.1.0-2
gpg-agent 2.2.12-1+deb10u1
mate-desktop 1.20.4-2
【対応】
下記のいずれかの手順を実施する。
(1) 全ユーザー共通の設定を行う場合
下記の手順で、/etc/systemd/user/gpg-agent.service を作成する。
# cd /etc/systemd/user # ln -s /dev/null gpg-agent.service
(2) ユーザー毎に設定を行う場合
下記の手順で、~/.config/systemd/user/gpg-agent.service を作成する。
% systemctl --user mask gpg-agent.service
/dev/null へのシンポリック・リンクとして作成される。
これにより、systemd から gpg-agent が起動されないようになる。
3. [古いバージョンの Firefox で radiko を再生できない] ことへの対応
【発生事象】
・Firefox 52.9.0 ESR で 発生する。
・Firefox Quantum 68.2.0 ESR では発生しない。
[エラーメッセージ] libavcodec に脆弱性があるかサポートされていません。 動画を再生するには libavcodec を更新してください。
【パッケージ】
Firefox 52.9.0 ESR
libavcodec53:i386 6:0.8.17-1
libavcodec58:i386 7:4.1.4-1~deb10u1
【対応】
取り敢えず、いずれかの手順で media.libavcodec.allow-obsolete の設定値を変更する。
(1) <firefox-profile_dir>/user.js を編集する場合
下記の設定を追加する。
user_pref("media.libavcodec.allow-obsolete", true);
(2) about:config にアクセスする場合
・media.libavcodec.allow-obsolete を検索する。
・media.libavcodec.allow-obsolete の設定値を変更する。
false(初期値) から true に変更する。
4. [SSL でのメール受信ができない] ことへの対応
【発生事象】
[エラーメッセージ] OpenSSL reported: error:141A318A:SSL routines:tls_process_ske_dhe:dh key \ too small SSL connection failed.
【パッケージ】
openssl 1.1.1d-0+deb10u2
【対応】
/etc/ssl/openssl.cnf を編集し、セキュリティ・レベル(SECLEVEL)を変更する。
# cd /etc/ssl # diff openssl.cnf openssl.cnf.org 362c362 < CipherString = DEFAULT@SECLEVEL=1 --- > CipherString = DEFAULT@SECLEVEL=2
(補足)
・必要なら、MinProtocol の設定も変更する(SSL でのメール送信の失敗への対応)。
(MinProtocol = TLSv1)
・OpenSSL のセキュリティ・レベル(SECLEVEL)の説明
https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_security_level.html
5. [stunnel4 の自動起動に失敗する] ことへの対応
【発生事象】
[エラーメッセージ] - /var/log/syslog stunnel4[699]: [!] error queue: 140DC002: \ error:140DC002:SSL routines:use_certificate_chain_file:system lib stunnel4[699]: [!] error queue: 20074002: \ error:20074002:BIO routines:file_ctrl:system lib stunnel4[699]: [!] SSL_CTX_use_certificate_chain_file: \ 2001002: error:02001002:system library:fopen:No such file or directory stunnel4[699]: [!] Service [pop3s]: Failed to initialize TLS context stunnel4[699]: [ ] Deallocating section defaults stunnel4[699]: failed stunnel4[699]: You should check that you have specified \ the pid= in you configuration file systemd[1]: stunnel4.service: Control process exited, \ code=exited, status=1/FAILURE systemd[1]: stunnel4.service: Failed with result \ 'exit-code'. systemd[1]: Failed to start LSB: Start or stop \ stunnel 4.x (TLS tunnel for network daemons).
・原因
/etc/default/stunnel4 の設定で自動起動を無効化できなくなった。
・'ENABLED=0' (←自動起動しない)の設定がない。
・'ENABLED=0' の設定を追加しても効果がない。
このため、stunnel4 が自動起動され、起動の過程でエラーが発生している。
【パッケージ】
stunnel4 3:5.50-3
【対応】
stunnel4 の自動起動を無効化する。
# systemctl disable stunnel4 または # systemctl mask stunnel4
(補足)
Mew の SSL でのメール送信で使用しており、特に問題なく送信できる。
(必要な時に stunnel4 コマンドが実行される。)
よって、自動起動を無効化のみで、これ以上の対応は行わない。
Debian 9からDebian 10へのアップデート後の問題点への対応 [Debian]
以下は、アップデート後に発生した問題点と対応方法をまとめたものである。
[一般的なアップデート方法]
・使用中のリポジトリでの最新パッケージへの更新
・参照するリポジトリの変更 (/etc/apt/sources.list の編集、apt-get update の実行)
・最小アップグレード (apt-get upgrade の実行)
・完全アップグレード (apt-get dist-upgrade の実行)
・/etc 以下の *-dist への対応 (削除 or 適用)
1. [Emacs 26.1 の起動時に scratch バッファが表示される] ことへの対応
【発生事象】
・~/.emacs で (shell) を実行しているが、scratch バッファも表示される。
・initial-buffer-choice の設定値は nil である。
・余分なバッファが表示されるだけで、その他の動作上の問題はない。
・Emacs のバグの可能性あり(scratch バッファーが無条件に表示されてしまう)。
【パッケージ】
emacs24 1:26.1+1-3.2+deb10u1
【対応】
取り敢えず、~/.emacs の (shell) の後に下記の設定を追加する。
(when (>= emacs-major-version 26) ;; disable to display scratch buffer at startup (Emacs-26 or later) (delete-windows-on "*scratch*" nil))
2. ['lsb_release -rs' で 10.1 ではなく 10 と表示される] ことへの対応
【発生事象】
% lsb_release -rs 10 % cat /etc/debian_version 10.1
【パッケージ】
lsb-release 10.2019051400
【対応】
現時点では不明である。
3. [SSL でのメール受信ができない] ことへの対応
【発生事象】
[エラーメッセージ] OpenSSL reported: error:141A318A:SSL routines:tls_process_ske_dhe:dh key \ too small SSL connection failed.
・原因
OpenSSL 1.1.1 において、SECLEVEL のデフォルト値が変更されたため。
(デフォルト値: SECLEVEL 2)
尚、これにより、DH 鍵の最小サイズが 1024 から 2048 bit に変更された。
【パッケージ】
openssl 1.1.1d-0+deb10u2
【対応】
下記のパッケージにバージョンダウンする。
・openssl 1.1.0k-1~deb9u1
・stunnel4 3:5.39-2
stunnel4 はそのままでも SSL でのメール受信が可能である。
stunnel4.service の起動エラーが発生するため、念のためバージョンダウンする。
・ca-certificates 20161130+nmu1+deb9u1
openssl 1.1.0k-1~deb9u1 の依存パッケージ
('apt-get -Vs upgrade' でエラーが発生)
4. [Mew 6.8 で draft メッセージが作成できない] ことへの対応
【発生事象】
[エラーメッセージ] Symbol's value as variable is viod: default-buffer-file-coding-system
・原因
Emacs 26.1 では、default-buffer-file-coding-system が削除されているため。
【パッケージ】
emacs24 1:26.1+1-3.2+deb10u1
mew 1:6.8-4
mew-bin 1:6.8-4
【対応】
~/.emacs 等で default-buffer-file-coding-system に想定する値を設定する。
(例) (when (>= emacs-major-version 26) ;; enable to send mail with Mew 6.8 (setq default-buffer-file-coding-system 'sjis-unix))
5. [Emacs 26.1 での句読点の日本語変換で文字化けする] ことへの対応
【発生事象】
・'、' への変換で、\343\200\201 と表示される。
・'。' への変換で、\343\200\202 と表示される。
・vim では、この問題は発生しない。
・Anthy の問題の可能性が高い。
(anthy 9100h にバージョンダウンしたいが、依存パッケージが多い。)
【パッケージ】
emacs24 1:26.1+1-3.2+deb10u1
anthy 1:0.3-8.1
anthy-common 1:0.3-8.1
anthy-el 1:0.3-8.1
libanthy1:i386 1:0.3-8.1
libanthyinput0:i386 1:0.3-8.1
uim-anthy 1:1.8.8-4
【対応】
取り敢えず、~/.emacs の Anthy の設定に、下記のような設定を追加する。
日本語の入力については、他のシステム上、または本システム上の vim で実施する。
(cf. /usr/share/emacs/site-lisp/anthy/anthy-conf.el)
(let ((anthy-version (shell-command-to-string "dpkg-query -W anthy-el 2>/dev/null | awk '{printf $2}'"))) (cond ;; patch for anthy-el 1:0.3-8.1 ((string= anthy-version "1:0.3-8.1") (setq anthy-alt-char-map '(("," "、") ("." "。") ("-" "ー") ("1" "1") ("2" "2") ("3" "3") ("4" "4") ("5" "5") ("6" "6") ("7" "7") ("8" "8") ("9" "9") ("0" "0") ("!" "!") ("\"" "\"") ("#" "#") ("$" "$") ("%" "%") ("&" "&") ("'" "'") ("(" "(") (")" ")") ("^" "^") ("\\" "\\") ("[" "[") (";" ";") (":" ":") ("]" "]") ("/" "/") ("=" "=") ("~" "~") ("|" "|") ("`" "`") ("{" "{") ("+" "+") ("*" "*") ("}" "}") ("<" "<") (">" ">") ("?" "?") ("_" "_"))) (anthy-load-hiragana-map anthy-alt-char-map))))
異なるバージョンの Emacs について、同様の問題が発生したとの情報がある。
(cf. https://tsaitoh.net/wp/2018/05/10/emacs-anthy-mozc/)
この点からも、Emacs の問題ではなく、anthy 0.3 の問題と思われる。