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"で最終動作チェック。

以上、素人の個人メモ