ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2026年1月20日火曜日

Parallels Clientを久しぶりにつかってみた

 バージョン21.0.0をApp Storeからダウンロード。

windowsに繋ぎたいので"新しい接続"から設定しようと思ったのですが,何を入力すればいいのやら。。。IPアドレスか???


結局,スクリーンショットの黄色い丸のところから,『代替RDP接続を設定』にいけばいいだけでした。

「代替」ってワードのせいでここをクリックしていいのかまよってしまったという話でした。






2023年5月4日木曜日

NI-GPIBドライバ(LabView)のM1&M2mac(apple silicon)対応状況

NIから 2023年4月27日に最新の情報が更新されましたが,相変わらずです。

macOS 13  (x86_64)と書いてあるので,intelチップのみの対応と考えられます。

まぁ,おそらくカーソルを合わせておかないと処理が極端に遅くなる問題にも対応できていないと思いますので,しばらくはlinux上で測定を進めます。

linuxもかなり便利になってきて,x11vncなどを使えばデスクトップを共有できるし,smb,最近ではgoogle driveにも対応できるので,しばらくはlinuxで不便は感じないかと。

2022年12月6日火曜日

Apple siliconのNI488.2ドライバが一向に開発される気配がないのでLinuxにもどろうか(事前調査)

 2022年12月時点で,NIがmacOSはx84_64しかサポートしていないので,intel mac を新品で買えない現状では研究室の維持が難しくなってしまう。


さらに,最近のmacOSではウインドウをアクティブにしておかないと,処理が遅くなるようなので,これも測定に悪影響を及ぼす恐れがある。

うっかり測定用プログラムが走っているウインドウ以外をクリックしてしまったりすると,測定プログラムがアイドル状態とみなされてしまうのだろう。


LinuxからmacOSに移った理由の一つが,VNCでのぞいたり場合によっては測定条件を変更したりしたいから。

RDPやmacの画面共有(これは所詮VNCだけど)と違って,サーバ側をLinuxにしてVNC接続すると,別のXが立ち上がるようになっている(複数人で使えるように)。

しかし,測定で使用する場合,今まさにディスプレイで表示しているものをそのまま表示して欲しいので,それではちょっと困る。


しかし!最近救世主のようなVNCサーバに出会えた。

X11VNCとかいうやつらしい。

VNC用のパスワードを発行して,現在デスクトップで表示されているものをそのまま共有できるらしい。

そこらへんにころがっているちょっと古いDOS/V機で十分いける!


そこで,ひさびさにLinux-GPIBのウェブサイトを覗いてみる。

すると,

The 4.x.x and later series kernels are also supported by the packages in the linux-gpib for 3.xx and 2.6.x kernels folder.
The latest stable release (linux-gpib-4.3.5) has been tested on linux version 5.19.0-rc7 from kernel.org 

と書いてある。

先日入れたxubuntu22.04のカーネルを調べるために,uname -rしてみると,5.15.0-56-genericとのこと。


条件的には大丈夫そう。

でもなるべくコンダラひきたくない。


これも続きは後日。








2022年10月26日水曜日

musrfitを久しぶりに使おうとしたら,変なエラーが出てしまった

スペクトルを表示しようとmusreditのボタンを押すと以下のような怪しいダイアログが出てしまう。 

musrviewで直に.msrファイルを開こうとしてもエラーが。

% musrview test-histo-ROOT-NPP.msr 

dyld: Library not loaded: /opt/local/lib/libgsl.25.dylib

  Referenced from: /Users/*****/Applications/root/root_exec/lib/libMathMore.so

  Reason: image not found

zsh: abort      musrview test-histo-ROOT-NPP.msr

libgslがないと怒られている。

しかし,実際はlibgslはmacportsでインストールされています。

 % sudo port installed gsl

Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.

The following ports are currently installed:

  gsl @2.6_0

  gsl @2.7_0

  gsl @2.7.1_0 (active)

なるほど,バージョン2.7がインストールされているのにバージョン2.5を呼び出しているのか。。。

古いバージョンをactivateしようにも,2.6以降しかインストールされていない。

実際,/opt/local/libに見に行ってみると,

 % ls -l libgsl*

-rwxr-xr-x  1 root  admin  2228224 12  2  2021 libgsl.27.dylib*

-rw-r--r--  1 root  admin  3939896 12  2  2021 libgsl.a

lrwxr-xr-x  1 root  admin       15 12  2  2021 libgsl.dylib@ -> libgsl.27.dylib

-rwxr-xr-x  1 root  admin   219792 12  2  2021 libgslcblas.0.dylib*

-rw-r--r--  1 root  admin   331056 12  2  2021 libgslcblas.a

lrwxr-xr-x  1 root  admin       19 12  2  2021 libgslcblas.dylib@ -> libgslcblas.0.dylib

(libgsl.dylib@っていうシンボリックリンクがいるのだから,libMathMore.soがそっちを参照しに行けばいいのに,25をよみにいっているところがアホ)

git pullしてrootをソースから作り直してもおなじメッセージが出る。

macportsで古いgslをインストールするのも手なのですが,ちょっと面倒なのでやっちゃいけないのは承知で以下のようにしてみました。

 % ls -l libgsl*                              

lrwxr-xr-x  1 root  wheel       15 10 26 16:06 libgsl.25.dylib@ -> libgsl.27.dylib

-rwxr-xr-x  1 root  admin  2228224 12  2  2021 libgsl.27.dylib*

-rw-r--r--  1 root  admin  3939896 12  2  2021 libgsl.a

lrwxr-xr-x  1 root  admin       15 12  2  2021 libgsl.dylib@ -> libgsl.27.dylib

-rwxr-xr-x  1 root  admin   219792 12  2  2021 libgslcblas.0.dylib*

-rw-r--r--  1 root  admin   331056 12  2  2021 libgslcblas.a

lrwxr-xr-x  1 root  admin       19 12  2  2021 libgslcblas.dylib@ -> libgslcblas.0.dylib

不具合が出るまでこれで行きます。

きちんとスペクトル表示されました。







2022年10月4日火曜日

macOSでVisual Studio CodeとLaTeXを使うならDropbox

 タイトルが全てです。

Visual Studio Code側では,最初,settings.jsonにレシピとツールをクソ真面目に書いて,ptex2pdf -uだけを複数回実行するのか,ubibtexを間にいれるのかを区別してコンパイルしていたのですが,結局latexmkに頼れば一発だったので,前回のポストのようにしました。

iCludDrive上のファイルは扱えなかったのに,Dropbox上のファイルは問題なく扱える。

正確には,iCloud上のTeX文章もVisual Studio Codeのターミナルを使えばコンパイルできるのですが,⌘sで保存した時にコンパイルという便利さが失われるのでiCloud上のファイルを使うのはやめました。


もともとDropBoxやめようと思ったのは,iPad上のTexifier.appがDropboxを扱えなくなったからなのですが,そもそもiPadはクラウドタイプセットメインになりつつあるので,iPadでTeX文章書くことを諦めるます。

もう少し調べたら何かあるのかもしれませんが。。。。


2022年9月27日火曜日

AtomからVSCodeに移行し,LaTeX機能拡張をインストール

 Atomやっと使い慣れてきて,CでもPythonでもTeXでも便利に使っていたのですが,なんと開発終了という悲しい情報を知り,さて何に乗り換えようかと考えています。


ウインドウを散らかす性格のため,TeXのプレビューが同じウインドウに表示されるエディタがいいので,vimやemacsは選択肢から外れます。

そうすると,にMicrosoftのVisual Studio Codeが上がってきました。

Microsoft?という先入観でちょっと抵抗があったのですが,Atomと似ていて使いやすそう。


早速導入。

環境は,MacPortsでTexLive2022がインストールされている状況。

Visual Studio Codeのバージョンは1.71.2

取り急ぎLaTeX機能拡張が欲しかったので,LaTex Workshop v8.29.0をインストール。

⌘+,で環境設定。

右上のアイコンをクリックすると,設定ファイル(settings.json)をエディットできる。

私は最近uplatexを主に使っているので,ここでtoolとしてptex2pdfに-uオプションをわたして実行すればいいのだが,bibtexをまわすときとまわさないときでレシピを分ける必要がありそう。

ここで色々調べてみると,latexmkをつかうと,その辺を判断してbibtexをまわしたりまわさなかったりしてくれる模様。

日本語の処理を楽ちんにするため,uplatexでdviをつくってdvipdfmxでpdf化する方向で設定したい。

latexmkは,ホームディレクトリの下に.latexmkrcというファイルを用意しておけばその通り実行してくれる模様。


公式マニュアル($ man latexmk)を実行してざっと文章を斜め読みしながら.latexmkrcの書式について一通りしらべて,私の目的(VSCodeから実行する)なら,以下の項目だけを設定すればいい模様。

まず一番大切なのは,$pdf_mode

dviからpdfの流れにする場合は3にする。

次にtypesetコマンドの設定。

これは,$latex

それから$bibtex$dvipdf$makeindexを設定しておけば最低限動きそう。

それだけ設定した私の.latexmkrcはこんな感じ。

#!/usr/bin/env perl

$pdf_mode         = 3;

$latex            = 'uplatex -halt-on-error';

$bibtex           = 'upbibtex';

$dvipdf           = 'dvipdfmx %O -o %D %S';

$makeindex        = 'mendex %O -o %D %S';

これを動かすVSCodeのsettings.jsonはこんな感じ。

{
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"%DOC%"
]
}
],
"latex-workshop.view.pdf.viewer": "tab",
"workbench.colorTheme": "Solarized Dark",
}

すっかり忘れていたけど,iCloud Drive上のファイルは扱えません。

VSCode側かLaTeX Workshop側かわかりませんが,おそらくフルパスで処理しようとしてパスにスペースが入っているところでおかしなことになるのかと思われます。それさえなければこの環境はよさそう。

2022年8月29日月曜日

ParallelsClientを用いてLinuxのデスクトップをxrdpでmacOSから遠隔操作(追記あり)

 macOSからwindowsを遠隔操作する際は,Parallels Crientを使うとスピードの面でもキーボード配列の面でも良いので使っていました。

一方でmacOSからlinuxに繋ぐときは,XDMCPやVNCを使っています。

しかし,終了の仕方,起動の仕方にノウハウがありちょこちょこ変なことが起こったりするので,どうにかならないかと思っていました。


最近,xrpdについての記事をちょこちょこ見かけるようになったので,もしかしたらlinuxサーバもrdpを使うとmacから操作できるのではないかと思い,やってみました。


とりあえず私の環境は,古いのですがLinuxのサーバ側はScientificLinux7.9で,クライアントはmacOS BigSur。Montereyでも試しましたがほとんど一緒でした。

Linux側は多分CentOSでも一緒で,RedHat系のディストリビューションならきっとどれも同じでしょう。

Linux側へのxrdpのインストールは色々なところに情報がありますが,vncサーバのインストールも必要なようです。私は元々tigervncを入れてあったのでそこは意識することはありませんでした。


あとは,systemctlでxrdpを起動すれば何もせず接続できました。

# systemctl start xrdp

もし自動起動させたければ,

# systemctl enable xrdp


macからの接続は,Parallels Clientを起動し,新規接続から,標準RDPを選びます。

特に設定する項目はなく,サーバーのところにLinux側のIPアドレスを入れるだけでオッケー。
フレンドリ名は自分が見分けられる単純な名前にすれば良いようです。

ここまでの設定が済むと,そのまま接続すると認証エラーという画面が出てちょっと気分が悪いです。
これはおそらく接続する時にユーザ名とパスワード情報を同時に送信しているからだと思います。
これをログイン画面と解釈してLinux側のユーザ名とログイン名を入れれば何の問題もなくLinux側へログインができます。
認証エラーと言われることがあまり気持ち良くないのであれば,Parallels Client側の詳細設定でユーザ名とパスワードをあらかじめ入れておけばオッケーです。
ParallelsClientのトップ画面で,先程設定した接続を右クリックすると(私はすでにいくつか接続を設定してしまっていますが)
『自動ログイン』にチェックを入れていなくても私の場合上記の認証エラー画面がでます。
ここでLinux側のユーザ名とパスワードをあらかじめ入れておけば認証エラー画面が出ずに,そのままLinux側の画面が出ます。

ここで表示されるデスクトップは,ディストリビューションデフォルトのもので,デスクトップマネージャーのようなものが表示されないので,sessionを選択することなどができませんが,おそらく設定でどうにかできるとは思いますが,それはまた今後。

2022/08/31追記
バージョン19から新規接続の画面が以下のように変わり,デフォルトの設定だとなぜか接続できなくなります。
いくつか試した結果,デフォルトだとRetinaディスプレイのとんでもない解像度で接続に行ってしまいエラーになるようですので,接続前にディスプレイの解像度をたとえば1920x1080などに変えておくとエラーなく接続できるようです。

まず,新規接続は以下の画面でIPアドレスを入れるのではなく,左下にある『代替RDP接続を作成』から進みます。

すると以下の画面になるのでここでLinuxサーバ側のIPアドレスを入れます。
フレンドリ名は多分なんでもいいと思います。


詳細設定画面で,以下のように解像度をおさえめにするとうまく接続できるようです。














2021年11月2日火曜日

SciDAVisのdark modeが見づらい

 MacPortsでインストールされていたSciDAVis,現在のバージョンは2.4らしいのですが,どうにもDarkModeが見づらい。

しかも,コマンドラインからの起動に戻ってしまった。

そこで,古いバージョンをアクティベートし直すことにした。


 % sudo port installed scidavis

Password:

The following ports are currently installed:

  scidavis @2.1.4_0

  scidavis @2.4.0_0

  scidavis @2.4.0_1 (active)



2.1.4の時まで遡ることに。

% sudo port activate scidavis @2.1.4_0

--->  Computing dependencies for scidavis

--->  Deactivating scidavis @2.4.0_1

--->  Cleaning scidavis

--->  Activating scidavis @2.1.4_0

--->  Cleaning scidavis


無事に古い方で起動が可能に。

現在の環境。
macOS 10.15.7
MacPorts version 2.7.1

2021年8月31日火曜日

macOSでパスワードつきzip圧縮

 これまでパスワードつきzipファイルを作るときは,

1. Finder上で右クリックして圧縮

2. terminalで

$ zipcloak <対象zipファイル名>

としていたのですが,最近このやり方で作ったパスワードつきzipファイルがうまく解凍できないトラブルが発生しました。

どうやら,ディレクトリをzip圧縮した際に起こるようです。

よくよくみてみると,zipcloakでパスワードをかける際に,

zipcloak warning: Local Entry CRC does not match CD: <ファイル名>

という警告が出ています。


結局古典的に,

$ zip -r -e <作りたいzipファイル名.zip> <対象ディレクトリ>

でパスワードつきzipファイルを作ったらうまく解凍できました。

理由はよくわかりませんが,今のところディレクトリを圧縮するのに右クリックは使わないほうがいい,ということのようです。

2021年1月24日日曜日

SciDAVisのインストール

 うっかりしていました..SciDAVisはてっきりソースからインストールしないといけないと思っていたのですが,念のためMacPortsで確認すると...



ありました...
Versionは2.1.4ですが,コンダラ引かないでインストールできるならそれに越したことはありません.
インストールしてみたのですが,はてどこにインストールされたのか...
探してみても,/opt/local/bin以下にいない模様.
そういうパターンの時は,~/Applicationsなどにインストールされることもあるので確認しますが,いません.
まさかと思って,/Applicationsを見てみると,/Applications/MacPorts/scidavis.appにありました.


バッチリです.
相変わらず拡張子.sciprojのファイルをダブルクリックしてもファイルは開きません.
右クリックの「開く」メニューから/Applications/MacPorts/scidavis.appを選択しても開きません.
一回/Applications/MacPorts/scidavis.appを起動したのちに,FileメニューのOpenから開かないと開きません.

また,version1.x.xでは既存のファイルを開くとプロットの色が反映されないバグがありましたが,そこは改善された模様.




2021年1月17日日曜日

SciDAVisのインストール準備

 研究室の学生に,グラフ作成はEXCELではないものを使いましょうと言っていて,無料で使えるグラフソフトとして昨年度からSciDAVisを推奨していました.

WinでもMacでも使えたので良かったのですが,どうやらMac版は今はsourceからビルドしないといけない模様...

重いコンダラを引きたくないので最近はなるべくバイナリインストールできるものをと言ってきたのですが,ここへきてインストールしてあった古いMacBookの調子が悪く,あたらしいMacBookにもインストールしないといけなくなってきました.

SciDAVisの現在のバージョンは2.3.0.

ソースをダウンロードしてtarを解凍すると,いくつかの書類が...

INSTALL.mdに従うと,MacPortsが推奨の模様.

事前に必要なパッケージは,

qt4-mac
qwt52
qwtplot3d
boost
gsl
py27-pyqt4
py-pyqwt
py27-sip
muparser

これらをportでインストール.

Qt4メインであることとPythonが2.7ベースであることが少し不安.

次に,以下のように管理者権限でsip-2.7のシンボリックリンクを貼る.

# ln -sf /opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/sip /opt/local/share/py27-sip

続いてqtのパスを通す.zshなので,.zshrcに以下を書き込む.

PATH=/opt/local/bin:/opt/local/libexec/qt4/bin:$PATH

まずはここまで.


2020年6月10日水曜日

catalinaになってしまった

5年使ってきたMacbookがそろそろ色々な意味で手狭になってきたので,リプレース.
ところが,catalinaはちょっと厄介な様子.
色々使えなくなる予定,その一つがIgorPro
サポートしないとうたっていますが,サードパーティのXOPなどを使わなければ動く模様.
現状ではKaleidaGraphも動かない予定.
そして,GPIBはまだまだNIが対応していない様子.

絶対必要なのはTeXなので,TeX環境をどうするか.
もう10年以上Finkを使ってきたのですが,流石に少々疲れてきて(TeXで必ずトラブる)Homebrewも一瞬考えたのですが,musrfitがうまく動くかわからなかったので,試しにMacPorts経由でTeXLiveを入れることに.

噂で,bashからzshに変わったらしいということも聞いていたので,まずはzsh関係のお勉強.
Qiitaを参考にしました.

2019年4月20日土曜日

macOS MojaveでmakeしたときにFrameworkが探せなくなった<解決済み>

十年近く使ってきた測定用のmacbookを新調しました。
今しかないと思って,あえてのMacBookAir(非Retina)です。
税込約10万円で,旧USBポートが備わっていて,GPIBとserial通信両方同時にできそうなすばらしいハードウエア,と思ったのですが,罠が。。。。。

以前からつかっていた測定用のコードがコンパイルできません。 


小一時間,というかもう少し悩んで,いろいろ試しました。
NI4882は/Library/Frameworks以下にあります。
まずはni4882.hがみつけられないのだから-Iで探させてみたのですが,それでも次はldがNI4882をFile not foundと言ってきて,泥沼の様相。
NI4882の場所がいけないのかと思い,ldのmanやappleのdocを読み込んでみても,/Library/Frameworksで良さそう,っていうか/Library/Frameworksにしろと書いてある。
それこそHighSierraにダウングレードしようかなど考えていたのですが,どうやら-Fというオプションがある模様。
そこで,makefileに-F/Library/Frameworks を加えてみたところ,あっさり成功。



ちょっと苦労したので忘れないようにメモ。

2019年2月14日木曜日

pythonで超伝導マグネット電源から磁場の値を読み込む。closeの方法も。

先日メモしたように,Cryogenicの超マグ電源から,シリアル通信で現在の磁場の値を読み込むと,

>>> import visa
>>> rm = visa.ResourceManager()
>>> instr1 = rm.open_resource('ASRL1::INSTR')
>>> cmd = instr1.query('get o\n')
>>> cmd
'OUTPUT: 0.0000 TESLA AT 0.0 VOLTS \r\n'

のように,余計な文字列がたくさんついてきます。
どうやら,pythonはこういうときの処理がとても得意みたいです。

split()で空白で区切ると単にlistになるのですが,

>>> cmd.split()
['OUTPUT:', '0.0000', 'TESLA', 'AT', '0.0', 'VOLTS']
>>> type(cmd.split())
<class 'list'>

このままでは当然strのままです。

>>> type(cmd.split()[1])
<class 'str'>

これをfloat()にしてあげればよくて,

>>> field = float(cmd.split()[1])
>>> field
0.0
>>> type(field)
<class 'float'>
>>> 

のようにみごとに分割した文字列から一発で磁場の値を浮動小数点に変換できます。
ちなみにcloseの方法は簡単で,

>>> instr1.close()
>>> exit()
bhoona:~ yishii$ 

のように,ResourceManagerから持ってきたデバイス名に.close()をつけるだけです。
前回のエラーはすっかり消えました。

pythonすごいです,おどろくほど短いコードで済みます。

2019年1月24日木曜日

PyVISAは無敵かも

春休みに磁気抵抗を測定しようと思い,マグネット電源とシリアル通信しないといけないなぁ,となんとなく気が重くなっていたのですが,すばらしい解決方法を見つけてしまいました。

環境としては,
macOS HighSierra
Python 3.6.3 (finkでインストール)
NI VISA 18.0.0

pip3でpyserialをインストールし,ためしに通信してみました。





こんな感じで,無事に通信できました。
実はここに至るまで紆余曲折あり,一筋縄ではいきませんでした。

ポイントは,コマンドの文字列を送るところです。
最初,ネットの記事を参考に,

>>>ser.write("get o¥n")

のようにしてみたのですが,うまくいかず,基本にもどって,公式ドキュメントを参考にしてみたところ,

>>>ser.write(b'get o¥n')

と書くのが正しいようだったので,そうしてみました。
(いつも学生に,『安易なネット検索はいかん』と言っていたのに,自分でハマってしまった。。。)

帰ってきた文字列を見てみると,CRとかLFが入っているし,『b' '』で囲まれてしまっているので,ちょっと厄介だなぁ,と思っていました。

つづいて,PyVISAをインストール。
うっかり最初,easy_install pyvisaとやってしまったところ,python2.7用のVISAがインストールされてしまいました。
これはいかんと,pip3でインストールしたところ,無事python3用のpyvisaがインストールされました。

PyVISAも,ネット上にはいろいろな情報があふれているのでw,基本にかえりながら,



ここで,重大なことに気づきました!!!
今,macにはusbで(と言ってもUSB-Serial変換アダプタ経由で)マグネット電源が,NIのGPIB-USBアダプタ(アドレスは3)で温度コントローラが繋がっています。

>>> rm = visa.ResourceManager()
>>> print(rm.list_resources())

とやってリストをみると,GPIB機器(GPIB0::3::INSTR)のほかに,ASRL1::INSTRという装置が見えます。

そうでした,そこがVISAのすばらしいところでした。
つまり,pyserialは必要なかったのです。。。

>>> instr1 = rm.open_resource('ASRL1::INSTR')
>>> instr2 = rm.open_resource('GPIB0::3::INSTR')


のように,二つの機器にそれぞれinstr1とinstr2という名前をつけて,通信してみたところ,

>>> instr1.write('get o\n')
(8, <StatusCode.success: 0>)
>>> print(instr1.read())
OUTPUT: 0.0000 TESLA AT 0.0 VOLTS 

>>> instr2.write('*idn?')
(7, <StatusCode.success: 0>)
>>> print(instr2.read())
LSCI,MODEL350,LSA14J9/#######,1.4

>>> 


と,無事にシリアルかGPIBかの区別を全く感じずに通信することができました。

ただ,このままexit()すると

>>> exit()
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 108, in __del__
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 243, in close
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 235, in before_close
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 252, in __switch_events_off
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 309, in disable_event
  File "/sw/lib/python3.6/site-packages/pyvisa/ctwrapper/functions.py", line 410, in disable_event
  File "/sw/lib/python3.6/site-packages/pyvisa/ctwrapper/highlevel.py", line 188, in _return_handler
pyvisa.errors.VisaIOError: VI_ERROR_INV_OBJECT (-1073807346): The given session or object reference is invalid.
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 108, in __del__
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 243, in close
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 235, in before_close
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 252, in __switch_events_off
  File "/sw/lib/python3.6/site-packages/pyvisa/resources/resource.py", line 309, in disable_event
  File "/sw/lib/python3.6/site-packages/pyvisa/ctwrapper/functions.py", line 410, in disable_event
  File "/sw/lib/python3.6/site-packages/pyvisa/ctwrapper/highlevel.py", line 188, in _return_handler
pyvisa.errors.VisaIOError: VI_ERROR_INV_OBJECT (-1073807346): The given session or object reference is invalid.

のようにちょっと嫌なメッセージが出ます。
おそらくcloseしていないからでしょうが,今日はここまでにします。
うまくいけば,PyQtとか使ってらくちんに測定できるかもしれません。







2017年4月18日火曜日

musrfitのビルド

rootをmakeするにあたり,PSIのサイトの指示に従ったのだが,いろいろ問題があったので嫌々ちょこっとだけソースを修正しなくてはならなかった。
(一部,ヘッダファイルをincludeするところで,"~~~.h"とすべきところが<~~~.h>となってしまっていて,エラーがでた。)
makeできたら勝ちなので。

rootはスプラッシュ画面がかっこよくなってた。



musrfitをmakeするにあたり,今回の./configureは以下のとおり。

./configure --prefix=$ROOTSYS --with-qt5=/sw/lib/qt5-mac --enable-NeXus --with-boostinc=/sw/opt/boost-1_55/include

何の問題もなくmakeできた。
musreditは/Applicationsの下にインストールされ,いつも通りのmusreditができた。


musrfitをバージョンアップ。の前にroot

musrfitが新しくなっているので,インストールしようと思ってソースを落としてみたら(職場からpsiのgitにつながらなかったので),configureでエラーが。。

configure: error: Either ROOT is not installed correctly or the version is too old... please check!


なるほど,rootのサイトに行ってみると,今はv6台に移行していた。
しょうがないのでrootをgitで入れ直し。

インストール前に環境変数関係をいろいろチェックして回っていたら,いろいろおかしなところがあった。

まず,/etc/launchd.confに,以下のようにQt関係の余計なことを書いてしまっていた。

/etc > more launchd.conf 
setenv PATH /sw/bin:/sw/sbin:/bin:/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/bin:/opt/root/bin:/sw/lib/qt4-mac/bin:.

なるほど,これのせいで最近qt関係がおかしくなっていたのか。。。
(現在はqt5に移行しつつあった。)
まずこのPATHのrootとqt4を削除する。

ひきつづき,.bash_profileでも$QTDIRと$ROOTSYSをセットしてしまっていたので,そこをコメントアウト。

launchd.confをいじってしまったので,ここから先は再起動しないといけない。

続きは後日...


2017年2月7日火曜日

finkのupdate-allがつっかえてる。(gnuplotのwxtはx11版よりwxOSX版の方が速い)



前回の続き。

finkをself updateして,update-allしたらgnuplot-wxgtk-qtmacがコケて進まない。
エラーをよくよく読むと,qt5関係の模様。
おそらく,qt4とqt5が共存しているためにコケていると判断し,ここは一旦削除。
update-allを実行したのちにgnuplotの問題をやっつけることに。

google先生に聞いてもサクッとは解決しそうにない上に,Qtの問題を解決出来るスキルも時間もない。
そこで,そもそもfinkのgnuplotってどんな種類があるの?と,パッケージ一覧を見たところ,すごいことに。。。



こんなに種類がありました。
(これは現在のリストで,gnuplot-wxcocoaをインストールした状態。)

ここで,Qt関係は避けるとして,それでも選択肢が通常版とwxgtk,wxcocoaがある。
前回の問題は,wx terminalの動作が遅いということ。
ならば,wxcocoaはどうなのだろう??
これは試すしか!!

と思い,wxcocoa版をインストール。
結果,速いです。
測定しながら再描画しているのですが,満足できるスピードです。


しかも,右クリックでズームとか,pキーで戻す,gキーでグリッド表示なんかもでき,前回の問題はすべて解決。




2017年1月21日土曜日

makeできなくて焦る:(解決済み)

測定プログラムを作ってました.
Dropboxで共有していたディレクトリで作業を行っていて,ある時からこんなメッセージが出てmakeができなくなりました.

ld: can't write output file: res372 for architecture x86_64

ls -lしてよくよく見たら一個前にmakeした時のファイルが,なぜが所有者がrootになっていました.
なぜか理由はわからないものの,古いファイルを削除したら問題なくmakeできました.

いつものようにパイプでGNUPLOTを呼び出して使っているのですが,Macのネットワークユーザでwxtターミナルでグラフ表示するとすさまじく重いので,aquaに戻す.
すると,グリッドを出したりとか拡大縮小のやり方がわからなくなり,困惑.

時間も遅いので,取り急ぎ,今日は帰宅.


2016年12月8日木曜日

emacsのfollow-modeが凄まじく便利!!

ここのところTeXはTeXPadひとすじになりつつありましたが,プログラムするときはmiやAtomなどにちちら浮気していました。 しかし!最近emacsでfollow-modeというのを覚えてから,すっかりemacsに戻りつつあります。
一つのファイルを横に分割した画面で表示させ,スクロールを追従させるモードで,ワイドなディスプレイを有効活用できます。

方法は,
C-x 3
で横分割しておいて,
M-x follow-mode
でオンオフできます! コードを見渡せるのですごく便利です。



再びemacs一筋の生活に戻ってしまいそうです。

emacsは独特の使い方があるので,なれないと不便に感じる方もいらっしゃるみたいですが,私は学生時代はメールもMuleでMewで読み書きしていたくらいですので,emacsにはまったく抵抗がありません。
(っていうかそもそも電子メールとの出会いがMewでした。)