2019年11月28日木曜日

date コマンドで時間計算

Debian GNU/Linux の GNU date コマンドで時間の計算。
  $ date --version
  date (GNU coreutils) 8.30

[足し算]

・10分1秒 + 20分2秒
$ date -d "00:10:01 20minutes 2seconds" +%T
00:30:03
上と同じ
$ date -d "00:10:01 20 minutes 2 seconds" +%T
$ date -d "00:10:01 20minutes 2seconds" +%"T"
man date より
-d, --date=STRING
              現在時刻ではなく STRING で指定された時刻を表示する
%T   時刻。%H:%M:%S と同様
%H   時 (00..23)
%M   分 (00..59)
%S   秒 (00..60)

・05:20 + 5:15 + 8:41 + 8:01 + 6:47 + 5:24 + 5:02
$ date -d "00:05:20 5 minutes 15 seconds 8 minutes 41 seconds 8 minutes 1 seconds 6 minutes 47 seconds 5 minutes 24 seconds 5 minutes 2 seconds" +"%T"
00:44:30
最初だけは時分秒 00:00:00形式にする
'時'には hoursを使うが 00..23時の範囲。'日'をまたぐ例は下記の[年月日時分秒]
[引き算]

・2時間5分 - 10 分
$ date -d "02:05:00 10 minutes ago" +%T
01:55:00
"ago"をつけると"引く"

[年月日時分秒]
・2020年1月1日23時10分 + 60分
$ date -d '20200101 23:10:00 60 minutes'
2020年  1月  2日 木曜日 00:10:00 JST

・2020年1月1日23時10分 + 62分
$ date -d '20200101 23:10:00 62 minutes' +"%F %T"
2020-01-02 00:12:00
%F   完全形式の日付。 %Y-%m-%d と同様
上の例では %Fと%Tの間にスペース入れてます。

・2020年1月1日00時05分 - 1時間10分
$ date -d "20200101 00:05:00 1 hours ago 10 minutes ago"
2019年 12月 31日 火曜日 22:55:00 JST


2019年11月7日木曜日

musescore ギターハーモニクス

Guitarでは、
Harmonics/Harm.
Artificial Harmonics A.H. 人工ハーモニクス
Natural Harmonics N.H. 自然ハーモニクス
の語を使い、符頭を菱形で表したり、クラシック系のように苻頭の上に○をつける。サム、ピッキング、タッチ、パーム やり方は様々。
フラジオレット/ フラジョレット/ flageolet/ flagioletto/ flag. (Flageolet bean: 鞭毛豆)の言葉は、ほぼ使わない。
ハーモニクスは触れる弦の位置と出る音が(12fretsを除き)違うので、2つとも入力して、
要らない音符、要らないタブ、要らない再生音をそれぞれに消してやる。
・音符またはタブを選んで、F8キーを押して、インスペクタで変更。
 インスペクタ:要素:□表示
 インスペクタ:苻幹:長さの変更
 インスペクタ:音符:□再生
 音符を消したり再生を消す。音符の棒の長さ調整・旗を消す。
 変更すると横の"渦巻きマーク"がアクティブになる。クリックすると元に戻せる。
 (inspector の常時表示:メニュー[表示]→☑インスペクタ)
 消した部分はグレイ表示だが、pdfなどに出力するとグレイ部分は表示されない。
・パレットで苻頭を変える。 
・譜表テキストで表記を足す。


残念なことに音源の中に "Guitar Harmonics"はあるが、個別音ごとの設定できない。

上記環境:Debian GNU Linux 10(buster)+KDE
$ musescore3 --version
MuseScore3 3.2.3

Buster安定版 stableでは ver.2.3.2
buster-backportsを/etc/aapt/sources.listに追加してるので少しバージョンアップ。

musescoreの現在バージョン3.3 https://musescore.org/ja/download
flatpak 版は現時点でバージョン 3.2.2 https://flathub.org/apps/details/org.musescore.MuseScore

2019年10月18日金曜日

Gimp: flatpakでアップデート

Debian 10 BusterのGimpは ver. 2.10.8-2
Debianはバージョンアップが遅いので、少し新しいGimpをflatpakでインストールしてみた。
環境:
Debian GNU/Linux 10 (Buster)-stable+backports, 色々削った KDE。  

概要:
flatpak.deb をインストールして、flatpakコマンドを使うと、https://flathub.org/ にある最新版アプリが使える。パソコンにインストール済みの関連ライブラリには影響を与えないので気軽に使える。

手順:
・flatpakのインストール
 $ sudo apt install flatpak
 $ flatpak --version
 Flatpak 1.2.4

・gimpのインストール
 https://www.gimp.org/downloads/ 記載の通り。
 $ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
 [Y/n]はリターン=Y
 ...
 終了。

 $ flatpak run org.gimp.GIMP --version    ←バージョン表示
 GIMP (GNU Image Manipulation Program) ver.2.10.12

・synaptic や Discoverなどのパッケージ管理ソフトには引っかからないので、アップデートは自前
 $ flatpak update
 ...
 $ flatpak run org.gimp.GIMP//stable     ←コマンドラインからのgimp起動 
 bwrap: Can't find source path /run/user/1000/doc/by-app/org.gimp.GIMP: No such file or directory
 エラーで立ち上がらない。確かにそんなディレクトリはない。
 $ systemctl --user restart xdg-document-portal
 これで正しいディレクトリ検索に再設定され、無事起動。

 $ flatpak uninstall org.gimp.GIMP ← gimpの削除

・KDE環境なので、
 $ sudo apt install xdg-desktop-portal-kde もいインストールしておいた。
 Kstart 右クリック→[アプリケーションを編集]で起動メニューを作成しようとしたら、できていた。他のプログラムと同じようにプログラムメニューからクリックで起動できる。

 $ sudo apt install plasma-discover-backend-flatpak
遅れ気味な Debian の KDE Discover パッケージソフトでも flathubが使える。
SettingsにFlatpak 項目が追加になり、Searchで Gimpが2つ現れる。
(flatpakと同じような snapの場合は plasma-discover-backend-snap)

 

あとがき:
・flatpack ≒ xdg-app, https://flatpak.org/ , アプリ https://flathub.org/ 
・flatpakでは、サウンドボックス化で起動するらしい。Gimpは基本的なことしか使わないので、よくわかりません。動きにもたつきは感じないです。Gimpマイナーバージョンアップは少し日本語が増えてました。以上、ド素人メモ。

2019年10月17日木曜日

Automate android - Camera connect

llamalabのAndroid アプリAutomateの例。

仕様 :

カメラの電源は先に入れてあるとして、Automateで、GPS、Bluetooth、Wi-Fi、Canonのカメラアプリ Camera Connectを連続で立ち上げる。
BluetoothとWiFiの接続はCameraConnectが行うので、BTとWiFiは起動させるだけでいい。




フロー :

GPS→ BT →Wi-Fi → Camera connect

コーディング :
省略。
先に書いたBlogを組み合わせただけ。


追記 :
・Camera connectは、スマホ側で接続情報さえわかっていれば、カメラの電源をオンにすることができる。

・キャノンより「キヤノン製デジタルカメラにおけるPTP(画像転送プロトコル)通信機能およびファームウエアアップデート機能の脆弱性について」。注意しておきましょう。

追記: cweb.canon.jp より
PowerShot SX70 HS ファームウエア Version 1.1.1
情報掲載日:2019年11月21日


2019年10月16日水曜日

Automate android -app : Location

llamalab社のアンドロイドアプリ AutoMate
https://llamalab.com/automate/

GPS: 位置情報: Location 使用例

前準備 :
Androidのバージョンアップにともない、Locationを扱うにはルート権限が必要になった(OS設定なので、Automateに限らずMacroidなどでも同じ)。ルート化なんて恐ろしいので、お手軽な方法にしておく。
スマホをデバッグ状態にし、USBでつないだパソコンから位置情報を扱うアプリ(ここではAutomate)をAndroidに登録しておく。

1) スマホを「開発者向けオプション」(デバッグ状態)にする。
 ・(Android 4.2以降標準) 設定→システム→端末情報→ビルド番号を7回タップ→(PINの再入力)→「開発者向けオプション」を可にする。

 ・システム→詳細設定「開発者向けオプション」→(デバッグ)USBデバッグ ON。

2) パソコンにADB: Android Debug Bridgeというソフト群をインストールしてUSBでスマホと繋ぐ。
 ・当方、Debian Linuxなので、adbパッケージをインストール(apt install adb)。pathも通ってる(/usr/bin/adb)。Windows10等では"adb-setup"で検索。
・ターミナルからコマンド打ってみる・・・
 $ adb
 Android Debug Bridge version 1.0.39
 Version 1:8.1.0+r23-5
 Installed as /usr/lib/android-sdk/platform-tools/adb
 ...略

 $ adb devices
 List of devices attached
 * daemon not running; starting now at tcp:5037
 * daemon started successfully
 ABCDEFG12345678 unauthorized

 $ adb devices
 List of devices attached
 ABCDEFG12345678 device  ←デーモンが動いてる。OKっぽい


3) ADBを使って、AutomateがLocationを使うことをOSに書き込む。
adbの説明先 : https://developer.android.com/studio/command-line/adb?hl=JA

・今回使うアプリは llamalab社の Automate。
 https://llamalab.com/automate/doc/adb.html にコマンド例が載っている。2つのコマンドを送ればいい。

 modify secure system settings:
 adb -s <serial number> shell pm grant com.llamalab.automate android.permission.WRITE_SECURE_SETTINGS
 
 modify system settings:
 adb -s <serial number> shell pm grant com.llamalab.automate android.permission.CHANGE_CONFIGURATION

  -s <serial number> はスマホ1台接続の場合指定しなくていいが、一応指定しとく。
  pm : Package Manager
  grant : アプリにパーミッションを付与
  serial number : スマホのシリアルナンバー

実行:
 $ adb -s ABCDEFG12345678 shell pm grant com.llamalab.automate android.permission.WRITE_SECURE_SETTINGS
 $ adb -s ABCDEFG12345678 shell pm grant com.llamalab.automate android.permission.CHANGE_CONFIGURATION

以上 
automateの登録が済めばスマホの設定は元の状態に戻してOK。
参考までに削除例
adb shell pm revoke com.llamalab.automate android.permission.WRITE_SECURE_SETTINGS
adb shell pm revoke com.llamalab.automate android.permission.CHANGE_CONFIGURATION
- - - 前準備終了 - - -


仕様 :
GPS 位置情報 をオンにする。

フロー :
位置情報 location がONなら何もしない。オフだったらオンにする。


コーディング :
LOCATION Location provider enabled?
 Immediately, GPS

LOCATION Location provider set statte
 GPS, On

前準備でLocation使用の設定をしたので、Flow画面に modify... 項目が出る。

2019年10月13日日曜日

Automate android -app : app

llamalab社のアンドロイドアプリ AutoMate
https://llamalab.com/automate/

アプリの起動例
アプリを立ち上げる例

仕様 フロー :
アプリを起動。エラー処理など無し。


コーディング :
APPS → App start


Pick activity...
タップするとアプリのリストを表示するので、選択すると内容を拾ってくれる。そこから先は各アプリ内容によるの。とりあえず空白デフォルトで試してみるしか無い。

  

2019年10月12日土曜日

Automate android -app : Wi-Fi

llamalab社のアンドロイドアプリ AutoMate
https://llamalab.com/automate/

Wi-Fi の例
仕様 :
Wi-Fiをオンにする (特定のSSIDにつなげるわけじゃない)。

フロー :
Wi-FiがONならなにもしない。オフだったらONにする。



コーディング :
CONNECTIVITY → Wi-Fi enabled?  : Immediately

CONNECTIVITY → Wi-Fi set state : WI-FI On

その他
Wi-Fi connect ブロックは、Network SSIDや Macアドレスなどを入力できるけど、androidではアプリ側で目的Networkを認識するようになっているので、ここでは、Wi-FiのON/OFFだけできればいい。




2019年10月8日火曜日

Automate android -app : bluetooth

llamalab社のアンドロイドアプリ AutoMate
https://llamalab.com/automate/

Bluetooth 使用例
仕様 :
ブルートゥースをオンにする。

フロー :
BluetoothがONなら何もしない。オフだったらオンにする。

コーディング :
CONNECTIVITY カテゴリーから、Bluetooth device enabled、Bluetooth set state を使う。

Bluetooth device enabled
decision block , options: Immediately(即) / When changed(変わるまで待つ)
ここでは、Immediatelyにする。設定してDONEすると、Flowchartでは[Is BT enabled]と表示される。


Bluetooth set state
decision block, 



2019年10月7日月曜日

Automate - android app

llamalab社のアンドロイドアプリ AutoMate https://llamalab.com/automate/

使い方の例

仕様 :
0) 画面ショートカットをタップすると、
1) 下にトーストメッセージで"Hello, world"と表示。
2) 3秒経つと、
3) 上部通知領域にマーク表示。ドロップすると"タップ、タップ"と"選んでおいた写真"を表示。タップすると、
4) 乱数表示で終了。

フロー :
ここでは、一直線な流れで、blockをfiberで繋ぐだけ。

Automateのブロックには、
action block : 「動け」だけ。例 フラッシュライト付け!
decision block : 「YES/NO」で選択。例 Bluetooth使えるか? => YES/NO
の2種類が在る。

コーディング :
Flowchart上に左ペインからblockを選びオプションを決めて、並べてfiberで繋ぐ。

横向きですが、こんな感じになります
先づ)
Autonateアイコンをタップ→ <新規>または上バーの'+'→ 上バーのペン→[Flowchart]→ [Flow beginning]が置かれている。
*Flowchart状態で、左からスワイプ or 左上の'Ξ'をタップしたペインの blockから必要なブロックを選んでいく。
*[Flow beginning] は ペインの[FLOW]カテゴリーにある。
*blockやfiberの説明はアプリのHelpか、選んだ後に左からスワイプ、もしくは、 https://llamalab.com/automate/doc/index.html


追記 2019/Nov.
Automate Version 1.20.7 になって、上にあった`ペン'が右下隅になりました。


0)
[Flow beginning]をタップ。TITLEに'Hello'と記入。 [Install home screen shortcut]をタップ→ [ホーム画面に追加]"自動的に追加"をタップ。以外はデフォルトのまま→ 右上✓DONE (→。 Flowchartに戻る)。

  

*blockを選んだ状態で、青帯の[Flow beginning]をタップ or 左からスワイプすると、[Flow beginning]ブロックの説明が現れる(英語)。
*'Hello'がショートカットの名前になる。このショートカットをタップすると、フローが始まる。

1)
左ペイン→ INTERFACE→ [Toast show]をタップ→ [Toast show]ブロックをタップ。MESSAGEに'Hello, world'と記入。DURATIONのLongをマーク。右はfxのまま。右上✓DONE (→ flowchartに戻る)→ [Toast show]を指で少し長めに押さえて任意の位置へ移動→  [Flow beginning]OK と [Toast show]IN を指で押さえてfiberで繋ぐ。

*[toast show]は、action blockで、ただ表示するだけ。
*fxをタップしたときはもう一度タップしてfx表示に戻す。ここには関数も記入できる。
*[Toast show]のDURATIONは、表示時間の長さ。Shortを選んだ時 fxをタプすると =2。 Longの時 =3.5となっている(単位不明)。この数字を増やすとトースト表示時間が長くなる。
*Flowchartの blockは、ちょい押さえでプロパティ、長め押さえで移動、に切り替わる。

2)
左ペイン→ DATE & TIME→ [Delay]→ PROCEED 'Exact', DURATION '0h 0m 3s', ✓Awake device→ ✓DONE→ (Flowchart)→ [Delay] を移動, fiberでOKとINを繋ぐ。

*[toast show]は、action block

3)
左ペイン→ INTERFACE→ [Notification show]→ PROCEED 'When clicked', TITLE 'notification, test' fx, MESSAGE 'タップ, タップ' fx, PICTURE URI 任意の写真or画像 fx, ICON Icon#17, ONGOING ✓Ongoing event, 他はディフォルト→ ✓DONE→(Flowchart) → [Notification show]を適宜移動, Delay と繋ぐ。

*[Notification show]は decision block。出口にYESとNOがあるけど、今回NOは放置。PROCEEDで'When clicked'を選んだので、クリックされない限りスヌーズして残る。日本語も表示可能。
*Iconは通知領域に表示される小さなアイコンでPICTURE共に任意。好きなの選んで。

4)
左ペイン→ INTERFACE→ [Toast show]→ タップ。MESSAGEの右fxをタップ, =random()と半角文字で記載→ ✓DONE→ (Flowchart)→ [Notification show] と繋ぐ。


終わったら、右上の✓をタップで、Flowに戻るので、<新規>をタップしてPropertiesを仮に'test'としてOK。

デバッグ :
[START]してみる。流れのように動くかチェック。途中でタップしないと最後までたどり着きません。

デフォルトでは、LOGが表示される。
右上'Ξ'タップ→ Log→ View→ (アプリによる)
年月日 時分秒 INFO/FAIL 数字@blockナンバー block名

赤字がエラー. block番号4が間違ってる例

*時分秒で上のブロック間の移動時間が推測できる。
*blockナンバーやブロック名で経路がわかる。ナンバーは、Flowchart時のblockの左肩に表示されている。blockの置き直しにDeleteやCutを使うと続き番号でなくなるけど問題なし。フリー版では合計30blockまで?

LOGで修正終了なら、Log→ Clear して Logging チェックを外して Flowをタップ。
Automateの FLOWSに test が表示されてる。
Automateを終了させて、ホームにあるショートカット"Hello"で最終動作チェック。

以上、素人の個人メモ

2019年9月22日日曜日

Pulseaudio 出力先の固定

動機
HDMI接続のディスプレイスピーカーだと、
・ディスプレイ側の少電力モード
・PCのスリープや復帰のタイミング
などで、音の出力先が変わってしまい。手動で設定し直さないといけない。

対策
面倒なので、出力先をHDMIに固定する。
めったに使わない外付けスピーカー使用時には、システム「設定」からアナログ出力に手動変更とする。


環境
Debian GNU/Linux 10 (Buster+backports), KDEディスクトップ
サウンドカードはM/Bオンチップのみ
$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH              ←M/Bのサウンドカード
                      HDA Intel PCH at 0xf7140000 irq 138

方法
概要:/etc/pulse/default.pa の最後にHDMI接続を書き込む。

書き込む内容を調べる例
1, HDMIから音が出てる間に index番号(name)とprofileを取得。

index)
$ pacmd list-cards
1 card(s) available.
    index: 0
        name: <alsa_card.pci-0000_00_1f.3> ←"alsa_card.pci-0000_00_1f.3"必要
        driver: <module-alsa-card.c>
        owner module: 6
        properties:
                alsa.card = "0"
                alsa.card_name = "HDA Intel PCH"   ← M/Bのサウンドカード
                alsa.long_card_name = "HDA Intel PCH at 0xf7140000 irq 138"
            ... 略 ...

profile)
$ pacmd list-cards | grep active
active profile: <output:hdmi-stereo>   ←"output:hdmi-stereo"必要

2, 上記の情報を /etc/pulse/default.pa の最後に書き込む
a) set-card-profile 0 output:hdmi-stereo
b) set-card-profile alsa_card.pci-0000_00_1f.3 output:hdmi-stereo+input:analog-stereo
どちらかを書き込む。
("+input:analog-stereo"の部分は任意。使わないなら書かない)

3, load-module module-switch-on-port-available"コメントアウトして、
#load-module module-switch-on-port-available

4, 念の為
~/.config/pulse/以下を一度全部削除して、

5, 再起動。

今の所うまく行ってます・・・素人処方です。

おまけ
・~/.config/pulse/以下の削除後、pulseaudio -k pulseaudio --start では、cookieのみ作成されて、pulseaudio サーバーとして認識される。
・alsa-base.conf (asound.conf) は buster では使われていない?

2019年8月14日水曜日

Debian KDEで AudioCDを開く

目的:
音楽CDから、256kbps以上の mp3を作成したかった。
普通、KDEならAudexを使うのだが、現状 busterには KDE multimedia も Audexもないので、soundKonverter が残っている。
作業:
CDを挿入→アプリから[ファイルマネージャで開く]を選択すると→Dolphin 起動→"Audio CD"グループができて、WAVファイルやCDA,FLAC,MP3ディレクトリができている (これは仮想ファイル)。
  

これらの中から 目的楽曲.mp3を選択して、別ディレクトリにコピペすると初めて作業を開始して mp3ファイルができる。
ところが、ffprobeやexiftoolでビットレート見るとちょっと低い。

疑問:
上記方法でビットーレート設定はどうやる?

答え:
システム設定→マルチメディア→オーディオCD [オーディオ CD/IO スレーブ設定]→MP3エンコーダ で調整。


備考:
以上の働きは KF5 (もしくは KF4): KDE Frameworks という仕組みが関係している。

$ kcmshell5 または kcmshell4 (ヘルプ出力)
sage: kcmshell4 [Qt-options] [KDE-options] [options] module
A tool to start single KDE control modules
...略

$ kcmshell5 -list ← 使えるモジュールのリスト表示
次のモジュールが利用できます:
about-distro               - Information About This System
audiocd                    - オーディオ CD I/O スレーブの設定
autostart                  - 自動的に起動されるアプリケーション
...略

$ kcmshell5 audiocd
"答え"と同じ[オーディオ CD/IO スレーブ設定]ウインドウが表示
実は kcmshell5 --list で表示されたモジュール名を使うということは、KDE システム設定 と同じ。

$ kcmshell5 about-distro
$ kcmshell5 componentchooser
$ kcmshell5 filetypes
など
補足:
[MP3エンコーダ]可変ビットレートの設定 のデフォルト
    XingのVBR タグを書き込む ←これのみデフォルトで青チェック済
   □平均ビットレート:192 kbs ←これをチェックするとその他もチェックできる。
   □最高ビットレー: 320 bps
   □最低値を絶対的な下限にする
   □最低ビットレート:320 bps

* Xing (VBRではビットレートが一様でないのでXingヘッダーを付けて総時間を計算する)
* 固定ビットレート constant bitrate:CBR, 可変ビットレート Variable Bitrate:VBR,
平均ビットレート Averate Bitrate:ABR. VBRの平均をABRと呼ぶこともあり、VBRとABRはほぼ同じと思っていい(?)


2019年8月5日月曜日

ExiftoolでGPSタグを付ける

GPSタグを付ける
Debian GNU/Linux 10 Busterにて

目的 :
カメラの操作忘れで、GPSデータが未記録だった写真(jpg)に、
他の写真のデータを利用して ExifにGPSデータを書き込む。


結論 :
コマンドラインexiftoolを使って、
$ exiftool -tagsfromfile GPS有り.JPG -gps* -gpsmeasuremode= GPS無し.JPG

exiftooは、変更前の画像を `GPS無し.JPG_original' 名で保存する。
参考ファイルと、GPS Time Stampが全く同じで、違和感が残る。

色々 :
・Exiftool
 Debianでは、libimage-exiftool-perl をインストール。
 マニュアル/説明(英語) https://sno.phy.queensu.ca/~phil/exiftool/exiftool_pod.html
 かなり守備範囲の広いプログラム。

・exiftoolのコマンド例。

GPS有り.JPGからGPSというワードを含むタグを探す。
$ exiftool GPS有り.JPG | grep GPS
または
$ exiftool -gps* GPS有り.JPG
GPS Version ID                  : 2.3.0.0
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Altitude Ref                : Above Sea Level
GPS Time Stamp                  : 10:19:54
GPS Satellites                  :
GPS Status                      : Measurement Active
GPS Map Datum                   : WGS-84
GPS Date Stamp                  : 2019:07:31
GPS Altitude                    : 37.5 m Above Sea Level
GPS Date/Time                   : 2019:07:31 10:19:54Z
GPS Latitude                    : 33 deg 11' 18.23" N
GPS Longitude                   : 130 deg 21' 30.01" E
GPS Position                    : 33 deg 11' 18.23" N, 130 deg 21' 30.01" E

$ exiftool GPS無し.JPG | grep GPS
または
$ exiftool -gps* GPS無し.JPG
GPS Version ID                  : 2.3.0.0
GPS Altitude Ref                : Above Sea Level
GPS Satellites                  :
GPS Status                      : Unknown ()
GPS Measure Mode                : Unknown ()

出力は、タグ : データ の形で表示。exiftoolによる書き込みは、
exiftool -タグ="データ" 目的.jpg が基本。

タグ : データ オプションを利用するときの注意
* タグの空白は省く。
* データは""で囲む。エスケープも使う。
* タグ:データ の削除は -タグ= とする (上記結論の -gpsmeasuremode= のところ)。
* タグ GPS Position は、GPS Latitudeと GPS Longitudeの値があれば書き込まなくても自動生成される。無理に指定しても warningで無視される。
* タグ GPS Date/Time も、GPS Date StampとGPS Time Stampの値から自動生成。

・・・ということで、GPS Time Stampを変更しつつ、手書きコマンドの例。
$ exiftool -gpslatituderef="North" -gpslongituderef="East" \
-gpstimestamp="10:19:46" -gpssatellites=" " -gpsstatus="Measurement Active" \
-gpsmapdatum="WGS-84" -gpsdatestamp="2019:07:31" \
-gpsaltitude="37.5 m Above Sea Level" -gpslatitude="33 deg 11\' 18.23\" N" \
-gpslongitude="130 deg 21\' 30.01\" E" -gpsmeasuremode= GPS無し.JPG
    1 image files updated
ちなみに
$ exiftool -w txt IMG.JPG Exif ← 内容をIMG.txtに出力
$ exiftool -htmlDump IMG.JPG > img.html ← htmlに出力。見ても意味わからん
$ exiftool -lang ja -GPS IMG.JPG ← 日本語で表示。北緯 GPS Latitude / 東経 GPS Longitude などの検索が辛い

2019年7月30日火曜日

トンボ

オオシオカラトンボ
ギンヤンマ♂♀
ウチワヤンマ

ウスバキトンボ?



2019年7月25日木曜日

たまにひっかかる、改行DOS

症状:
Debian/LinuxのPCを起動して、最初にコンソールを開くと、何もしてないのにエラー表示。

: command not found
bash: /home/xxxx/.bashrc: 行 6: 予期しないトークン `$'in\r'' 周辺に構文エラーがあります
'ash: /home/xxxx/.bashrc: 行 6: `case $- in
$

原因:
.bashrcを編集した際、Dos/Windows改行で保存してしまった。

対応:
改行\r\nを \r にすればいい。

確認:
・file コマンドで見てみる。
$ file .bashrc
.bashrc: UTF-8 Unicode text, with CRLF line terminators

'CRLF'となってる。通常のUNIX系CR キャリッジ・リターンだけなら、
"with CRLF line terminators"は表示されない。
(LFは ラインフィード)

・catで見てみる
$ cat -e .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.^M$
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)^M$
# for examples^M$
^M$.....略

'^M$' が、Windows/Dosの改行

作業:
dos2unix をinstallして\r\nを\rにする ( unix2dosというコマンドも有る)。
たぶん、sed, awk, perl でも簡単に置換できる。

お手軽に、KDEのエディタ Kate (≒KWrite)から ツール→行末→UNIX→保存 してログアウト、ログイン という対処で済ました。


付録:
立ち上がりは ash? dashと思っていた。
$ ls -l /bin/sh
...略...   /bin/sh -> dash

やっぱり dash?
本来の ashをカスタマイズした dash (debian ash)というのが別にあるらしい。

2019年7月12日金曜日

timidity-daemon に注意

症状
Debian 10 (buster)にupgrade後、音が鳴らない
Audio Volume (plasma-pa)や システム設定→マルチメディアで見ると、Devices: OutPuts が [ダミー出力 / Dummy output]のみで、コントロール不能。

環境
Debian/GNU Linux 10 (Buster) + KDE。
音源はMBの  Intel Corporation 200 Series PCH HD Audio.
HDMIディスプレイスピーカーがメイン。手動切り替えで、外付けアナログスピーカー。

原因
timidity-daemonをインストールしてしまった。
起動時にtimidity-daemonがサウンドデバイスを乗っ取ってた。
timidityとtimidity-daemonは別パッケージdeb。

対応例
 1) 確認 :
$ sudo fuser -v /dev/snd/*
USER                  PID         ACCESS    COMMAND
/dev/snd/controlC0:   timidity    759 F.... timidity
/dev/snd/pcmC0D0p:    timidity    759 F...m timidity
/dev/snd/seq:         timidity    759 F.... timidity
/dev/snd/timer:       timidity    759 f.... timidity
timidityがサウンド関係を乗っ取った状態。
timidityなのかtimidity-daemonなのか、まだわからないが、他のプログラムが接続できないのは自明。

 2) timidityプロセス停止 :
とりあえず止めてみる。
$ sudo systemctl stop timidity     停止
$ sudo systemctl disable timidity  自動起動停止
(systemctlのほか、fuser, kill,や、システムモニタで検索して終了させる等の方法がある。)

システムモニタ KSysGuard

 3) 再確認 :
$ sudo fuser -v /dev/snd/*
USER                  PID         ACCESS     COMMAND
/dev/snd/controlC0:   XXXXX       1436 F.... pulseaudio
/dev/snd/pcmC0D3p:    XXXXX       1436 F...m pulseaudio
XXXXX はUSERname
timidity → pulseaudio になった!

 4) 再々確認 :
さらに、再起動して同じ症状なら、timidity-daemonのインストールを疑う。その前に、
$ apt list timidity* --installed
で確認しておく。timidity-daemonがあったら、
$ sudo apt remove timidity-daemon で、削除。
musescoreやtuxguitarなどのmidi音源なら、素のtimidityで音は出る。


おまけ :
・Debianに alsa-base...パッケージはない。
・KDEでは、Kmixを使わないようになってきている。代わりに plasma-pa パッケージ(タスクバーに出るスピーカ印)を使用。
・Debianではモジュールとしてサウンドドライバ(*_snd_*)が読み込まれる。サウンドドライバ用のパッケージdebは無い。
・alsaとかpulseaudio, jackなどが無くても、直接サウンドモジュールを触わる VLCや Audacityは、上記のような[dummy output]状態でも、設定で[Device]と[出力]を合わせれば音が鳴る。
・・・と思う。

2019年6月19日水曜日

GmailとThunderbird

## 現状
ThunderbirdでGmailを利用するメイン情報は、

- gmailより [Thunderbird を Gmail と同期](https://www.appsupport.jp/gmail/sync-thunderbird/)

- mozillaより [Thunderbird で Gmail を使う](https://support.mozilla.org/ja/kb/thunderbird-and-gmail)

ところが、説明に従っても、

「安全性の低いアクセスの無効化」

「重大なセキュリティー通知 : ログインをブロックしました」

...などの警告を受けてしまう。その対処。

> 以下の例は GNU/Debian Linux stretch 上の Thunderbird 60.7.1 にて


## 対策
### 概要
上記の設定情報であやふやになっている **ログイン** 関係を見直す。具体的には、__Googleアカウントへのアクセス許可__ を得ればエラーや警告はなくなる。


#### ログイン設定
* (Thunderbird gmail) xxx@gmail.com : アカウント設定 → 送信(SMTP)サーバー : SMTPサーバーを編集 → セキュリティと認証

    接続の保護 : SSL/TLS

    認証方式 : OAuth2

    ユーザー名 : (任意)

* (Thunderbird gmail) xxx@gmail.com → サーバー設定

    セキュリティ設定 : SSL/TLS
 
    認証方式 : OAuth2


#### アカウントアクセス許可
以上の設定で、自動的にディフォルトブラウザが開いて、googleへのログインと__アカウントへのアクセス許可__が求められる。

以上。
(↑ 変な表示のままアップ ... Markdownじゃい)

2019年6月10日月曜日

恵蘇八幡宮 えそはちまんぐう

斉明天皇急逝の地。中大兄皇子(後の天智天皇)により仮通夜が行われた。
臨時的な庵を建て短期の喪に服した。
百人一首の「秋の田の かりほのいほの とまをあらみ わが衣手は つゆにぬれつつ 」(天智天皇) は、亡き母を思う気持ちが詠まれているというのが、この地に置ける解釈。
場所:福岡県朝倉市

 

 
歌碑    漏刻

2019年5月8日水曜日

日記ソフト Lifeograph

Lifeograph : シンプルな日記ソフト。日本語も使えて、ネット上に保存したりせずハードディスクにファイルを残すだけ (ただしmanualなさすぎ)。http://lifeograph.sourceforge.net/wiki/Main_Page から "latest 2019-01-23"なので、見捨てられてるわけでもなさそう。

日記ファイル( 例、MyDiaryとする)はテキスト形式なので移植しやすい。そして、この日記ファイルは暗号化できる。


・暗号化 encrypt
MyDiaryを選んで、[Edit]でファイルを開き、右の'MyDiary'を選択する。上部のバーに'本 : book icon'が現れるので、コレをクリック。'Import/Export/Encrypt'の選択から暗号化。

・暗号化解除 decrypt
暗号化されたファイルは、上記と同じにすすめば 'Import/Export/Change Password'となる。
Export→Password→Export でファイル名をもとと同じにすると、Lockファイルのせいで再び暗号化ファイルが残ってしまう (Bug?)。違う名前かディフォルト(MyDiary.diary.backup)のまま進んで、後で
$ rm MyDiary.diary ; mv MyDiary.diary.backup.diary MyDiary.diary してやる。

以上、Debian stretch + KDE にて lifeograph version 1.4.0


2019年4月28日日曜日

Canon SX70 HS のカメラケース例

Canon powershot SX70 HSのカメラポーチのサイズ参考用です。
LOWEPRO Adventura TLZ 20 II (内寸 13.5 x 8.6 x 13.5 cm)

サイズがわからんのでカメラ持参で店員に告げて色々試してコレくらいにした。2015年02月発売だから売れ残り?

 

 

 

カメラがコンパクトなので、予備の電池1個、予備SDカードでなんとかするとして、
後は用途に応じて一脚かコンパクトな三脚くらいの荷物で済むので楽。

予備電池を入れたい内部ポケットが左寄りなファインダーと干渉。このポケットは横向きのほうがいいんじゃ? 後方に出っ張りが大きなSH70 SXのファインダーを考慮しないとケース選定で失敗するかも。

ちなみに、大昔のデジイチ+18-250mmズームで使っていたポーチ Hama F120 Caddy とSH70 SX (光学域 21-1365mm/35mm換算)との比較。