Evidence-Based Life

人生における、あらゆる意志決定に科学的エビデンスを...

Ubuntu: FAXをコマンドラインから送信

UbuntuにおいてコマンドラインからFAXを送信できるようにした。

 

機材とOS

FAXモデム:RS-USB56N(ラトックシステム

PC:DN2820FYKH(インテル

OS: Ubuntu 22.04

電話回線:光インターネットの電話回線。同じ回線に固定電話もつながっている。

 

手順

以下を参考に、USBポートに刺したFAXモデムが/dev/ttyACM0にマウントされてcuコマンドでアクセスできることを確認。

 

jnsmith.blog.fc2.com

 

efaxとgsをaptを使ってインストール。

 

PDFファイルをgsコマンドで、tiffg3ファイルに変換。

gs -q -sDEVICE=tiffg3 -sOutputFile=$tiffg3_file_name -dBATCH -dNOPAUSE $pdf_file_name

 

ここで、$tiffg3_file_nameは出力先のtiffg3ファイル名、$pdf_file_nameは変換元PDFファイル名。

 

変換したtiffg3ファイルをefaxで送信。

efax -d /dev/ttyACM0 -v ewincmartfx -i +FCLASS=2  -h "$header" -oz -l "FAX送信元ID" -t TW(FAX送信先電話番号) $tiffg3_file_name 2>&1 | tee $efax_log_file_name

ここで、$tiffg3_file_name は送信するtiffg3ファイルのファイル名、$efax_log_file_nameは送信ログの出力先ファイル名。

 

設定時にトラブルになったところ

  • 最初はhylafaxを試したが、faxsetup途中で"Probing for best speed to talk to modem: 38400"と出たまま止まるので、あきらめてefaxへ切り替えた。
  • efaxではFAX送信先電話番号にW(wait for dial tone)をつけないとbusyになって送信できない場合があり動作が不安定。この場合、cuでATDのみ実施するとbusyで切れる。
  • cuコマンドのFAXコマンドオプションは以下を参照した。

https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.bausch.eu/filemanager_md/download.cfm%3Fp%3Db%252BmgYserhEAbdlr1vyVcLttUOFpTyFzR523HEZh25TDLP4SSAmbh0zsglztM1sBCOkfkkmzZrX4F76YLYTYbygHXdd3kYhsjFQ17gZ8RTj2DtTNCs9ZinuHepnZtq4yFiL8ZarAukn3rP5cBhjcYpA%253D%253D%26path%3D/teams/743/wiki/90/866/manuals/SM_H2_MA_24_sm_h2_at_command_manual.pdf&ved=2ahUKEwjg5dbCnKCMAxUWgVYBHeRcK_MQFnoECBgQAQ&usg=AOvVaw2RSkI_Yovs4LKFP7M4xyhr

 

 

他の機材とOSでの動作

以下システムでも同様の手順で動作が確認できた。

 

FAXモデム:RS-USB56N(ラトックシステム

PC:DS55(EPSON

OS: Ubuntu 24.02

 

Kabuステーションのポート開放設定

インストールしたKabuステーション(Ver. 5.28.0.0)のチャートが表示されない。

ヤマハファイヤーウォールルーターFWX120がアクセスをブロックしたログを見ながら設定。

 

IPアドレス: 194.223.146.0/24

TCPポート: 20000-20010

 

これでチャートが表示され、株価のCSVファイルもダウンロードできるようになった。

R: Linux上でグラフのPDFを生成するときに使える日本語フォントを表示

Rで以下のコマンドを実行する。

 

names(pdfFonts())

 

今回、Ubuntu上のRで得られた結果は以下

 

 [1] "serif"                "sans"                 "mono"
 [4] "AvantGarde"           "Bookman"              "Courier"
 [7] "Helvetica"            "Helvetica-Narrow"     "NewCenturySchoolbook"
[10] "Palatino"             "Times"                "URWGothic"
[13] "URWBookman"           "NimbusMon"            "NimbusSan"
[16] "URWHelvetica"         "NimbusSanCond"        "CenturySch"
[19] "URWPalladio"          "NimbusRom"            "URWTimes"
[22] "ArialMT"              "Japan1"               "Japan1HeiMin"
[25] "Japan1GothicBBB"      "Japan1Ryumin"         "Korea1"
[28] "Korea1deb"            "CNS1"                 "GB1"

 

この中からpdf関数のfamilyオプションを選ぶ。

 

 

Linux: SHA256によるダウンロードファイルの改ざんチェック方法

ファイルをダウンロードしたフォルダで以下のようなにデータを並べた行のテキストファイルを作る。

 

ダウンロード先から得たチェックサム ダウンロードしたファイル名

 

75542cc24c59404f8d62815bc0e31b43032b5032e651fa9f618dbcdca8aa7cac ./rstudio-2023.12.1-402-amd64.deb

 

ここではファイル名をsha256.txtとした。

以下を実行。

 

sha256sum -c sha256.txt

 

実行結果で以下が表示されれば問題ない。

 

./rstudio-2023.12.1-402-amd64.deb: OK

 

テキストファイルに複数行書くと複数ファイルの確認ができる。空行があると警告が表示される。

Ubunutu 22.04で確認した。

 

#ダウンロードもとのサイトでファイルが改ざんされてチェックサムも書き換えられていたら、この確認は意味がないことに注意。

 

Ubuntu 22.04をインストール時に 「grub-install /dev/sda の実行に失敗しました。」と表示されたときの対応方法

PC(DN2820FYKH, Intel)にUSBメモリからUbuntu 22.04LTSをインストールをした。インストール中に「grub-install /dev/sda の実行に失敗しました。」と表示されて、インストールが終了する。このメッセージが出た後にブートしてみるとGRUBコマンドラインが表示されて、Ubuntuは起動しない。

 

以下を参考にパーティションを手動で設定したが、これだけではうまくいかなかった。

 

qiita.com

これを見るとEFIパーティションが先にあったほうが良さそうなので、インストール時のパーティション設定を、以下のようにしてみた。

 

sda1; フォーマット, EFI; サイズ, 200MB

sda2; フォーマット, ext4; マウント先, /; サイズ: 残り領域

 

これを実施しても、インストール時のエラーは解消しない。

 

そこでインストール時にパーティションの設定画面にある「ブートローダーのインストール先」を/dev/sda1にしたところ正常にインストールが終了し、Ubuntuがブートできるようになった。デフォルトだと、この「ブートローダーのインストール先」が/dev/sdaになっていて、install-grubで失敗するようだった。

 

このパーティションの設定画面にある「ブートローダー」とはGRUBのことらしい。以下のURLの説明にあるようにGRUBEFIフォーマットにしたパーティションにインストールされる。このためブートローダーのインストール先を明示的にEFIパーティションにしないと、何らかのGRUBの設定に失敗すると推測される。

 

gihyo.jp

 

 

Ubuntu20.04: CUI環境からXサーバーを起動するコマンド

UbuntuCUI環境として起動しているときに一時的にX環境を使いたいときがある。

その時に、Xサーバーを起動・停止する方法は以下。

 

Xサーバーの起動

sudo systemctl isolate graphical.target

 

Xサーバーの停止

sudo systemctl isolate multi-user.target

 

Xサーバーの起動はコンソール1から6のどれでもOK。Xサーバーの画像は常にコンソール1に表示される。また、外部からsshでログインして、これらのコマンドの実行も可。

 

コンソール1から6の切り替えは、それぞれCtrl-Alt-F1~F6。

 

昔のようにstartxでは起動できない。

 

また、再起動時のログイン画面を変更をしたいときは以下を実行しておく。

 

Xサーバーでログインするとき

sudo systemctl set-default graphical.target

 

CUIでログインするとき

sudo systemctl set-default multi-user.target

 

顔記憶能力(相貌失認)をテスト

人の顔を見て名前が出ないので、相貌失認になったかと思い、以下のテストを試してみました。

 

openpsychometrics.org

 

You got 61 of 75 questions correct. The average score is 63.7. Your score is higher than 20.85% of other people who take this test. 

 

Scores below 40 may indicate prosopagnosia

 

相貌失認(prosopagnosia)ではなかったようです。