- 投稿日:2020-12-06T22:58:35+09:00
MacにRustを入れる 〜 パスPATHを通して、HelloWorld!ファイルをコンパイルして実行するまで一気通貫にまとめてみた
MacBookProに、Rust言語を入れる方法です。
インストールをした後、bash_profileにパスを通すところまで、手順を示します。
多くの「Rustを入れてみた」系の記事では、パスを通すところまで、記載していないもの多いようです。本記事では、パスを通すところまで書きました。
curlコマンドを使って、Rustをインストール
Terminalocean@AfoguardMacBook-Pro Desktop % curl https://sh.rustup.rs -sSf | sh info: downloading installer ( 途中を省略 ・・・ ) Rust is installed now. Great! To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH environment variable. Next time you log in this will be done automatically. To configure your current shell, run: source $HOME/.cargo/env ocean@AfoguardMacBook-Pro Desktop % rustc --versionパスを通す前は、Terminalで認識されない
Terminalocean@AfoguardMacBook-Pro Desktop % rustc --version zsh: command not found: rustc ocean@AfoguardMacBook-Pro Desktop %パスを通す
exportコマンドについては、以下を参照。
・@IT 「Linux基本コマンドTips(174):【 export 】コマンド――環境変数やシェル変数を設定する」bash_prifileとbashrcについては、以下を参照。
・ @@takutokiさん 「.bash_profileと.bashrcのまとめ」Terminalocean@AfoguardMacBook-Pro Desktop % export PATH="$HOME/.cargo/bin:$PATH" ocean@AfoguardMacBook-Pro Desktop % echo $HOME /Users/ocean ocean@AfoguardMacBook-Pro Desktop % echo $PATH /Users/ocean/.cargo/bin:/Users/ocean/.pyenv/shims:/Users/ocean/.pyenv/bin:/Users/ocean/.nodebrew/current/bin:/Users/ocean/.nodebrew/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin ocean@AfoguardMacBook-Pro Desktop % export PATH="$HOME/.cargo/bin:$PATH" >> .bash_profile ocean@AfoguardMacBook-Pro Desktop %Terminalから認識される
rustcは、Rustで書かれたスクリプトファイルを機械語にコンパイルするコンパイラです。
Terminalocean@AfoguardMacBook-Pro Desktop % rustc --version rustc 1.48.0 (7eac88abb 2020-11-16) ocean@AfoguardMacBook-Pro Desktop %rustupの使い所については、以下にまとまっています。
・ rustup で Rust コンパイラーを簡単インストールTerminalocean@AfoguardMacBook-Pro Desktop % rustup --version rustup 1.23.1 (3df2264a9 2020-11-30) info: This is the version for the rustup toolchain manager, not the compiler. info: The currently active `rustc` version is `rustc 1.48.0 (7eac88abb 2020-11-16)` ocean@AfoguardMacBook-Pro Desktop %cargoの使い所については、以下にまとまっています。
・ The Rust Programming Language 日本語版 「Hello, Cargo!」Terminalocean@AfoguardMacBook-Pro Desktop % cargo --version cargo 1.48.0 (65cbdd2dc 2020-10-14) ocean@AfoguardMacBook-Pro Desktop %任意のディレクトリで、Rustが認識されるかどうか確認
(結果はOK)
Terminalocean@AfoguardMacBook-Pro Desktop % mkdier rust_test zsh: command not found: mkdier ocean@AfoguardMacBook-Pro Desktop % mkdir rust_test ocean@AfoguardMacBook-Pro Desktop % cd rust_test ocean@AfoguardMacBook-Pro rust_test % rustc --version rustc 1.48.0 (7eac88abb 2020-11-16) ocean@AfoguardMacBook-Pro rust_test %rustup 1.23.1 (3df2264a9 2020-11-30) info: This is the version for the rustup toolchain manager, not the compiler. info: The currently active `rustc` version is `rustc 1.48.0 (7eac88abb 2020-11-16)`Hello World!の産声を標準出力に発するサンプルスクリプトファイルを作成
Terminalocean@AfoguardMacBook-Pro rust_test % vi hello.rs ocean@AfoguardMacBook-Pro rust_test % cat hello.rs fn main() { println!("Hello World!"); } ocean@AfoguardMacBook-Pro rust_test %スクリプトファイルをコンパイル
Terminalocean@AfoguardMacBook-Pro rust_test % rustc hello.rs ocean@AfoguardMacBook-Pro rust_test % ls hello hello.rs ocean@AfoguardMacBook-Pro rust_test %コンパイルした実行ファイルを実行
(実行成功)
Terminalocean@AfoguardMacBook-Pro rust_test % ./hello Hello World! ocean@AfoguardMacBook-Pro rust_test %( 参考にしたウェブページ )
・ @tktktktkさん 2019年06月21日 「【Rust】MacにRustをインストールして動作確認をするまで 」
・ @ledsunさん 2017年01月31日 「Rustをインストール - macOS & fish-shellの場合」
・ @ozipiさん 2020年05月25日に更新 「PATHを通すの意味と通し方 .bash_profile」
- 投稿日:2020-12-06T21:20:25+09:00
macOS CatalinaでVPNが繋がらない / SSHがタイムアウトする
概要
macOS CatalinaやBig SurでゲートウェイがVPNにならないことがある
別の環境では上手くいっていた場合の、問題解決に向けた記事
いつの間にか、ネットワークのサービスの優先順位が有効になった可能性がある環境
- macOS Catalina 10.15.7(19H2)
- 問題が発生
- macOS Catalina 10.15.5
- 問題なし
※ 厳密にはOSのバージョンが起因ではない可能性があります。
VPN設定
VPNを利用していれば、大抵の場合接続元ホストがVPNサーバになるはずなので、
確認くんなどで自分のリモートホストを確認します。
ここで想定しているホストになっている場合は、この記事の問題は関係ありません。
ホストが違う場合
想定しているホストになっていない場合、以下を確認します。
システム環境設定 >> ネットワーク
「すべてのトラフィックをVPN接続経由で送信」にチェックが入っていることを確認します。
ここにチェックがないと、VPNを経由せずデータが送信されることがあります。
それでも解決しない場合
2時間くらい試行錯誤した結果、サービスの順序が優先度に関係ありそうということが分かりました。
Wi-Fi、Bluetooth PANなど並んでいる場所の下にある設定アイコンから「サービスの順序を設定」を選択します。
いつも利用しているサービスWiFiより上にVPNを移動させます。
先頭にVPNがきました
これで確認くんのリモートホストが変更されました!
(´-`).。oO (前のOSだと順序関係なく接続できたのに...)
発端
余談、読み物です。
マシン移行後、VPN経由でサーバにssh接続しようとしたらレスポンスが返ってこない...ということが発端でした。
そもそも、タイムアウトが75秒だったようで、エラーメッセージに気付きませんでした。
ssh hoge -vで詳細を出したり、config名を使わずに接続したり、id_rsaのパーミッションを確認したり無駄な時間を過ごしました。ちなみに-vオプションは以下のようなdebug情報が表示されます。
ssh user@x.x.x.x -i ~/.ssh/id_rsa -p 22 -v OpenSSH_8.1p1, LibreSSL 2.7.3 debug1: Reading configuration data /Users/user/.ssh/config debug1: /Users/user/.ssh/config line 1: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 47: Applying options for * debug1: Connecting to x.x.x.x [x.x.x.x] port . debug1: connect to address x.x.x.x port 22: Operation timed out ssh: connect to host x.x.x.x port 22: Operation timed outタイムアウトということが分かってからは、原因の想定をつけやすくて助かりました。
- 投稿日:2020-12-06T20:12:25+09:00
快適な在宅勤務のための画面録画と音量設定
株式会社ピー・アール・オー アドベントカレンダーの6日目です。
2020年の重大事件といえば、COVID-19(通称コロナ)が世界で大流行し、東京オリンピックが吹き飛んだほか、一般市民レベルで生活様式を変更せざるを得なかったことでしょうか。
ピー・アール・オーも4月頃から出勤が抑制され、現在も管理部門などの一部を除き、絶賛在宅勤務中です。
マシン環境
在宅勤務になってから、狭い我が家には、会社の貸与品を合わせて最大3台のiMac(27inch + 21inch)とMacBook Pro 16inchが鎮座していました。
今回の記事は、下記の環境で確認済みです。
- iMac(Retina 5K, 27-inch, 2020)→主な設定画面の説明等はこちらを利用
- MacBook Pro(16-inch, 2019)
- macOS Catalina(10.15.7)
画面録画は音声が収録されない
Macの画面録画ではQucikTime Player(Command + Shift + 5)を使います。
これ自体は手軽で使い勝手が良いのですが、内部音声が収録されないという欠点があります。スピーカーから音声が流れているのに、画面録画には音声が収録されないのも奇妙な話ですが、仕様である以上、このままではどうすることもできません。
とは言え。
音声を同時収録する方法が2つあります。
手っ取り早く「Background Music」
細かい音声収録は必要ない。とにかく、動画から流れる音声も同時収録したいのだ!
‥という時は、このアプリが一番。
このアプリ、音声同時収録の他にも便利な機能がありますが、それは後ほど説明します。配布先はGitですが、pkg版が用意されています。
2020/12/06現在はver0.3.2です。
https://github.com/kyleneideck/BackgroundMusic
なお、macOS Big Surでは動作しないので、スナップショットバージョンを導入する必要があります。QucikTime Playerで内部音声と共に画面録画
設定自体は簡単で、録画するためにQucikTime Playerを起動後、マイクの設定を「Background Music」に設定するだけ。
一覧には「Background Music(UI Sounds)もありますが、こちらは無視してください。
- 「Command + Shift + 5」でQucikTime Playerを起動
- 録画する範囲を決める。スクショでは画面全体に設定中
- 「オプション」を開き、マイクを「Background Music」に設定
- 「収録」をクリックして、画面録画をスタート
![]()
使用前・使用後のサンプルを撮りたいので、12月に11周年を迎えた「ソリティアV」の動画で試します。
手前味噌だけど、他人様の動画を無断撮影するわけにも参りますまい…。Qiitaは動画のサポートがないので、Twitterに載せてみました。
が、QiitaでTwitterのツイートを埋め込める時代は終わりました→再び訪れましたということなので、うまく貼れるか投稿して確認wマイクを「iMacのマイク」にした時(音なし)
QuickTimeの画面録画実験。
— Mari Takahashi (@M_Rdesign) December 6, 2020
デフォルト設定では、音声は同時収録されません。
サンプルは2020年12月に11周年を迎えた「ソリティアV 」。https://t.co/ah4NSnrkjO pic.twitter.com/IPtuQNIlkcマイクを「Backgrouond Music」にした時(音あり)
QuickTimeの画面録画実験 その2。
— Mari Takahashi (@M_Rdesign) December 6, 2020
Background Musicを「マイク」に設定した時の画面録画。
音声が同時収録される。https://t.co/I5rX8fCIyj pic.twitter.com/nmrblLrwoJ
内部音声「だけ」録画に取り入れるなら、「Background Music」は極めて有能。だがしかし。
ゲーム実況や最近流行の「バ美肉おじさん」になりたい場合、このアプリでは足りない…。
全部盛りだよ!「Soundflower」と「LadioCast」
こちらの構成は、macOS Big Surでも動作することが確認されているため、macOS Big Sur環境のユーザーもバッチリ使えると思います。
仮想オーディオデバイス「Soundflower」
Gitからダウンロード。2020/12/06現在の最新バージョンは2.0b2
https://github.com/mattingalls/Soundflower/releases/tag/2.0b2
一番下までスクロールすると、ダウンロードリンクが表示されます。Macお得意の「開発元が未確認のため開ません。」が出るので、「環境設定」>「セキュリティとプライバシー」で「このまま開く」をクリックしてやってください。
かなりウザい仕様ですが、強固なセキュリティなので仕方ありません。
「Soundflower」の設定
「環境設定」>「サウンド」の「出力」を「Soundflower(2ch)」と変更します。
外部入力機器(マイク)を使用する場合は、「入力」の設定も必要ですが、今回は「画面録画に音声を同時収録する」話なので、ここでは省略。インターネットラジオ放送ソフト「LadioCast」
ストア説明に「インターネットラジオ放送ソフトウエア」と説明しているので、そういうもんなんでしょう。最終更新日が2年前なのも少々アレですが、細かいことは気にするなということで、さっさとインストールします。
こちらはApp Storeからダウンロードします。
https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12
「LadioCast」の設定
「ミュージック」で爆音流しながら、この記事の順番通りに設定すると気づくこと。
バックグラウンドで流れているはずの「ミュージック」から音が聞こえない…。というのも、前項での設定で出力先が「iMacのスピーカー(内蔵出力)」から「Soundflower(2ch)」になっているため。
「LadioCast」で出力先を設定すれば、「ミュージック」でも音声が流れるようになります。
❶の設定・入力1
Mac内で使用するデバイス。「環境設定」>「サウンド」>「出力」で選んだSoundflower(2ch)を設定します。
下段にある「メイン」と「Aux1」もチェックし、音量はMAXにします。❷の設定・入力2
今回は不使用ですが、iMacのマイク(内蔵入力)とかUSBマイクなどを設定すると、自分の音声も拾ってくれます。
その他、ギターなどを同時にかき鳴らすなら、入力3以降で設定していきます。ここの設定が必要なのはゲーム実況やバ美肉おじさんする時なので、今回の記事ではスルー。
❸の設定・出力 メイン
デバイスはSoundflower(64ch)を選択し、音量MAX。
❹の設定・出力Aux1
どこで音声を聞くか…という設定です。今回はiMacのスピーカー(内臓出力)。
ここまで設定ができると、いつも通りiMacから音声が流れてきます。
「Background Music」同様、QuickTime Playerのマイク設定を「Soundflower(2ch)」に変更後、画面録画を開始します。「Soundflower」と「LadioCast」を使って画面録画をする
QuickTime Playerの画面録画実験 その3。
— Mari Takahashi (@M_Rdesign) December 6, 2020
SoundflowerとLadioCastを利用した場合。
音声は同時収録されるが、ボリュームが小さい。 pic.twitter.com/lwvfuzlOJk
…なんか音が小さい。
なぜだ!なぜなんだ!この動画に合わせて音量を上げると、その他の動画や「ミュージック」流したら耳が死ぬ…。「Soundflower」のバグかもしれない
どうもバグらしい…ということで、「Soundflower」と「LadioCast」で画面録画する時は、「Audio MIDI設定」を確認する。
「マスター」部分が0.621なので1.0に上げておく。
その後、画面録画を開始するとスピーカーから流れてくる音量と同じになる。
起動時には必ず元に戻っているので、録画する前に要確認。ちなみに、あまりにも使わない設定なので、最初は場所がわからなかったw
場所は「アプリケーション」>「ユーティリティ」> Audio MIDI設定.appおまけ:各アプリの音量を個別に調整する
「Background Music」を常駐させることで、音声を同時収録するほかに、起動中のアプリなどの音量を個別に調整することができます。
「ミュージック」は爆音、Slackの通知音は小さく…というような使い方も簡単です。
ちなみに、貸与マシンに個人のApple IDを紐づけたくないので、個人所有のiMac 27inchが「ミュージック」専用機になっている現在。
なんかもったいない…。みなさま、快適な在宅勤務ライフを〜。
参考サイト
Macの画面録画を内部音声だけでする方法〜Background Musicの使い方〜 | Btuber
アプリ毎の音量調整ができる「Background Music」が便利|
jittodesign blog
【Mac OS Catalinaでも使える】SoundflowerとLadioCastの使い方と設定 | 脳内イメージだけは無限大
Soundflowerの音量が小さい時
- 投稿日:2020-12-06T20:12:25+09:00
快適な在宅勤務のための画面収録と音量設定
株式会社ピー・アール・オー アドベントカレンダーの6日目です。
2020年の重大事件といえば、COVID-19(通称コロナ)が世界で大流行し、東京オリンピックが吹き飛んだほか、一般市民レベルで生活様式を変更せざるを得なかったことでしょうか。
ピー・アール・オーも4月頃から出勤が抑制され、現在も管理部門などの一部を除き、絶賛在宅勤務中です。
マシン環境
在宅勤務になってから、狭い我が家には、会社の貸与品を合わせて最大3台のiMac(27inch + 21inch)とMacBook Pro 16inchが鎮座していました。
今回の記事は、下記の環境で確認済みです。
- iMac(Retina 5K, 27-inch, 2020)→主な設定画面の説明等はこちらを利用
- MacBook Pro(16-inch, 2019)
- macOS Catalina(10.15.7)
画面収録は音声が収録されない
Macの画面収録ではQucikTime Playerを使います。
これ自体は手軽で使い勝手が良いのですが、内部音声が収録されないという欠点があります。スピーカーから音声が流れているのに、画面収録には音声が収録されないのも奇妙な話ですが、仕様である以上、このままではどうすることもできません。
とは言え。
音声を同時収録する方法が2つあります。
手っ取り早く「Background Music」
細かい音声収録は必要ない。とにかく、動画から流れる音声も同時収録したいのだ!
‥という時は、このアプリが一番。
このアプリ、音声同時収録の他にも便利な機能がありますが、それは後ほど説明します。配布先はGitですが、pkg版が用意されています。
2020/12/06現在はver0.3.2です。
https://github.com/kyleneideck/BackgroundMusic
なお、macOS Big Surでは動作しないので、スナップショットバージョンを導入する必要があります。内部音声と共に画面収録
設定自体は簡単で、録画するためにスクリーンショットツールバーを起動後、マイクの設定を「Background Music」に設定するだけ。
一覧には「Background Music(UI Sounds)もありますが、こちらは無視してください。
- 「Command + Shift + 5」でスクリーンショットツールバーを起動
- 録画する範囲を決める。スクショでは画面全体に設定中
- 「オプション」を開き、マイクを「Background Music」に設定
- 「収録」をクリックして、画面収録をスタート
![]()
使用前・使用後のサンプルを撮りたいので、12月に11周年を迎えた「ソリティアV」の動画で試します。
手前味噌だけど、他人様の動画を無断撮影するわけにも参りますまい…。Qiitaは動画のサポートがないので、Twitterに載せてみました。
が、QiitaでTwitterのツイートを埋め込める時代は終わりました→再び訪れましたということなので、うまく貼れるか投稿して確認wマイクを「iMacのマイク」にした時(音なし)
QuickTimeの画面録画実験。
— Mari Takahashi (@M_Rdesign) December 6, 2020
デフォルト設定では、音声は同時収録されません。
サンプルは2020年12月に11周年を迎えた「ソリティアV 」。https://t.co/ah4NSnrkjO pic.twitter.com/IPtuQNIlkcマイクを「Backgrouond Music」にした時(音あり)
QuickTimeの画面録画実験 その2。
— Mari Takahashi (@M_Rdesign) December 6, 2020
Background Musicを「マイク」に設定した時の画面録画。
音声が同時収録される。https://t.co/I5rX8fCIyj pic.twitter.com/nmrblLrwoJ
内部音声「だけ」録画に取り入れるなら、「Background Music」は極めて有能。だがしかし。
ゲーム実況や最近流行の「バ美肉おじさん」になりたい場合、このアプリでは足りない…。
全部盛りだよ!「Soundflower」と「LadioCast」
こちらの構成は、macOS Big Surでも動作することが確認されているため、macOS Big Sur環境のユーザーもバッチリ使えると思います。
仮想オーディオデバイス「Soundflower」
Gitからダウンロード。2020/12/06現在の最新バージョンは2.0b2
https://github.com/mattingalls/Soundflower/releases/tag/2.0b2
一番下までスクロールすると、ダウンロードリンクが表示されます。Macお得意の「開発元が未確認のため開ません。」が出るので、「環境設定」>「セキュリティとプライバシー」で「このまま開く」をクリックしてやってください。
かなりウザい仕様ですが、強固なセキュリティなので仕方ありません。
「Soundflower」の設定
「環境設定」>「サウンド」の「出力」を「Soundflower(2ch)」と変更します。
外部入力機器(マイク)を使用する場合は、「入力」の設定も必要ですが、今回は「画面収録に音声を同時収録する」話なので、ここでは省略。インターネットラジオ放送ソフト「LadioCast」
ストア説明に「インターネットラジオ放送ソフトウエア」と説明しているので、そういうもんなんでしょう。最終更新日が2年前なのも少々アレですが、細かいことは気にするなということで、さっさとインストールします。
こちらはApp Storeからダウンロードします。
https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12
「LadioCast」の設定
「ミュージック」で爆音流しながら、この記事の順番通りに設定すると気づくこと。
バックグラウンドで流れているはずの「ミュージック」から音が聞こえない…。というのも、前項での設定で出力先が「iMacのスピーカー(内蔵出力)」から「Soundflower(2ch)」になっているため。
「LadioCast」で出力先を設定すれば、「ミュージック」でも音声が流れるようになります。
❶の設定・入力1
Mac内で使用するデバイス。「環境設定」>「サウンド」>「出力」で選んだSoundflower(2ch)を設定します。
下段にある「メイン」と「Aux1」もチェックし、音量はMAXにします。❷の設定・入力2
今回は不使用ですが、iMacのマイク(内蔵入力)とかUSBマイクなどを設定すると、自分の音声も拾ってくれます。
その他、ギターなどを同時にかき鳴らすなら、入力3以降で設定していきます。ここの設定が必要なのはゲーム実況やバ美肉おじさんする時なので、今回の記事ではスルー。
❸の設定・出力 メイン
デバイスはSoundflower(64ch)を選択し、音量MAX。
❹の設定・出力Aux1
どこで音声を聞くか…という設定です。今回はiMacのスピーカー(内蔵出力)。
ここまで設定ができると、いつも通りiMacから音声が流れてきます。
「Background Music」同様、オオプションのマイク設定を「Soundflower(2ch)」に変更後、画面収録を開始します。「Soundflower」と「LadioCast」を使って画面収録をする
QuickTime Playerの画面録画実験 その3。
— Mari Takahashi (@M_Rdesign) December 6, 2020
SoundflowerとLadioCastを利用した場合。
音声は同時収録されるが、ボリュームが小さい。 pic.twitter.com/lwvfuzlOJk
…なんか音が小さい。なぜだ!なぜなんだ!
この動画に合わせた音量だと、その他の動画や「ミュージック」流したら耳が死ぬ…。「Soundflower」のバグかもしれない
どうもバグらしい…ということで、「Soundflower」と「LadioCast」で画面録画する時は、「Audio MIDI設定」を確認する。
「マスター」部分が0.621なので1.0に上げておく。
その後、画面収録を開始するとスピーカーから流れてくる音量と同じになる。
起動時には必ず元に戻っているので、録画する前に要確認。ちなみに、あまりにも使わない設定なので、最初は場所がわからなかったw
場所は「アプリケーション」>「ユーティリティ」> Audio MIDI設定.app「Soundflower」と「LadioCast」を使ってもう一度画面収録をする
QuickTime Playerの画面録画実験 その4。
— Mari Takahashi (@M_Rdesign) December 6, 2020
SoundflowerとLadioCastを利用した場合、音声ボリュームを通常値にする。
「Audio MIDI設定」を変更すると、音声ボリュームは録画時と同じになる。
多分「Soundflower」のバグ。 pic.twitter.com/mdadnAjAzt各アプリの音量を個別に調整する
「Background Music」を常駐させることで、音声を同時収録するほかに、起動中のアプリなどの音量を個別に調整することができます。
「ミュージック」は爆音、Slackの通知音は小さく…というような使い方も簡単です。
ちなみに、貸与マシンに個人のApple IDを紐づけたくないので、個人所有のiMac 27inchが「ミュージック」専用機になっている現在。
なんかもったいない…。なにはともあれ、快適な在宅勤務ライフを〜。
参考サイト
Macの画面録画を内部音声だけでする方法〜Background Musicの使い方〜 | Btuber
アプリ毎の音量調整ができる「Background Music」が便利|
jittodesign blog
【Mac OS Catalinaでも使える】SoundflowerとLadioCastの使い方と設定 | 脳内イメージだけは無限大
Soundflowerの音量が小さい時
- 投稿日:2020-12-06T17:15:59+09:00
ApplescriptでKeynoteをハックしてみた
概要
友達からプレゼン用のkeynoteにテロップを自動で挿入するプログラムが欲しいと言われたのでAppleScriptで作ってみた。
目次
- AppleScriptとは
- どんな感じのプログラム
- 実装
- おわりに
- 参考URL
AppleScriptとは
https://en.wikipedia.org/wiki/AppleScript
名前から想像できる通り、Appleが作ったMac OS用のスクリプト言語で、macOSに同梱されている基本ソフトです。マウスやキーボードを使わずに、Macや外部のアプリを操作するすることができます。
実装してみると、構文が簡単で学習コストが低いかなと思います。一般敵にはmacOSに標準でインストールされているスクリプトエディタで記述すると思いますが、今回はAppleScriptのプラグインがあったのでVSCodeを使用しました。どんな感じのプログラム
用意するもの
以下二点です。
- テロップを入れたいkeyファイル
- こんな感じのテキストファイル
telop.textテロップ1 テロップ2 テロップ3一行一行がスライドの1枚目から順番に挿入されて行きます。
実装内容は以下になります。
- keynoteのスライドの指定した位置に予め用意したテキストファイルの文字列を貼り付ける
- 実行時に文字の色選択ができる
- スライドの枚数とテキストの行数が違う場合はバリデーションをかける
- しゃべらせる
実装
それでは早速実装して行きましょう。
基本的な文法はこちらをご参照ください。VSCodeの場合
まずAppleScriptのプラグインを入れましょう。
https://marketplace.visualstudio.com/items?itemName=idleberg.applescriptファイル作成
applescriptの拡張子をつけてファイルを作成しましょう。
今回はtext_overlay.applescriptとしました。パーツ作り
テキストのプロパティー
こちらを参考にテキストの色や大きさなどを変数に入れる。
今回はこんな感じ-- OBJECT TEXT PROPERTIES property textOverlayTypeface : "Arial Bold" property textOverlayFontSize : 40 property textOverlayColorName : "WHITE" property textOverlayRGBColorValues : {65535, 65535, 65535} -- TEXT ITEM PROPERTIES property textOverlayOpacityValue : 100 property textOverlayDefaultPosition : 3 property textItemOverlayOffset : 870 property textItemPointerOffset : 1012.5Keynoteを開く
次にKeynoteを開きましょう。
tell application "Keynote" activate end tellKeyファイルを開く
次にテロップを入れたいkeyファイルを選択する。
tell application "Keynote" activate try set the chosenDocumentFile to ¬ (choose file of type ¬ {"com.apple.iwork.keynote.key", ¬ "com.apple.iwork.keynote.kth", ¬ "com.apple.iwork.keynote.sffkey", ¬ "com.apple.iwork.keynote.key-tef", ¬ "com.microsoft.powerpoint.ppt", ¬ "org.openxmlformats.presentationml.presentation", ¬ "org.openxmlformats.presentationml.presentation.macroenabled", ¬ "com.microsoft.powerpoint.pps", ¬ "org.openxmlformats.presentationml.slideshow", ¬ "org.openxmlformats.presentationml.slideshow.macroenabled", ¬ "com.microsoft.powerpoint.pot", ¬ "org.openxmlformats.presentationml.template", ¬ "org.openxmlformats.presentationml.template.macroenabled"} ¬ default location (path to documents folder) ¬ with prompt "keynoteのドキュメントを選択してください。") open the chosenDocumentFile on error errorMessage number errorNumber if errorNumber is not -128 then display alert errorNumber message errorMessage else error number -128 end if end try end tellテキストファイルから文字列を取得
global text_file global text_lines set text_lines to {} set tmp_file to choose file of type {"Txt","Text"} with prompt "挿入する言葉が記載された.txtファイルを選んでください。" set text_file to POSIX path of (tmp_file) set tmp_data to do shell script "cat " & quoted form of (POSIX path of tmp_file) repeat with nextLine in paragraphs of tmp_data if length of nextLine is greater than 0 then copy nextLine to the end of text_lines end if end repeatglobal変数を使ってる理由はこちらをご確認ください。
Tip:変数の中身をみたい時は
logが便利です
例:log text_linesテロップ挿入
set textOverlayDefaultPositionName to item set dialogText to "Overlay Text: " & POSIX path of tmp_file & return & ¬ "Text Color: " & textOverlayColorName & return & ¬ "Text Size: " & textOverlayFontSize & return & ¬ "Typeface: " & textOverlayTypeface & return & ¬ "Text Opacity: " & textOverlayOpacityValue & return & ¬ "Text Position: " & textOverlayDefaultPositionName display dialog dialogText & return & return & "テキストの挿入を行いますか?" buttons ¬ {"キャンセル", "実行"} default button 1 set addDeleteOverlay to the button returned of the result tell the front document set documentWidth to its width set documentHeight to its height if addDeleteOverlay is not "キャンセル" then repeat with i from 1 to the count of slides set thisSlide to item i of slides set the presenter notes of thisSlide to item i of text_lines tell slide i set thisTextItem to ¬ make new text item with properties {object text:item i of text_lines as text} tell thisTextItem tell object text set font to textOverlayTypeface set size to textOverlayFontSize set color of it to textOverlayRGBColorValues end tell set textItemWidth to its width set textItemHeight to its height set opacity to textOverlayOpacityValue if textOverlayDefaultPosition is 0 then -- center set x to (documentWidth - textItemWidth) div 2 set y to (documentHeight - textItemHeight) div 2 else if textOverlayDefaultPosition is 1 then -- top left set x to textItemOverlayOffset set y to textItemOverlayOffset else if textOverlayDefaultPosition is 2 then -- top right set x to documentWidth - textItemWidth - textItemOverlayOffset set y to textItemOverlayOffset else if textOverlayDefaultPosition is 3 then -- bottom ceter set x to (documentWidth - textItemWidth ) div 2 set y to textItemOverlayOffset else if textOverlayDefaultPosition is 4 then -- bottom right set x to documentWidth - textItemWidth - textItemOverlayOffset set y to documentHeight - textItemHeight - textItemOverlayOffset end if set position to {x, y} end tell end tell end repeat else delete (every text item of every slide whose object text of it is text_lines) end if end tell少しコードが長くなりましたが、行っていることは以下です。
- 実行ダイアログに各プロパティーの表示
- キャンセル/実行ボタンの設置
- 実行する場合各プロパティーに前に定義した値を入れて、テロップをスライドに挿入
テキストカラー選択の追加
{"キャンセル", "実行", "色の変更"} default button 1ボタンの項目に
色の変更を追加if addDeleteOverlay is "色の変更" then set textOverlayRGBColorValues to choose color default color textOverlayRGBColorValues end if
色の変更がクリックされた時の処理を追加バリデーションの追加
tell the front document if count of slides is not length of paragraphs of tmp_data then display dialog dialogText & return & return & "スライドの数とテキストの行数が違いますが、実行しますか?" buttons ¬ {"キャンセル", "実行", "色の変更"} default button 1 else display dialog dialogText & return & return & "テキストの挿入を行いますか?" buttons ¬ {"キャンセル", "実行", "色の変更"} default button 1 end if end tellしゃべらせる
say "処理が正常に終了しました。今日もお仕事頑張ってください。"
sayを使えばなんでもしゃべってくれます。最終コード
-- OBJECT TEXT PROPERTIES property textOverlayTypeface : "Arial Bold" property textOverlayFontSize : 40 property textOverlayColorName : "WHITE" property textOverlayRGBColorValues : {65535, 65535, 65535} -- TEXT ITEM PROPERTIES property textOverlayOpacityValue : 100 property textOverlayDefaultPosition : 3 property textItemOverlayOffset : 870 property textItemPointerOffset : 1012.5 tell application "Keynote" activate try set the chosenDocumentFile to ¬ (choose file of type ¬ {"com.apple.iwork.keynote.key", ¬ "com.apple.iwork.keynote.kth", ¬ "com.apple.iwork.keynote.sffkey", ¬ "com.apple.iwork.keynote.key-tef", ¬ "com.microsoft.powerpoint.ppt", ¬ "org.openxmlformats.presentationml.presentation", ¬ "org.openxmlformats.presentationml.presentation.macroenabled", ¬ "com.microsoft.powerpoint.pps", ¬ "org.openxmlformats.presentationml.slideshow", ¬ "org.openxmlformats.presentationml.slideshow.macroenabled", ¬ "com.microsoft.powerpoint.pot", ¬ "org.openxmlformats.presentationml.template", ¬ "org.openxmlformats.presentationml.template.macroenabled"} ¬ default location (path to documents folder) ¬ with prompt "keynoteのドキュメントを選択してください。") open the chosenDocumentFile on error errorMessage number errorNumber if errorNumber is not -128 then display alert errorNumber message errorMessage else error number -128 end if end try global text_file global text_lines set text_lines to {} set tmp_file to choose file of type {"Txt","Text"} with prompt "挿入する言葉が記載された.txtファイルを選んでください。" set text_file to POSIX path of (tmp_file) set tmp_data to do shell script "cat " & quoted form of (POSIX path of tmp_file) repeat with nextLine in paragraphs of tmp_data if length of nextLine is greater than 0 then copy nextLine to the end of text_lines end if end repeat set textOverlayDefaultPositionName to item set dialogText to "Overlay Text: " & POSIX path of tmp_file & return & ¬ "Text Color: " & textOverlayColorName & return & ¬ "Text Size: " & textOverlayFontSize & return & ¬ "Typeface: " & textOverlayTypeface & return & ¬ "Text Opacity: " & textOverlayOpacityValue & return & ¬ "Text Position: " & textOverlayDefaultPositionName tell the front document if count of slides is not length of paragraphs of tmp_data then display dialog dialogText & return & return & "スライドの数とテキストの行数が違いますが、実行しますか?" buttons ¬ {"キャンセル", "実行", "色の変更"} default button 1 else display dialog dialogText & return & return & "テキストの挿入を行いますか?" buttons ¬ {"キャンセル", "実行", "色の変更"} default button 1 end if end tell set addDeleteOverlay to the button returned of the result tell the front document set documentWidth to its width set documentHeight to its height if addDeleteOverlay is "色の変更" then set textOverlayRGBColorValues to choose color default color textOverlayRGBColorValues end if if addDeleteOverlay is not "キャンセル" then repeat with i from 1 to the count of slides set thisSlide to item i of slides set the presenter notes of thisSlide to item i of text_lines tell slide i set thisTextItem to ¬ make new text item with properties {object text:item i of text_lines as text} tell thisTextItem tell object text set font to textOverlayTypeface set size to textOverlayFontSize set color of it to textOverlayRGBColorValues end tell set textItemWidth to its width set textItemHeight to its height set opacity to textOverlayOpacityValue if textOverlayDefaultPosition is 0 then -- center set x to (documentWidth - textItemWidth) div 2 set y to (documentHeight - textItemHeight) div 2 else if textOverlayDefaultPosition is 1 then -- top left set x to textItemOverlayOffset set y to textItemOverlayOffset else if textOverlayDefaultPosition is 2 then -- top right set x to documentWidth - textItemWidth - textItemOverlayOffset set y to textItemOverlayOffset else if textOverlayDefaultPosition is 3 then -- bottom ceter set x to (documentWidth - textItemWidth ) div 2 set y to textItemOverlayOffset else if textOverlayDefaultPosition is 4 then -- bottom right set x to documentWidth - textItemWidth - textItemOverlayOffset set y to documentHeight - textItemHeight - textItemOverlayOffset end if set position to {x, y} end tell end tell end repeat else delete (every text item of every slide whose object text of it is text_lines) end if end tell say "処理が正常に終了しました。今日もお仕事頑張ってください。" end tellおわりに
普段は業務でRailsとVueを使っているのですが、全く違う言語を触るのもたまにはいいなと感じました。
Macユーザーなら割とAppleScript使っていろいろ面白そうなことできそうなので、また機会があれば触ってみたいです。参考URL
keynoteを開く
https://iworkautomation.com/keynote/document-open.htmlテキストを作成して記載する
https://iworkautomation.com/keynote/text-item-overlay.htmlプレゼンテータノート
https://iworkautomation.com/keynote/slide-presenter-notes.htmlテキストを読み込む(文字化け対応)
http://underwoodmac.cocolog-nifty.com/blog/2011/07/applescriptread.htmlグローバル変数
http://www.script-factory.net/history/2012/06/27_1832.xhtml
- 投稿日:2020-12-06T14:50:55+09:00
Android Studioが起動しない(Macユーザー)
発端
業務でFlutter×Firebaseを使っています。
1週間程度私用のMacでAndroid Studioを起動しておらず、久しぶりに簡単に練習用アプリでもと思いAndroid Studioを起動しよう・・・できませんでした。解決までの道
エラーが出るわけでもなく、ただただ起動できない。
https://medium.com/@oikawa/solved-doesnt-start-android-studio-on-macos-8564d4f79ff8
ググるとこの方の内容に当てはまるっぽい。
3.Applications/Android Studio/Contents/MacOS/studio ファイルを直接を起動
これで確かにエラーメッセージがターミナル上に表示された。
Android Studioフォルダを消して再度入れ直したら起動できるようになった。詳細
1.FinderでApplicationフォルダを表示
2.Android Studioをダブルクリックして[パッケージの内容を表示]を選択
3.Applications/Android Studio/Contents/MacOS/studio をダブルクリックで実行
※1~3まではターミナルで実行でも問題ないと思います。僕は実際にみていた方が安心できるので上記で行いました。
4./Users/{your_name}を起動している状態で右クリック-[表示オプションを表示]を選択
5.["ライブラリ"フォルダを表示]を選択
6./Users/{your_name}/Library/Preferences/Android Studio3.1が見つからない
7.Android Studioを検索
8./Users/{your_name}/Library/Application Support/ 内にAndroid Studioがいたので削除
9.Applicationフォルダ内のAndroid Studioも削除
10.再度Android Studioをインストール結果
起動すると正常に起動できることを確認できました。
何が原因だったのかはあまり分かっていないです。
- 投稿日:2020-12-06T14:42:12+09:00
Apple Silicon M1 でtensorflow-macosを実行したらめちゃくちゃ速かった。
はじめに
Macbook Air (
AppleSilicon, M1)を購入しました。
Appleが設計したM1は下馬評以上の性能を叩き出し、
とても盛り上がっていますね。M1のハードウェアとしての魅力はもちろんすごいですが、
M1に合わせた各種ソフトウェアの最適化も魅力的です。AppleがTensorflowをフォークしてM1で最高のパフォーマンスを発揮するように
最適化したコード(tensorflow-macos)を公開しています。
https://github.com/apple/tensorflow_macos#requirementstensorflowのブログ記事でパフォーマンスが比較されていますが、
前世代のIntel Macと比べると信じられないほどの性能向上を見ることができます。
https://blog.tensorflow.org/2020/11/accelerating-tensorflow-performance-on-mac.htmlこの記事では
- 実際にM1 Macでtensorflow-macosを動作させた過程を紹介します。
- サンプルコードを動作させてM1 Mac, Intel Mac, RTX 2080 superとの実行時間の比較をします。
(初めてQiitaで記事を書いてみました。
ガイドライン違反や改善点があればご指摘ください!)目次
tensorflow-macosを実行する環境を構築する。Python 3.8 (for ARM)をインストールする。
tensorflow-macos 0.1a0はPython 3.8で動作します。
tensorflow-macosリポジトリのREQUIREMENTSにあるように、
必ずXcode Command Line Toolsからインストールしてください。$ xcode-select --install$ python3 -V Python 3.8.2 $ which python3 /usr/bin/python3
tensorflow_macosはARMアーキテクチャ向けのコードになっているので、
PythonもARMアーキテクチャ向けのものにする必要があります。例えば以下のようにインストールしたものは
tensofrflow-macosの実行時にエラーが発生しました。・ Python公式サイトからdmgファイルをダウンロードしてインストール ・ Anacondaを使ってインストール ・ pyenvを使ってインストールTraceback (most recent call last): File "/path/to/tensorflow_macos_venv/lib/python3.8/site-packages/tensorflow/python/pywrap_tensorflow.py", line 64, in <module> from tensorflow.python._pywrap_tensorflow_internal import * ImportError: dlopen(/path/to/tensorflow_macos_venv/lib/python3.8/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so, 6): no suitable image found. Did find: /path/to/tensorflow_macos_venv/lib/python3.8/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so: mach-o, but wrong architecture /path/to/tensorflow_macos_venv/lib/python3.8/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so: mach-o, but wrong architecture
tensorflow-macosの仮想環境(venv)を構築する。
tensorflow_macosの実行に必要な仮想環境を構築してくれる
便利なスクリプトをAppleが用意してくれています。
tensorflow-macosリポジトリのINSTALLATIONにあるように、
ターミナルからスクリプトを実行します。$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/apple/tensorflow_macos/master/scripts/download_and_install.sh)"仮想環境のパッケージのダウンロードが始まるので、
しばらく待つと(結構待つ)、仮想環境を構築するパスを聞かれるので、
Enterキーを押してデフォルトパスを指定し、構築を開始します。Downloading installer. /var/folders/hn/g5s5s0fx6zs2plvygdc95y140000gn/T/tmp.haPEac7f ~/Projects/tensorflow-mac % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 659 100 659 0 0 1331 0 --:--:-- --:--:-- --:--:-- 1331 100 316M 100 316M 0 0 2467k 0 0:02:11 0:02:11 --:--:-- 1638k Extracting installer. Path to new or existing virtual environment [default: /Users/tomoyaeibu/tensorflow_macos_venv/]: Using python from /usr/bin/python3. ########################################################################### ./install_venv.sh will perform the following operations: -> Create new python 3.8 virtual environment at /Users/tomoyaeibu/tensorflow_macos_venv. -> Install tensorflow_macos 0.1a0 into created virtual environment /Users/tomoyaeibu/tensorflow_macos_venv. -> Install bundled binary wheels for numpy-1.18.5, grpcio-1.33.2, h5py-2.10.0, tensorflow_addons-0.11.2+mlcompute into /Users/tomoyaeibu/tensorflow_macos_venv. Confirm [y/N]?
tensorflow-macosの仮想環境(venv)をアクティベートする。これで
tensorflow-macosを実行する環境は整いました。
簡単ですね・・・!
tensorflow-macosの仮想環境をアクティベートします。$ source /Users/{username}/tensorflow_macos_venv/bin/activate $ pip list Package Version ---------------------- --------- absl-py 0.11.0 appnope 0.1.0 astunparse 1.6.3 backcall 0.2.0 cached-property 1.5.2 cachetools 4.1.1 certifi 2020.11.8 chardet 3.0.4 decorator 4.4.2 flatbuffers 1.12 gast 0.4.0 google-auth 1.23.0 google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grpcio 1.33.2 h5py 2.10.0 idna 2.10 ipython 7.19.0 ipython-genutils 0.2.0 jedi 0.17.2 Keras-Preprocessing 1.1.2 Markdown 3.3.3 numpy 1.18.5 oauthlib 3.1.0 opt-einsum 3.3.0 parso 0.7.1 pexpect 4.8.0 pickleshare 0.7.5 pip 20.2.4 prompt-toolkit 3.0.8 protobuf 3.14.0 ptyprocess 0.6.0 pyasn1 0.4.8 pyasn1-modules 0.2.8 Pygments 2.7.2 requests 2.25.0 requests-oauthlib 1.3.0 rsa 4.6 setuptools 50.3.2 six 1.15.0 tensorboard 2.4.0 tensorboard-plugin-wit 1.7.0 tensorflow-addons 0.11.2 tensorflow-estimator 2.3.0 tensorflow-macos 0.1a0 termcolor 1.1.0 traitlets 5.0.5 typeguard 2.10.0 typing-extensions 3.7.4.3 urllib3 1.26.2 wcwidth 0.2.5 Werkzeug 1.0.1 wheel 0.35.1 wrapt 1.12.1
tensorflow-macosがインストールされていることがわかります。
tensorflow-macosを実行する。
tensorflow-macosを実行するために既存のtensorflowを使った
トレーニングやバリデーションのコードを修正する必要はありません。今まで使っていたスクリプトをそのまま使えます。
(ただしKerasを使っていた場合、ARM版のKerasがまだないようなので、
tensorflowのAPIに置き換えるか、tf.KerasのAPIに置き換えてください。)実行時間を比較する。
早速サンプルコードを実行して実行時間を比較してみましょう。
トレーニングにかかる時間を比較します。実行環境
以下の3つの環境で比較しました。
Macbook Air (2020,M1) Macbook Pro (2017,Intel) 開発に使っている学習用PC OS Mac Big Sur Mac Big Sur Ubuntu 20.04.1 CPU M1 2.3GHzデュアルコアIntel Core i5 (後日、確認します) GPU M1 Intel Iris Plus Graphics 640 RTX 2080 Super 8GB RAM 8GB 8GB 16GB Python python 3.8.2 python 3.8.2 python 3.8.2 Tensorflow tensorflow-macos 0.1a0 tensorflow-macos 0.1a0 tensorflow 2.4 サンプルコードにはシンプルなmnistのクラス分類を使っています。
import tensorflow as tf mnist = tf.keras.datasets.mnist import time (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activation=tf.nn.relu), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation=tf.nn.softmax) ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) start = time.perf_counter() model.fit(x_train, y_train, epochs=5) end = time.perf_counter() print(f"Elapsed time : {end - start:.3f} s.") model.evaluate(x_test, y_test)実行結果
Macbook Air (2020,M1) Macbook Pro (2017,Intel) 開発に使っている学習用PC 5epochにかかった時間 6.268 s 23.876 s 8.053 s Intel Macに対してM1 Macの方が4倍程度、速いという結果になりました。
素晴らしく速いですね。
たしかMacbook Pro(2017)の方がMacbook Air(2020)よりも
値段が高かったような気がするんですが・・・。さらにいつも開発に使っているRTX 2080 Superよりも速かったのは
もっと驚きの結果でした。RTX 2080 Superの方は特にチューニング作業はしていないので、
使い方次第では実はもっと速くなる可能性はありますが、
M1 Macだと何も気にせずこのぐらいの速度でトレーニングできるのは素晴らしいです。これからDeep Learningをやりたくて個人で開発環境を整えるのであれば、
下手に高いグラフィックボードを購入するよりは、
M1が搭載されたMadbook Airを買った方がコスパは良いと思います。考察、議論
GPU? CPU? Neural Engine?
tensorflow-macでは、
以下のように使用するデバイスを選択するオプションが用意されています。from tensorflow.python.compiler.mlcompute import mlcompute mlcompute.set_mlc_device(device_name="cpu") # cpu : CPUだけを利用する。 # gpu : GPUだけを利用する。 # any : 最適なデバイスを使用する。(デフォルト)Intel Macの場合、速い順に
any>gpu>cpuでした。
cpuよりgpuの方が速いのは、Intel Iris Plus Graphicsを使っているからだと思いますが、
gpuよりanyの方が速いのは、「最適なデバイス」を使っているからなのでしょうか。M1 Macの場合、速い順に
any>cpu>gpuでした。
gpuが遅いのはEagar Mode (Define by run)に対応していないだけなので、
Eagar modeをオフにすれば速くなるかもしれません。
anyが速いのは、やはり「最適なデバイス」を使っているからで、
FowardにはNeural Engineを、BackwardにはGPUを使うなどの工夫がしてあるのかな?
などと考察しています。これらのデバイスが同じメモリを共有しているのが
M1の大きな特徴の一つですし。どこかに詳しい記事がないかを探してみます。
参考文献
- 投稿日:2020-12-06T08:34:29+09:00
Mac版 Eclipseで外部ブラウザをChromeにする簡単な方法
はじめに
Mac版のEclipseで外部ブラウザを設定する方法を探したのですが、
ネット上になかったので簡単な方法を紹介します。Eclipseで外部ブラウザをChromeにする簡単な方法
事前準備
- Google Chrome インストール
手順
1.上のメニューバー>[Eclipse]から[Preferences...](設定)をクリック
![]()
2.ウインドウ左側の枠内の一般を選択した後、Webブラウザーを選択
3.外部Webブラウザーを使用にチェックし、[新規...]をクリック
4.ウインドウ右側の[参照...]をクリックし[Applications](アプリケーション)フォルダを選択
5.中からGoogle Chrome.appを選択し、右下の[Open](開く)をクリック
結果
これでHTMLなどをサーバーで実行する際、Chromeブラウザが立ち上がるようになります。
(*)初回起動の場合、警告や許可を求めてきた場合は、[OK]クリックで進めて良いと思います。
- 投稿日:2020-12-06T08:34:29+09:00
Mac版 Eclipseの外部ブラウザをChromeに設定する簡単な方法
はじめに
Mac版のEclipseの外部ブラウザをChromeに設定する方法を探したのですが、
ネット上になかったので簡単な方法を紹介します。Eclipseの外部ブラウザをChromeに設定する簡単な方法
事前準備
- Google Chrome インストール
手順
1.上のメニューバー [Eclipse]から[Preferences...](設定)をクリック
![]()
2.ウインドウ左側の枠内の一般を選択した後、Webブラウザーを選択
![]()
3.外部Webブラウザーを使用にチェックし、[新規...]をクリック
4.ウインドウ右側の[参照...]をクリックし[Applications](アプリケーション)フォルダを選択
![]()
5.中からGoogle Chrome.appを選択し、右下の[Open](開く)をクリック
結果
これでHTMLなどをサーバーで実行する際、このようにChromeブラウザが立ち上がるようになります。
![]()
(*)初回起動の場合、警告や許可を求めてきた場合は、[OK]クリックで進めて良いと思います。
- 投稿日:2020-12-06T04:16:02+09:00
Macの作業効率向上設定とGoogle拡張機能について
はじめに
在宅勤務が新たな仕事のスタイルとして確立されている昨今、「効率化」がキーワードになっています。
本投稿では、Macに設定することで作業が捗るアプリや環境設定を紹介します。
様々なMac初期設定記事やおすすめアプリ動画を視聴し実践し、以下の内容が私にはフィットしました。
アプリケーション編/環境設定/Google拡張機能の3構成で紹介します。
本投稿で、皆さんの作業効率の促進に少しでも貢献できれば幸いです。アプリケーション編
Alfred
Macを使っている人であれば是非使って頂きたいのがランチャーアプリ「Alfred」です。
こちらのアプリを使うようになってからは、トラックパッドを使ってアプリケーションを起動する機会がとても減りました。
他のアプリケーション起動はもちろん、詳細設定すればよく利用するサイトも開くことが可能です。
詳細設定の方法についての参照記事はこちらです。BetterSnapTool/BetterTouchTool
こちらのアプリは有料にはなってしまいますが、お金を払う分(360円)だけの価値があると思います。
トラックパッドでの操作機能を拡大させる機能や、デフォルト設定では面倒な画面分割をしてくれます。
設定次第では、マウスやショートカットキーでやっていたこと全てトラックパッドでできるようになります。
こちらのアプリをインストールする上で注意する点としては
BetterSnapToolを使わないとしても先ずはBetterSnapToolを購入してください。
BetterSnapToolを購入することでBetterTouchToolの有効期限が無期限になります。
購入についての内容はこちらのリンクが分かりやすかったので掲載します。まずは、画面分割について紹介します。(BetterSnapTool)
デフォルトの設定では、ウィンドウを拡大させる緑色のボタンを長押しすることで右ウィンドウと左ウィンドウの分割が可能です。
ですが、デフォルトの画面分割は使いにくく分割するまでの時間もかかるため非常にストレスでした。
ショートカットキー設定を行うことで、右左ウィンドウ分割だけでなく、上下ウィンドウ分割や全画面拡大もしてくれます。
筆者はオプションボタンで各動作の設定していますが、commandキーやShiftボタン等でも設定出来ます。次に、トラックパッドの操作機能について(BetterTouchTool)
具体的な機能として、キーボードのショートカットキーやスクリーンショットの実行等をトラックパッドの操作でアシストしてくれます。
1つ注意点として、あまり多くのトラックパッド設定を行ってしまうと誤動作が起きることがあるので最小限の設定が好ましいかもしれません。
色々いじってみた結果、設定内容は画像のように、新規ウィンドウ立ち上げとウィンドウ削除、アプリケーション強制終了を設定しています。
環境設定編
Google日本語入力
Macのデフォルト設定されている文字変換の機能としてKotoeri(ことえり)が入っていますが変換精度があまり良くないので導入しました。
Google日本語入力は自動で学習して、多用されているワードを変換上部に持ってきてくれるため文字入力の手助けになります。また、ユーザ辞書を設定することで入力が面倒なメールアドレスや名前等を設定した文字を入力するだけで変換してくれる機能もあります。この設定した内容については、エクスポートしiCloud上に保存しておくことでパソコンを変えたとしても以前設定した内容を反映させることも可能です。
キーボード設定
小さな設定ではありますが、キーのリピートを設定することで文字を削除するスピードや、操作キーで文字を移動する際のスピードをが向上します。
システム環境設定→キーボードから設定できます。
Google拡張機能
AutoPagerize
通常の場合、画面下部にこのようなページャーがあります。
わざわざクリックして次画面に遷移させるのが面倒だなって思っていました。
AutoPagerizeの拡張機能を導入すると、わざわざクリックしなくても下にスクロールすることで自動でページを追加してくれます。SearchPreview
こちらの機能は、検索した時に画像のプレビューも一緒に表示してくれる機能です。
以前検索した内容で再度そのサイトにアクセスしたい場合、わざわざサイトにアクセスして内容を確認する必要がなくなるため地味にありがたい機能です。終わりに
本投稿は私のQiita初投稿です。
可読性を高めるためにMarkdown方式を学ぶ良い機会になりました。
これからも効率性を高めるアプリや設定等があれば随時更新していく予定です。
ここまで読んでくださりありがとうございました。
- 投稿日:2020-12-06T03:26:56+09:00
Macおすすめアプリ、環境設定、Google拡張機能
はじめに
在宅勤務が新たな仕事のスタイルとして確立されている昨今、「効率化」がキーワードになっています。
本投稿では、Macに設定することで作業が捗るアプリや環境設定を紹介します。
様々なMac初期設定記事やおすすめアプリ動画を視聴し実践し、以下の内容が私にはフィットしました。
アプリケーション編/環境設定/Google拡張機能の3構成で紹介します。
本投稿で、皆さんの作業効率の促進に少しでも貢献できれば幸いです。アプリケーション編
Alfred
Macを使っている人であれば是非使って頂きたいのがランチャーアプリ「Alfred」です。
こちらのアプリを使うようになってからは、トラックパッドを使ってアプリケーションを起動する機会がとても減りました。
他のアプリケーション起動はもちろん、詳細設定すればよく利用するサイトも開くことが可能です。
詳細設定の方法についての参照記事はこちらです。BetterSnapTool/BetterTouchTool
こちらのアプリは有料にはなってしまいますが、お金を払う分だけの価値があると思います。
トラックパッドでの操作機能を拡大させる機能や、デフォルト設定では面倒な画面分割をしてくれます。
設定次第では、マウスやショートカットキーでやっていたこと全てトラックパッドでできるようになります。
こちらのアプリをインストールする上で注意する点としては
BetterSnapToolを使わないとしても先ずはBetterSnapToolを購入してください。
BetterSnapToolを購入することでBetterTouchToolの有効期限が無期限になります。
購入についての内容はこちらのリンクが分かりやすかったので掲載します。まずは、画面分割について紹介します。(BetterSnapTool)
デフォルトの設定では、ウィンドウを拡大させる緑色のボタンを長押しすることで右ウィンドウと左ウィンドウの分割が可能です。
ですが、デフォルトの画面分割は使いにくく分割するまでの時間もかかるため非常にストレスでした。
ショートカットキー設定を行うことで、右左ウィンドウ分割だけでなく、上下ウィンドウ分割や全画面拡大もしてくれます。
筆者はオプションボタンで各動作の設定していますが、commandキーやShiftボタン等でも設定出来ます。次に、トラックパッドの操作機能について(BetterTouchTool)
具体的な機能として、キーボードのショートカットキーやスクリーンショットの実行等をトラックパッドの操作でアシストしてくれます。
1つ注意点として、あまり多くのトラックパッド設定を行ってしまうと誤動作が起きることがあるので最小限の設定が好ましいかもしれません。
色々いじってみた結果、設定内容は画像のように、新規ウィンドウ立ち上げとウィンドウ削除、アプリケーション強制終了を設定しています。
環境設定編
Google日本語入力
Macのデフォルト設定されている文字変換の機能としてKotoeri(ことえり)が入っていますが変換精度があまり良くないので導入しました。
Google日本語入力は自動で学習して、多用されているワードを変換上部に持ってきてくれるため文字入力の手助けになります。また、ユーザ辞書を設定することで入力が面倒なメールアドレスや名前等を設定した文字を入力するだけで変換してくれる機能もあります。この設定した内容については、エクスポートしiCloud上に保存しておくことでパソコンを変えたとしても設定した内容を反映させることも可能です。
キーボード設定
小さな設定ではありますが、キーのリピートを設定することで文字を削除するスピードや、操作キーで文字を移動する際のスピードをが向上します。
システム環境設定→キーボードから設定できます。
Google拡張機能
AutoPagerize
画面下部にこのようなページャーがあります。
わざわざクリックして次画面に遷移させるのが面倒だなって思っていました。
AutoPagerizeの拡張機能を導入すると、わざわざクリックしなくても下にスクロールすることで自動でページを追加してくれます。SearchPreview
こちらの機能は、検索した時に画像のプレビューも一緒に表示してくれる機能です。
以前検索した内容で再度そのサイトにアクセスしたい場合、わざわざサイトにアクセスして内容を確認する必要がなくなるため地味にありがたい機能です。終わりに
本投稿は私のQiita初投稿であり、可読性を高めるためにMarkdown記法を学ぶ良い機会になりました。
今後もよいアプリケーションや設定があれば随時更新していこうと思います。
- 投稿日:2020-12-06T02:10:29+09:00
HHKB Professional HYBRID Type-S 無刻印 を買ってmacでDvorak配列に設定してみた
私は詳しい人ではないですが、調べながらやってみて、そんなに難しくなかったので投稿させていただきました。m(_ _)m
- macOS Catalina Version 10.15.6
- HHKB Professional HYBRID Type-S 無刻印/白
HHKBのキーボードのこちらを購入しました
https://www.amazon.co.jp/gp/product/B082TWHY76/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
HHKB Professional HYBRID Type-S 無刻印/白(英語配列)
Macモードに設定する
参考
https://www.pfu.fujitsu.com/hhkeyboard/leaflet/hhkb_backview.html
キーボード背面にある2つ目のDIPスイッチをONに設定しておく
必ずキーボードの電源を切っている状態でスイッチを切り替える
この設定をしないとcommandキーが動作しません
bluetoothで接続した
キーボードの電源を入れたら普通に接続できる
「System Preferences」→「Keyboard」→「Set Up Bluetooth Keyboard」
Bluetoothを使わない場合は USB Type-C ケーブルで接続することもできる
その場合はケーブルは同梱されていないので自分で用意する
この状態で以下のような配列だったと思います
Dvorak配列に変更する
「System Preferences」→「Keyboard」→「Input Source」
「+」を押して「Dvorak」を追加する
追加できたら Ctrl + Space で切り替えれた
日本語入力も Dvorak で入力できるようにする
参考:https://qiita.com/raccy/items/23ae3658f3c70a9cd599
「System Preferences」→「Keyboard」→「Input Source」→「Japanese」
「Romaji layout」を「Dvorak」に変更する
この設定でできました!
その他
macのキーボードビューワーを使うと、dvorak配列で自分がどのキーを押しているかわかりやすかったです。
参考:https://support.apple.com/ja-jp/guide/mac-help/mchlp1015/mac
以上です。m(_ _)m










































