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

2013年11月20日水曜日

Safari 6.1アップグレードトラブル

少し前にソフトウェアアップデートでSafari 6.1がリリースされていました。まだ、Mountain Lionを使っています。すぐには上げず、SafariStandなどのPluginや機能拡張が対応しているのを確認・最新版にして、アップグレードしようとしました。
ところが、インストールしたSafari 6.1を起動しても途中で止まったままになり起動しません。調べてみたらGlimsというプラグインをインストールしていたのを忘れていました。Glimsは、/Library/Internet Plug-Ins/というディレクトリにインストールされるため、うっかり見逃していました。
Glimsは、Safariのタブの幅を一定幅以下にしたり、タブにfaviconを表示する機能があります。元々の使用目的はタブを一定の幅以下にすることでしたが、SafariStandにもその機能が含まれていますので、この際使用を止めることにしました。
アンインストールは、/Library/Internet Plig-Ins/からGlimsのプラグインを削除するのではなく、Glimsのインストーラに入っているアンインストーラを使う必要があります。
アンインストール後は、特に問題なくSafariが使えています。

ちなみに、今インストールしている機能拡張とプラグインは以下の図のようなものです。

AdBlockerとParty Pooperは、インストールしてはいますが使っていません。機能的には現在見ているページから第3者のページの表示を制御するという点で似ていると思います。
今のところは、Incognitoで、FacebookやGoogle Analyticsを第3者ページということで外すようにしています。広告はそれほど気にならないのですが、アクセス情報が収集というかトラッキングされているのが気になりますね。

2013年3月17日日曜日

Safariの「ページをこのアプリケーションで開く」メニューの項目が多すぎる時

Safariのメニューバーの「開発」メニューを有効にするとその下に、「ページをこのアプリケーションで開く」という項目が見つかります。
これは、現在表示中のページを、同じMac内にインストールしてあるhtmlを開くことができる他のアプリケーションで開くためのものです。例えば、Firefoxなどで開きたい場合に便利です。
私は、Safariで見ると広告が入れ替わったり絵が動いたりして見づらいサイトを、「このページを…」メニューでFirefoxで開くことがあります。
別に広告で収益を得ること自体は構わないのですが、内容に集中できないのも困ります。

以前は、このメニュー項目には他のブラウザ名くらいしか含まれていなかったのですが、気づいたら下のように大量に増えていました。

これでは他のブラウザを開くのに、使いづらくて仕方ありません。
これを見ると問題点がふたつありそうです。
ひとつは、Windowsのアプリケーションがメニュー項目に出現していることです。ParallesでWindows XPをインストールしているのですが、何故かそれが表示されているようです。
もうひとつの問題は、Macのアプリケーションで同じものが2回出現していることです。これは、内蔵ハードディスクから外付けSSDに起動ディスクを引っ越した際に、両方にアプリケーションフォルダがあるためだと思われます。

それぞれ解決していきたいと思います。

1. Windowsアプリケーション項目の削除

Parallelsの設定を変更すると「ページをこのアプリケーションで開く」へのWindowsのアプリケーションの表示がなくなるようです。Parallelsを立ちあげて、「仮想マシン」メニューから「構成...」メニューを選択します。
表示された構成用ウインドウのオプションタブを選択し、アプリケーションボタンをクリックすると以下のような表示になります。

ここで図のように、WindowsアプリケーションをMacと共有するのチェックを外します。
このウインドウを閉じ、Safariを再起動します。すると、以下のように「ページをこのアプリケーションで開く」の項目が大幅に減りました。


2. 元の起動ディスクのアプリケーションフォルダの内容が表示される

単純には、元の起動ディスクのアプリケーションフォルダを削除すればメニューからも消えるのではと思います。試していませんが。
ここでは、元の起動ディスクも残す方法を試します。今使っている起動ディスクが故障した場合など、バックアップとして残しておきたいので。

この辺の情報を管理しているのは、Launch Serviceのデータベースなのでそこを修正すればよさそうです。でも単純にデータベースを修正しても、Spotlight (mds?)が、元の起動ディスクの情報を再インデックスすると意味がありません。そこで、以下の順番で試してみました。

(1) Spotlightの検索対象から元の起動ディスクのアプリケーションフォルダを外す
(2) lsregisterコマンドでLaunch Serviceのデータベースを修復する

以下、順番に説明します。以下の操作の間は念のため、Safariを終了しておきます。

2-1. Spotlightの検索対象から元の起動ディスクのアプリケーションフォルダを外す

システム環境設定を立ちあげ、Spotlightをクリックし、プライバシータブを選びます。ここで、フォルダやディスクをSpotlightの検索から除外できます。

左下の「+」ボタンをクリックして、元の起動ディスクのアプリケーションフォルダを検索対象から除外する場所として追加します。
システム環境設定を閉じて、Spotlightの設定は終了です。

2-2. lsregisterコマンドでLaunch Serviceのデータベースを修復する

この操作は、ターミナルを使います。ターミナルを起動し、lsregisterコマンドのあるディレクトリに移動します。
locateコマンドが使える場合(データベースを作っている場合)は、以下のコマンドでディレクトリの場所を確認します。$がプロンプトで、$の後ろがコマンド、$の次の行が出力です。

$ locate lsregister
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
/Volumes/Mini2012 HD/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister

私の場合は、元の起動ディスクの情報もあるので2箇所出力されました。
現在の起動ディスクの方に移動します。
$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support

コピーペーストが面倒な場合は、次のようにしてもいいかもしれません。
$ cd $(dirname $(locate lsregister | grep ^/System))

locateコマンドが使えない場合は、findコマンドで以下を入力して、場所を確認します。
$ find /System -name lsregister 2>/dev/null

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister


ディレクトリを移動した後、以下のコマンドでLaunch Serviceのデータベースを再作成します。
$ ./lsregister -lazy 1 -kill -r -domain local -domain user

以前の記事では、
これで終了です。Safariを再起動すると以下のようになりました。

大丈夫のようです。Firefoxがふたつあるのは旧バージョンを残しているためです。
よかった。

2013年2月16日土曜日

SafariStandのWebarchive機能は便利

私は、Mac上のウェブブラウザにはSafariとFirefoxを使っています。Safariは、Macの標準ブラウザということもありますが、それ以外に使っている理由のひとつにSafariStandの存在があります。


SafariStandは、Safariに組み込んで使うプラグインで、いろいろ便利な機能を追加してくれます。作者のhetimaさん( hetima.com )のページによると、例えば、

  • キーワードで素早く検索する「Quick Search」
  • タブ一覧サイドバー
  • Sub Resource ウインドウ (以前のSafariにあった構成ファイル一覧に似た表示)
  • ダウンロードフォルダの日付分け
  • 「,」と「.」でタブ切り替え

などが代表的な機能として挙げられています。

その中で、私がよく使っている機能は、見ているページの選択部分をWebアーカイブというフォーマットで保存できるというものです。
Safari自体にも見ているページをWebアーカイブとして保存できるのですが、保存単位がページ全体になってしまいます。Safaristandでは、必要な部分だけを選択して保存することができます。ページによっては、リンクや広告の方が広く、本当に必要な部分は狭い場合もあると思います。
また、後で読みたいページをWebアーカイブフォーマットで保存して、DropBoxに保存しておき、iPhone上のGoodReaderで通勤途中などに読むという使い方もしています。これは、PDFでもいいのかもしれませんが。
Firefoxなどにも見ているページ全体を保存してくれる「別名で保存」機能はあるのですが、Webアーカイブフォーマットと異なりフォルダを作って小さいファイルがたくさん生成されるようになっている点が異なります。個人的には、SafaristandのWebアーカイブ機能、特に選択できる点が気に入っています。

例えば、下のページで路線検索をしているとします。

このページを保存する場合、本当に必要な部分は真ん中の経路部分だけです。(このページは、ユーザの利便をちゃんと考えてあり、携帯に送ったりテキストを保存する機能がありますが、説明のために取り上げています。)

SafariStandを使うと、必要な部分だけを保存できます。保存したい部分を選択して、その部分で右クリックを行います。

Clip Web Archive with Selectionというメニュー項目があるのでそれを選択すればOKです。

下の図のような、必要な部分だけが選択されたウインドウが開きますので、それを保存すれば終了です。ファイル名は、一番下の欄で変更できます。

WebアーカイブはSpotlightでも検索できますし、ページ表示があまり崩れず比較的元の状態を保ってくれるので見た目もいいと思います。それから他のウェブブラウザのようにフォルダとして保存すると、htmlやcss、画像データなどの小さいファイルがたくさん出来るので、Webアーカイブの方が若干ディスク容量的には有利かもしれません。

SafariStandのダウンロード及びインストールについては、 http://hetima.com/safari/stand.html を参照してください。

また、Webアーカイブは独自フォーマットなのでその点が気になります。AppleがSafariの開発を止めてしまうということも、遠い将来にはあるかもしれません。
調べた範囲では、Mac OS Xのテキストエディットが、Webアーカイブフォーマットを読み書きできるようです。Safariに比べると再現性が(かなり)いまいちですが。また、上でも書きましたがiPhone上のGood ReaderでもWebアーカイブを表示できます。こちらの方がテキストエディットより再現性は高いですね。

変換ユーティリティとして、WebarchiveExtracter (http://webarchivext.sourceforge.net)と、ターミナルコマンドでtextutilが使えるようです。

2013年1月26日土曜日

Safariでユーティリティを使わずに縦長のページを1枚のPDFや画像にする

Safariなどのウェブブラウザでページを表示すると縦長になって一画面や1ページに収まらない場合がありますね。1画面に収まる方が少ないですね。
そういうページを資料やブログに入れるときに、1枚の画像やPDFに変換したい必要があります。その場合、専用のプラグインやユーティリティを使うと思います。

今回は、ユーティリティなどを使わずに1枚の画像やPDFにする方法を書きます。
完璧ではありませんが、それなりに使えるかと思います。ユーティリティがブラウザのバージョンアップに追いつかず動作しない場合や、有料のものには手を出したくない、プラグインなどをいろいろ入れたくないといった人には使えるかと思います。

長所としては、無料である、特別なソフトウェアを使用しない、また、一旦PDFにしますので、スクリーンショットと違い中のテキストを検索できるというメリットもあります。
一方、短所としては、手順が少し面倒なこと、ウインドウのタイトルバー等が入らないこと、縦に長いページだ少し時間がかかるといったところでしょうか。

考え方と全体の流れ

ここでは、Safari 6で、印刷用紙サイズA4で説明します。
考え方としては、画面が1ページに収まるような、縦に長い仮想の用紙を定義して、それをPDFとしてプリント画面から保存するというやり方です。
操作の流れは以下の通りです。

  1. 変換したいページを表示
  2. プリントダイアログを表示、詳細表示に変更
  3. 用紙サイズ、ページ数を確認
  4. カスタムサイズの選択と調整
  5. PDFで保存

では、順番に説明します。

変換したいページを表示

ここではグーグルのページを例に示します。1画面に収まらなければ何でもかまいません。


プリントダイアログを表示

Safariのファイル -> プリント... メニューからプリントダイアログを開きます。

もし、詳細表示になっていない場合は、詳細ボタンを押して詳細表示にします。


用紙サイズ、ページ数を確認

用紙サイズは、ここでは説明の都合上、A4と仮定します。実際には他の設定でもかまわないと思います。

印刷ダイアログボックスでページの縦横の長さ、ページ数を確認します。
上の例では、 A4で、横210mm、縦297mmとなっています。
またページ数は、印刷画面のプレビューの下の1/2の分母が2なので2ページですね。

カスタムサイズの選択と調整

用紙サイズメニューのA4の部分をクリックすると、「カスタムサイズを管理...」メニューが一番下に出てきますので、それを選びます。
そうすると、次のような画面が出てきます。
私の場合は、既にLongやはがき縦がありますが、通常はないと思います。その一番下の「+」記号を選んで新しい用紙サイズを設定します。
名称未設定を別の名前(ここではテスト)にして、縦、上下左右の余白を変更します。横の長さはそのままにして、余白は、問題なければ0mmでいいと思います。
縦の長さは、先ほどA4の場合で、2ページとなっていましたので最大A4の2倍を設定すればいいのですが、下にできる余白が気に入らない場合は、印刷プレビューを見ながら調整するといいです。
ここでは、以下のように2ページ分の長さ(594mm)より短く475mmにしてみました。
印刷プレビューは、次のような感じになります。
多少、下部に余白が見えますがいい感じですね。

PDFで保存

プリントダイアログの左下の「PDF」というプルダウンメニューを押して、「PDFとして保存...」を選びます。
後は、ふつうにPDFとして保存して終了です。ページの長さによっては多少時間がかかりますので、ゆっくり待ってください。
このページの先頭のサムネイルのような長いPDFが保存されますので、用途によってGIFに変換するといいと思います。
PDFのままでも、普通のスクリーンショットと違い、中身のテキストをプレビューやSpotlightで検索できるので便利だと思います。

2012年9月17日月曜日

SafariでPDFをウィンドウに表示しない (2)

SafariでPDFをウィンドウに表示しないように(ダウンロードしてから見るように)して、Safariを使っていました。が、昨日Adobe ReaderをVer.8からVer.X(10.1.4)にアップデートしたところ、PDFをダウンロードしないようになってしまいました。Safariには、ClickToPluginという機能拡張を入れており、灰色のままの状態の時の表示を見ると、Adobe Acorbat Plug-inを使おうとしているようです。
Adobe Readerの環境設定のインターネットの項目を見ると、PDF をブラウザーに表示がチェックされてグレイアウトされていて変更できません。
Adobeのトラブルシューティングのページ (以下)を見ると、既知の問題で
http://helpx.adobe.com/acrobat/kb/troubleshoot-safari-plug-acrobat-x.html
To disable Safari integration, delete the AdobePDFViewer.plugin from  /Library/Internet Plug-ins 
となっていて、/Library/Internet Plug-Ins/AdobePDFViewer.pluginを削除してくださいということのようです。このドキュメントには、AdobePDFViewerNPAPI.pluginについては記載がありませんが、AdobePDFViewer.pluginと同様にSafari内でPDFを表示してくれるプラグインのようです。両方とも使わないので以下のようにしました。

$ cd /Library/Internet\ Plug-Ins/
$ sudo mkdir disabled
$ sudo mv AdobePDFViewer* disables

削除せずに別のディレクトリ (disabled)を作成して、そこに移動しました。一応その結果、Safariで以前と同じようにPDFがダウンロードされるようになりました。

また、PDFの表示とは直接関係ないのですが、Acrobat Javascriptを使用するように設定されていたので、使用しないように変更しました。メジャーバージョンアップをすると、以前の設定は引き継がれないのでしょうか。以前、ゼロデイ脆弱性が報告されて以来、使うこともないので使用しないようにしています。

2012年6月10日日曜日

SafariでPDFをウィンドウに表示しない

私には、PDFファイルをブラウザのウィンドウで表示するのは、あまり使いやすくありません。
ページ移動とかプレビューなどの方が使いやすいですね。
PDFをいったんダウンロードするオプションがないか、Safariの環境設定を見ても関係しそうなオプションが見つけられませんでした。
プレビューのオプションにもなさそうです。
そこで、ターミナルからdefaultsコマンドを使って
defaults write com.apple.Safari \
WebKitOmitPDFSupport -bool YES
と設定しています。
これで、PDFのリンクをクリックするとダウンロードされるので、ダウンロードウィンドウから「開く」や「Finderに表示」の後、プレビューで見ることができます。

PDFをウィンドウ内に表示するように戻すには
defaults write com.apple.Safari \
WebKitOmitPDFSupport -bool NO
とすればいいです。