Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

Terminalから複数の画像(png)を「Quick Look」で開くには?

あるフォルダに「fig1.png, fig2.ping, …」が有るとして、現在は「open -F fig*.png」を実行すると、一つのpreview.appで開かれて、矢印キーで画像を閲覧できる様になて居ます。


本当は「Quick Look」で開くのが望ましいです。どの様にすれば善いか、お教え下さいませんか?

Mac mini, Mac OS X (10.7.5), Mac mini(mid 2011), iMac(late 2009)

投稿日 2013/04/08 19:26

返信
スレッドに付いたマーク ベストな回答

投稿日 2013/04/08 19:36

なんちゃって Quick Look になりますが、qlmanage コマンドはどうでしょう?

返信: 186

2013/04/08 21:01 mNeji への返信

自己コメントです。


呼び出された「Quick Look」の画像は望み通り出てくるのですが;

  • 画像のファイル名に[DEBUG]が付き、
  • 「Quick Look」を終了するまで、Terminalはロックされます。


「-d 0」は無い様ですし……。


なにか「Finderでの振る舞い」と「Terminalでの振る舞い」を同じにする方法は無いのでしょうか?

2013/04/08 21:19 mNeji への返信

  • 画像のファイル名に[DEBUG]が付き、
  • 「Quick Look」を終了するまで、Terminalはロックされます。


そこが、なんちゃって Quick Look と書いた理由です。このコマンドは Quick Look 開発時の DEBUG 用。で、ちゃんとやりたければ自分でツールを開発。


あとは、AppleScript で Finder から Quick Look。Terminal からならそれを osascript で。ということになると思います。

2013/04/08 21:41 mNeji への返信

AppleScript を適当な場所に保存して、


on run argv

set arg1 to item 1 of argv

tell application "Finder"

tell window 1

select (files whose name extension is arg1)

end tell

end tell

-- 以下は Snow Leopard の場合。Lion 以降は適宜書き直してください。

tell application "System Events"

tell process "Finder"

set frontmost to true

tell window 1

tell tool bar 1

click (button 1 whose accessibility description is "クイックルック")

return

end tell

end tell

end tell

end tell

end run



Terminal からはこんな感じでどうでしょうか?

open "$(pwd)" && osascript path/to/foo.scpt png

2013/04/08 22:54 Hiro__S への返信

お教え戴いたスクリプトは「AppleScript Editor」経由で~/appleScripts/`quickLook.scptとして保存し、png画像は~/Desktop/の下にfig.1.png, fig.2.pngとして用意しました。そして次の様に実行をしましたが;


u1@mmX75:~/Desktop $ ls -l ~/appleScrits/QuickLook.scpt

-rw-r--r--@ 1 u1 staff 3838 4 8 21:54 /Users/u1/appleScrits/QuickLook.scpt

u1@mmX75:~/Desktop $ ls -l

total 496

-rw-r--r--@ 1 u1 staff 91217 4 8 16:49 fig.1.png

-rw-r--r--@ 1 u1 staff 157242 4 8 16:52 fig.2.png

u1@mmX75:~/Desktop $ open fig.*.png && osascript ~/appleScripts/QuickLook.scpt png

osascript: /Users/u1/appleScripts/QuickLook.scpt: No such file or directory

u1@mmX75:~/Desktop $

となり、実行できなかった模様です。なお、二つの画像は、openに従ってpreviewで開かれています。


ひょっとして「QuickLook.scpt png」のpngに画像ファイル名をいれるのでしょうか?

2013/04/08 23:43 mNeji への返信

No such file or directory


入力を間違えてます。(typo と思われ)


ーーーーー


何をしているかを説明しますと、

1. open "$(pwd)" でカレントディレクトリを Finder で開き

2. osascript で Finder の最前面ウインドウにある png ファイルを全部選択

3. osascript で Finder のツールバーにある "クイックルック" ボタンを押す


要するに Finder で png ファイルを選択して、Quick Look のボタンを押すのを自動化してるだけです。


例えば ファイル名が QuickLook.scpt で、置き場所が ~/appleScrits、対象の拡張子が .png 場合、Terminal での操作は、cd で png ファイルの在処に移動し下記を入力。


open "$(pwd)" && osascript ~/appleScrits/QuickLook.scpt png


それと、システム環境設定 > ユニバーサルアクセル で「補助装置にアクセスできるようにする」を ON にしておいてください。あとスクリプト中の「Lion 以降は適宜書き直してください」のところは思いっきり環境依存です。Lion に合わせて書き換えなければならないかもです。

2013/04/09 00:24 Hiro__S への返信

お手数お掛けしています。


お教えに従って準備し、Terminalで実行すると;


u1@mmX75:~ $ cd Desktop/

u1@mmX75:~/Desktop $ open "$(pwd)" && osascript ~/appleScrits/QuickLook.scpt png/Users/u1/appleScrits/QuickLook.scpt: execution error: System Events got an error: Can’t get button 1 of tool bar 1 of window 1 of process "Finder" whose accessibility description = "クイックルック". Invalid index. (-1719)

u1@mmX75:~/Desktop $


となりました。上記のコマンドに伴い、FinderでDesktopが開き、二つのファイルがハイライトされています。いよいよスクリプトをLion向けに調整する必要が有るのでしょうね。今日は疲れたので、明日調べてトライしてみます。


ご指導、ありがとうございました。

2013/04/09 00:42 mNeji への返信

FinderでDesktopが開き、二つのファイルがハイライトされています。


AppleScript の前半はちゃんと動くようですね。後半の部分を動かすには、下記が必須です。お忘れなく。


・「補助装置にアクセスできるようにする」を ON にしておく

・Finder の「クイックルック」ボタンを必ずツールバーに配置しておく


あと、もうちょっとだと思います。頑張りましょう。

2013/04/09 01:34 Hiro__S への返信

> あと、もうちょっとだと思います。頑張りましょう。


はい、有り難うございました、動きました!



自分でも前半までOKなのだからと思い後半を眺めていると「"クイックルック"」に気づきました。そうです、私は諸般の都合で英語モードにしているので「"Quick Look"」にしてみました。


結果、奇麗に"Quick Look"で2つの画像が閲覧できました。長年に渡りAppleScriptに手が出なかったのですが、雰囲気が判った感じがします。ボトボチと使い終わったFinderを消すステップにトライしてみます。


お付き合いしていただいて、有難うございます。:-p)

2013/04/09 10:21 mNeji への返信

自己コメントです。


動きを見ていると、開かれたFinderはアクティブ(window1だからなのか?)なままなので、スクリプトに一行追加しました。正常にセーブも出来たのですがFinderは開かれたままです。


ユーザがアップロードしたファイル


助言を戴けると幸いです。

2013/04/09 12:00 mNeji への返信

Finder から Quick Look で画像を表示しているので、Finder の最前面ウインドウを閉じると、Quick Look まで影響を受けてしまいます。


なので、Finder ウインドウを閉じるのは Quick Look を閉じた後。つまり、先のスクリプトとは別のスクリプトで。ということになります。Terminal からやるならこんな感じ。


osascript -e "tell application \"Finder\" to close window 1"


そうではなく、先の qlmanage コマンドの表示のようしたければ独自開発しかないかなと。あとは、あまりかっこ良くないけど、Finder ウインドウの位置とサイズを変更するとか。


-- 省略

tell window 1

set size to {344, 206} -- ウインドウのサイズ (値は適当に)

set position to {0, 22} -- ウインドウの位置 (値は適当に)

tell tool bar 1

click (button 1 whose accessibility description is "Quick Look")

return

end tell

end tell

-- 省略


ただ、このやり方だとウインドウの位置とサイズが記憶されるので、次に開いたときに面倒です。まあこの辺はどこかで妥協した方がよいかも...。

2013/04/09 13:15 Hiro__S への返信

「ウインドウのサイズ、位置の指定方式」をやってみました。とても良いです。当面はこれで乗り切ります!


後は、"Quick Look"のサイズ、位置も調整する様にしたいですが、其の為にもアップルスクリプトの勉強をしますね。


なお、「DOCのFinderのクリックで出てくるFinder」や「開いているFinderで⌘NしてできたFinder 」はいずれもいつもの様に開かれて、スクリプトで決められたパラメータとは独立の模様です。



それにして「なんちゃって Quick Look」というのは遺憾ですよね。「open -Q」とかで開いて欲しいです。

Terminalから複数の画像(png)を「Quick Look」で開くには?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。