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を使うようになると思う.

Read more...

light-locker

安定したシステムを運用したいPCには,私はdebianを使うようにしている.Debian 13 Trixieがそろそろリリースされそうだが,少し前からフライングで使い始めている.軽い環境が好きなので,環境としてはLXDEを主に使っているが,新しくインストールしたPCでは,しばらく放置していると,画面が消えて動かなくなっていることに気がついた.少し調べてみたら,light-lockerという画面ロックツールが,画面をロックしていて,通常はマウスやキーボードを使うと復帰するのだが,それが時々うまく行かなくなっているということが分かった.別のスクリーンセーバーを使えば良いのかも知れないが,面倒だけどpkillすると使えるようになる.uninstallしても良いのかな.

Read more...

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を使うかを考えていこうと思う.

Read more...

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
そして,以下のように実行して,idとパスワードを入力すれば,VPNに接続できる.
sudo openconnect --protocol=gp -v server
vオプションは何となく付けています.
Read more...

プリント基板の作成

電子回路を自作するときには,昔はユニバーサル基板を使っていた.しかし,同じ回路を複数作る場合には,面倒である.そのような場合には,銅基板をエッチングすると良い.パターンをレーザープリンターで転写シートに印刷して,それを銅基板と重ねて,アイロンで加熱して押し付けることによって,インクを銅基板に移して,その後で余分な紙を除去することによって,マスキングを作っていた.また,エッチングは塩化鉄だと使いにくいので,過二硫酸ナトリウムを水に溶かしたもので,エッチングを行っていた.溶液が透明なので,銅が溶けている様子がよく分かって良い.

今回,複数の基板を作る必要性が出てきたが,穴あけも面倒だし,業者に頼んで見ることにした.どの業者を使おうか迷ったのだが,結局PCBWayというところに注文した.比較的安いのと,自分の作る基板の情報を公開することもできるのが面白そうなので,そこに頼むことにした.5cm角ぐらいの一層の基板が5枚で$5と送料でした.KiCADで回路図を作って,ガーバーdataを作ったのだが,いろいろと初めてのことがあって,手間取った.dataが間違っていて,使えないものが出来ないか心配だったが,一応大丈夫だった.一つ間違えたのが,三端子レギュレーターやトランジスタのfootprintがよく分からなかったので,SIPにしていたが,穴が少し小さくて,1.0mmのドリルで穴を広げる必要があったことである.正しくは,TO-220-3というfootpringを選ばなければいけなかった.

やり方は一通り理解できたので,今後はプリント基板は業者に頼むことが増えると思う.

Read more...

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用のものはまだ準備されていないのではと思っていたら,すでに用意されていたようである. 感謝したい.

Read more...

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でやってしまう. 今度,何かに使ってみよう.

Read more...

Thunderbirdのショートカットは危険

普段はThunderbirdでメールを読んでいるのだが,特定の人からのメールが消えてしまった.webメールを使ったときに,そのメールを発見したのだが,Thunderbirdでは見えない.いろいろと調べてみたら,スレッドを無視するように設定されて,そのメールに返信すると,そのスレッドに属することになるので,無視されて表示されていないということが判明した.そのメールを表示できるようにするには,メニューからViewのThreadsでIgnored Threadsにチェックを入れれば良い.スレッドを無視する設定は,ショートカットのKに割り当てられていて,メールを読んでいる時に,誤ってKを押してしまうと,このような状況になってしまう.無視を解除するのもKで出来るが,注意が必要だ.あとAを押すとarchiveされるらしく,それも注意が必要だ.調べてみたら,3つのメールがArchivesの中に入っていたので,以前に誤ってAを押してしまったのだろう.

Read more...

Trixieのインストール

やはり新しい新しいkicadを使う必要性が出てきたので,メインのOSをDebian 13に更新した.インストールしたらgrubが立ち上がらなくなって少し苦労したが,インストールし直して,無事に動くようになった./homeフォルダはOSとは別のパーティションにしているので,dataはそのまま使えるので,それほど苦労せずに環境を移行できる.kicadもversion 9.0となった.小さなトラブルとしては,pdfで文字化けが起こった.pdffontsで使っているフォントを調べて,結局はfonts-takanoをインストールしたらほぼ解消した.texはサイズが大きいので,帰るときにインストールしようと思う.

Read more...

Debian

私はメインのPCのOSとしてはDebian Linuxを,サブとしてubuntu linuxを使っている.次の5月か6月にはDebian 13 Trixieがリリースされる予定であるが,私は未だにDebian 11 bullseyeを使っている.サポートはされているが少し古いOSを私が使い続けているのにはいくつかの理由がある.まず,新しいOSはしばしばバグがあり,私は通常はリリースから数ヶ月経ってからインストールすることが多い.また,物質科学系のソフトのポータルであるMateriAppsが,なかなか新しいOSに対応してくれないので,それらのソフトを使う場合には,対応を待つ必要がある.例えば,Debian 12への正式な対応がリリースされたのは今年の二月であり,OSのリリースから二年弱も経っている.新しいOSがリリースされると,部分的なサポートはされるのだが,使いたいソフトがいつ対応されるのかは分からない.さらに,Debian 12では,プログラム言語のjuliaがaptから外れてしまったので,今回は11のまま使い続けている.しかし,juliaの公式ページを見ると,Linuxに付属するJuliaはバグがある可能性が高いので,公式からインストールするように勧めている.フォルダの構造を変にしたくないので,aptで入れられるものはaptで入れるようにしていたが,juliaに関しては,公式ページの助言に従うべきなのだろう.
電子回路の設計には,kicadを使っているが,Debian 11ではversionが古く,新しいものを使う必要性が出てきたので,そろそろOSごと新しくしようかと思っている.backportsを使う方法もあるが,あと二ヶ月まって,Debian 13にしようかと考えている.それとも,リリースを待たずにtestingの状態でdailyビルドを使っても良いけど,どうしよう.MateriAppsの問題もあるし.

Read more...