Gimpのスクリプト
画像を加工するときには,gimpを時々使っている. 単純な作業を繰り返し行うときには,自動化すると便利である. Gimpでは,以前からscript-fuというスクリプトが使えて,自動化することが出来たが,これはschemeという言語を使っているので,それに不慣れなので,あまり使いやすくは無かった. schemeは,括弧を沢山使う言語で,配列やループなどを使うのが大変で,少なくとも私には複雑な処理をするスクリプトを作るのは困難だった. しかし,最近のgimpには,python-fuが組み込まれていて,pythonを使ってスクリプトを書くことができる. Debian13では,Gimp 3.0になっているし,少し古いubuntuでも,snapで3.0をインストールすることができ,python-fuを使うことができる.
python-fuは,Filters - Development - Python-Fu - PythonConsoleでコンソールを立ち上げて,そこから使うことができる. プログラム自体はpythonが使えれば問題無いのだが,少しクセもある. GimpのコマンドはHelp - Procedure Browserから調べることができるのだが,そのままでは使えないのである. 例えば,現在openしている画像のリストを得るgimp-get-imagesというコマンドは,python-fuでは,Gimp.get_imagesとなる. もう一つ例を挙げておくとgimp-image-get-layersは,Gimp.Image.get_layersとなる. “-“が”_“になるのはまだ良いとして,“gimp-“が"Gimp.“などとなるのは,moduleやクラスの名前となっているからのようです. 他にも,Gimp.SelectionやGimp.DrawableやGimp.Channelなどがあるようである.
また,python-fuで作ったスクリプトをメニューなどに登録する方法がまだ分かっていない. 今後は,script-fuよりもpython-fuを使うようになると思う.
light-locker
安定したシステムを運用したいPCには,私はdebianを使うようにしている.Debian 13 Trixieがそろそろリリースされそうだが,少し前からフライングで使い始めている.軽い環境が好きなので,環境としてはLXDEを主に使っているが,新しくインストールしたPCでは,しばらく放置していると,画面が消えて動かなくなっていることに気がついた.少し調べてみたら,light-lockerという画面ロックツールが,画面をロックしていて,通常はマウスやキーボードを使うと復帰するのだが,それが時々うまく行かなくなっているということが分かった.別のスクリーンセーバーを使えば良いのかも知れないが,面倒だけどpkillすると使えるようになる.uninstallしても良いのかな.
attiny261
昔まとめて買ったattiny261を使い切って無くなってしまった. 今は上位互換の861は売っているけど,261は売っているのを見かけないので,今後は861を使うしか無いかな. 昔よりも価格が高くなっているので,261で十分な回路には261を使いんだけど,仕方ありません. 互換性の問題で,そのシリーズを使い続けているが,そろそろ新しい型番の安価なtinyも試してみたいとは思う. 例えば,attiny202とかは,adcや16bitのタイマーもあるので,代替できるはずだけど,プログラムや回路を作り換えるのが面倒だし,202はUPDIという新しい書き込み方式を取っているので,まだ手を出していない.
最近,attiny261を使って回路を作っていたが,ノイズが発生して困っていた. 動作の確認のためにLEDをつけていたのだが,そこに比較的大きな電流が流れていたので,それが原因の可能性があると思って,LEDを動かなくしたら,ノイズが無くなった. 新しく回路を作ると,想定外のところで問題が生じることが多く,その原因を発見するのに苦労する.
以前は,adcが不要なときにはattiny2313を,adcが必要なときにはattiny261/861を,沢山のIOが必要なときにはatmegaまたはarduinoを使っていた. 新しい様々なICが開発されているので,今後はどの目的にどのICを使うかを考えていこうと思う.
linuxでVPN
VPN接続をする必要があるときには,openconnectを使っている. debianやubuntuでインストールするには,aptでopenconnectをinstallすれば良い. いろいろなVPNソフトがあるが,それに応じて下の表のようにprotocolを選ばなければならない.
protocol | VPN |
Cisco's AnyConnect SSL VPN | |
nc | Juniper SSL VPN |
pulse | Pulse/Ivanti Connect Secure SSL VPN |
gp | Palo Alto Networks GlobalProtect SSL VPN |
f5 | F5 Big-IP SSL VPN |
fortinet | Fortinet Fortigate SSL VPN |
array | Array Networks AG SSL VPN |
sudo openconnect --protocol=gp -v servervオプションは何となく付けています.
プリント基板の作成
電子回路を自作するときには,昔はユニバーサル基板を使っていた.しかし,同じ回路を複数作る場合には,面倒である.そのような場合には,銅基板をエッチングすると良い.パターンをレーザープリンターで転写シートに印刷して,それを銅基板と重ねて,アイロンで加熱して押し付けることによって,インクを銅基板に移して,その後で余分な紙を除去することによって,マスキングを作っていた.また,エッチングは塩化鉄だと使いにくいので,過二硫酸ナトリウムを水に溶かしたもので,エッチングを行っていた.溶液が透明なので,銅が溶けている様子がよく分かって良い.
今回,複数の基板を作る必要性が出てきたが,穴あけも面倒だし,業者に頼んで見ることにした.どの業者を使おうか迷ったのだが,結局PCBWayというところに注文した.比較的安いのと,自分の作る基板の情報を公開することもできるのが面白そうなので,そこに頼むことにした.5cm角ぐらいの一層の基板が5枚で$5と送料でした.KiCADで回路図を作って,ガーバーdataを作ったのだが,いろいろと初めてのことがあって,手間取った.dataが間違っていて,使えないものが出来ないか心配だったが,一応大丈夫だった.一つ間違えたのが,三端子レギュレーターやトランジスタのfootprintがよく分からなかったので,SIPにしていたが,穴が少し小さくて,1.0mmのドリルで穴を広げる必要があったことである.正しくは,TO-220-3というfootpringを選ばなければいけなかった.
やり方は一通り理解できたので,今後はプリント基板は業者に頼むことが増えると思う.
VESTAのインストール
結晶構造を表示するプログラムとしては,VESTAを使わせてもらっているが,今回は正式なリリース前にOSをインストールしたので,VESTAを入れるのに苦労するだろうと思って,まだイントールしていなかった. でも,やってみたら簡単だったので,やり方を書いておく. VESTAはMateriAppsに入っているので,以下のようにしてMateriAppsのrepositoryをaptに登録すれば良い.
wget https://sourceforge.net/projects/materiappslive/files/Debian/setup.sh sudo sh setup.sh sudo apt update
そしたら,aptでvestaをインストールできるようになる. ちなみに,curlが入っていなくてシェルスクリプトがエラーを出したので,それもaptで入れる必要があった. Debian 13のtrixie用のものはまだ準備されていないのではと思っていたら,すでに用意されていたようである. 感謝したい.
Juliaのインストール
Juliaのインストールの仕方を調べると,公式サイトにはjuliaupを使うように書いてある. しかし,シェルスクリプトを読んでみると,ユーザーのhomeの下に,いろいろとファイルが置かれるようで気持ち悪い. そこで,手動でやってみた. 以下のようにして,現時点での最新のものを取ってきて,移動させて,シンボリックリンクを張った.
wget https://julialang-s3.julialang.org/bin/linux/x64/1.11/julia-1.11.5-linux-x86_64.tar.gz tar -xvzf julia-1.11.5-linux-x86_64.tar.gz sudo mv julia-1.11.5 /opt/ sudo ln -s /opt/julia-1.11.5/bin/julia /usr/local/bin/julia
私が初めてjuliaを使ったときには,まだversionが1以下だったが,1.11まで来ている. 最近はあまり使っていないので,どう変わっているのかよく理解していないが. 文字列の扱いが少し面倒で,文字列操作が必要なときには,ついrubyでやってしまう. 今度,何かに使ってみよう.
Thunderbirdのショートカットは危険
普段はThunderbirdでメールを読んでいるのだが,特定の人からのメールが消えてしまった.webメールを使ったときに,そのメールを発見したのだが,Thunderbirdでは見えない.いろいろと調べてみたら,スレッドを無視するように設定されて,そのメールに返信すると,そのスレッドに属することになるので,無視されて表示されていないということが判明した.そのメールを表示できるようにするには,メニューからViewのThreadsでIgnored Threadsにチェックを入れれば良い.スレッドを無視する設定は,ショートカットのKに割り当てられていて,メールを読んでいる時に,誤ってKを押してしまうと,このような状況になってしまう.無視を解除するのもKで出来るが,注意が必要だ.あとAを押すとarchiveされるらしく,それも注意が必要だ.調べてみたら,3つのメールがArchivesの中に入っていたので,以前に誤ってAを押してしまったのだろう.
Trixieのインストール
やはり新しい新しいkicadを使う必要性が出てきたので,メインのOSをDebian 13に更新した.インストールしたらgrubが立ち上がらなくなって少し苦労したが,インストールし直して,無事に動くようになった./homeフォルダはOSとは別のパーティションにしているので,dataはそのまま使えるので,それほど苦労せずに環境を移行できる.kicadもversion 9.0となった.小さなトラブルとしては,pdfで文字化けが起こった.pdffontsで使っているフォントを調べて,結局はfonts-takanoをインストールしたらほぼ解消した.texはサイズが大きいので,帰るときにインストールしようと思う.