カテゴリーアーカイブ Mac

takahashi 著者:takahashi

Macで利用できるブートローダー”rEFInd”の見た目をカスタマイズする方法

以前紹介した記事でMacでデュアルブートを行っている場合に、起動時にOS選択メニューを表示させる方法をご紹介しました。

ここで使用したrEFIndというブートローダですが、実は見た目を変更することができるようになっています。

デフォルトのデザイン

今回は、その方法をご紹介したいと思います。

※今回の操作には最悪macOSを含む全OSが起動しなくなる、リスクのある操作が含まれます。取り扱いには十分注意してください。また、万が一起動しなくなっても責任は負えませんのでご了承ください。(起動時にOSを読み込むプログラムが入っている領域を触るためです。誤って必要なファイルを変更したり、削除したりしないように注意してください。)

まず、ネット上に公開されているテーマから、自分が使用したいテーマを見つけます。

The rEFInd Boot Manager: Theming rEFInd

参考元の記事によると、このあたりにまとめられているようです。

好きなテーマを見つけたら、ダウンロードして解凍しておきます。

次にrEFIndがインストールされているEFIパーティションをマウントします。

ターミナルを開き、次の2つのコマンドを入力します。

sudo mkdir /Volumes/efi #EFIパーティションのマウント先に使用するディレクトリを作成
sudo mount -t msdos /dev/disk0s1 /Volumes/efi #efiパーティションをマウント

マウントに成功したら、次のコマンドでrefindのディレクトリに移動します。

cd /Volumes/efi/EFI/refind

移動したら、次のコマンドを実行してFinderを開きます。

open .

Finderが/Volumes/efi/EFI/refind内の内容を表示した状態で起動しますので、その中に先程入手したテーマをディレクトリごとコピーします。

/Volumes/efi/EFI/refind直下にテーマをコピーしてもよいですが、僕はさらにthemesというディレクトリを作り、その中にテーマをコピーしました。

あとは、 /Volumes/efi/EFI/refind/refind.confの末尾に、次の行を追加します。

# Custom theme
Include テーマが入っているディレクトリ/theme.conf

“テーマが入っているディレクトリ”の部分は

/Volumes/efi/EFI/refind 

から見たtheme.confへの相対パスを記述します。

プラグインによってはこれで使用できる状態になるのですが、プラグインによってはthemesフォルダ内に置かれることを想定していないものもあるため、その場合はテーマが含まれるディレクトリを移動するか、themes.confを確認・書き換えする必要があります。

書き換えなければいけない項目としては下記のような項目です。

・icons_dir
・banner 
・selection_big
・selection_small

これらの項目のパスも、 /Volumes/efi/EFI/refind/refind.conf 同様に

 /Volumes/efi/EFI/refind/

から見た相対パスを記述する必要があります。

例えば、僕が今回ダウンロードした”refined-next”は、ディレクトリ直下に置くことを想定していたため、このテーマに含まれるtheme.confは下記のような内容になっていました。

hideui singleuser,hints,label
icons_dir next-theme/icons
banner next-theme/background.png
selection_big   next-theme/selection_big.png
selection_small next-theme/selection_small.png
showtools about,reboot,shutdown

上記のような設定の場合はthemesフォルダの中にいれる構成にするとパスが合わないため、パスが合うように設定を修正します。

hideui singleuser,hints,label
icons_dir themes/next-theme/icons
banner themes/next-theme/background.png
selection_big   themes/next-theme/selection_big.png
selection_small themes/next-theme/selection_small.png
showtools about,reboot,shutdown

これで無事テーマが適用されるようになります。

refined-next適用後のOS選択画面

なお、頭と末尾にある設定

hideui singleuser,hints,label

showtools about,reboot,shutdown

ですが、hideuiはOS選択画面で表示されるUIのパーツのうち、非表示にする要素を入れることで、説明文や詳細オプションなどを消すことができます。

またshowtools はOS一覧の下に並ぶシャットダウンボタン・リブートボタンなどのメニューのうち、何を表示するかを指定できます。

僕は上記の設定を下記のように変更したところ、次のようなUIになりました。

...省略...
#hideui singleuser,hints,label
...省略...
showtools apple_recovery,shell,about,reboot,shutdown
...省略...

ほかにも、画像の差し替えを行ったりなどすれば、オリジナルの起動画面を作ることも可能です。

rEFIndのデフォルトのUIに飽きてきたら、是非試してみてはいかがでしょうか。

  • この記事いいね! (0)
takahashi 著者:takahashi

新型MacBook Proでシザーキーボードが復権するらしい

新しいMacBook Proが発表されたようです。

16インチMacBook Pro – Apple

Apple、16インチの新型MacBook Proを発表。Escキー復活! そして、さらばバタフライキーボード – Gizmodo

このMacの特徴として、上記のGizmodoさんの記事にもあるようにキーボードが今までAppleが推していた”バタフライキーボード”から、従来型の”シザーキーボード”に変更されている点です。

ただし、ただシザーキーボードを復権させるだけでなく、ちゃんと改良も施しているということで、そこはAppleらしいこだわりを感じさせます。

またTouch BarからEscキーが分離されたり、十字キーのデザインも見直されたりされているとのことで、”天板の林檎マークが光らなくなったMac”に変更されて以来の大幅な見直しとなりそうです。

僕はMacBook Air Late 2015 11インチを使用していて、まだ旧シザーキーボードが搭載されていたのですが、キーストロークがちゃんとあり、しっかりとした打鍵感もあってノートPCとしてはとても使いやすく気に入っていました。一方、それ以降に発売されたMacBookのバタフライキーボードは打鍵感が少なく、キーストロークも浅かったため個人的には使いづらいという印象でした。

個人的にはノートPCでキーボードが使いづらいのは致命的な欠点なので、”MacBook買うのはこれで最初で最後かなぁ、とすら思っていました。

今回シザーキーボードのMacBook Proが発表されたので、 今後ほかのMacBookにもシザーキーボードが採用されたものが出てくるかもしれません。

もし買い替えが必要になった時にMacBook Airにもシザーキーボードが採用された機種が出ていたら、是非購入したいですね。

  • この記事いいね! (0)
takahashi 著者:takahashi

macOSにデバイスを接続すると勝手に作られる.DS_Storeファイルの生成を止める方法

macでネットワークドライブやUSBドライブを開いたりした際、

macOS側ではフォルダに何も入っていなければ表示されませんが…

Windows側で見ると”.DS_Store”という謎のファイルが出来上がっています。

このファイル、macOS側のFinderでフォルダを開いた際、フォルダの表示設定や項目のキャッシュなどをFinderが保存する際に使われるファイルで、開かれた時点でがってに生成されます。

気にならなければほおっておいても何ら問題はないのですが、mac側でフォルダを開くたびに生成されてしまうため、うっとおしいと感じている方もいらっしゃるかと思います。

この.DS_Storeの自動生成ですが、実はコマンドで有効・無効を切り替えることができます。

defaults write com.apple.desktopservices DSDontWriteNetworkStores True

上記のコマンドを実行すると、外部ストレージに対して.DS_Storeが生成されなくなるようです。

ただし、生成を止めてしまうと、ソートなどの表示設定が保存されなくなってしまうので注意が必要です

お困りの方は一度試してみてください。

  • この記事いいね! (0)
takahashi 著者:takahashi

UNIX系OSのsudoコマンドにsudoersファイルの制限を無視してroot権限でコマンドが実行できる脆弱性が発覚

最近のUNIX系のOSにおいて、直接rootユーザーとしてログインする代わりに、1コマンド単位でroot権限に昇格できるコマンドとしてsudoが用意されています。

現在では、rootユーザーとしてログインするよりも一般ユーザーでsudoを使用した方が安全といわれていますが、そんなsudoに先日、ちょっとマズい脆弱性が発覚しました。

Linuxの「sudo」コマンドにroot権限奪取の脆弱性。ユーザーID処理のバグで制限無効化 – engadget 日本版

sudoには特定のコマンドのみroot権限で実行可能とするような、各ユーザーに対するコマンド単位での制限を設定することができます。

例えば、設定ファイルやサービスの起動・停止はできるようにしたいが、サーバー自体の再起動・停止はさせないようにしたい…などどいった場合は、対象のユーザーに対してのみshutdownコマンドなどをroot権限で実行することを制限することができます。

ところが今回、sudoコマンドでrootユーザーではなく特定のユーザーとして実行すると、sudoersで指定された制限を無視して、すべてのコマンドをroot権限として実行できてしまう現象が発見されました。

sudo で UID に「-1」または「4294967295」を指定すると root 権限でコマンド実行出来る脆弱性 – らくがきちょう

詳細は上記のリンクを参照いただきたいのですが、一部のコマンドのみsudo経由で実行できるように許可されたユーザーにおいて、ユーザーidが”-1″、もしくは” 4294967295″のユーザーを指定した場合にsudo のバグで制限なくroot権限が発動できてしまう、というのが今回判明した現象です。

なお、もともとsudoを使用する権限が一切ないユーザーについては上記のユーザーidのユーザーとして実行しようとしてもはじかれる為、管理者でない一般ユーザーが管理者権限を行使できてしまう、といったことはないようです。

自分でも更新前のsudoで試してみましたが、昇格はできませんでした。

 sudo -u#-1 service nginx reload
[sudo] password for testuser: 
testuser is not in the sudoers file.  This incident will be reported.

基本的にsudoは完全な管理者として昇格する以外の使い方はあまりされていない印象なので、おそらく影響を受けたユーザーはさほど多くないかと思いますが、もしコマンド単位での制限をかけている場合は、早急にsudoのアップデートを適用すべきでしょう。

  • この記事いいね! (0)
村上 著者:村上

【iOS】MacからiPhoneに写真を転送する方法

iPhone から Mac に写真を転送するのは特に難しくなかったのですが、その逆が少しややこしかったので、備忘録としてまとめ。
いくつか方法があるようでしたが、転送ソフトとかをわざわざ入れるのは面倒だったので、今回紹介するのは iTunes を利用する方法についてです。

今回参考にした記事はこちらから。

【完全版】迅速にMacからiPhoneに写真を転送する7つの方法
https://www.imobie.jp/support/transfer-mac-photos-to-iphone.htm

 

まず、事前準備として、転送したい写真を一つのディレクトリに格納し、分かりやすい場所に置いておきます。
ディレクトリの名前は日本語でも問題なく、場所もデスクトップとかでOKです。

次に iPhone と Mac を接続し、iTunes を起動します。

上のスクリーンショットの通り、接続した iPhone を選択してから、サイドバーメニューから「写真」を選択します。
次に、「写真を同期」にチェックを入れ、すぐ下の欄の「写真のコピー元」から、先程作成したディレクトリを選択します。
あとは、右下の「適用」ボタンを選択すれば、iPhone に写真が転送されます。

操作としては以上です!
「写真のコピー元」を選択する際には写真ファイル自体は選択できないので、ディレクトリに写真を格納するのがポイントですね。
転送ソフトを使わないと手順が多くて面倒になるかと思いましたが、思ったよりも簡単でした。

 

以上、Mac から iPhone に写真を転送する方法でした。
ご参考になれば幸いです。

  • この記事いいね! (0)
村上 著者:村上

【Xcode】「Your app supports Multitasking on iPad, so you must include the UILaunchStoryboardName key in your bundle」の対処法

今回は、Xcode で iOS アプリのリリース準備を行っていた際に発生したエラーについてです。
具体的には、Xcode で アプリを Archive し、Organizer から「Distribute App」でアプリを App Store にアップロードしようとした時ですね。

エラーメッセージは「Your app supports Multitasking on iPad, so you must include the UILaunchStoryboardName key in your bundle」というエラーで、翻訳すると「あなたのアプリはiPad上でマルチタスクをサポートしているので、あなたはあなたのバンドルにUILaunchStoryboardNameキーを含める必要があります。」とのこと。

 

ということでサクッと検索したところ、ヒットした記事がこちら。

iPad Multitaskingに対応したメモ – Qiita
https://qiita.com/jollyjoester/items/c8bb1592d01fdef663f9

上記の記事によると、iPad のマルチタスク機能に対応していないことが問題とのことです。

こちらの対処法は 2つあり、マルチタスク機能を無効にする方法とマルチタスクに対応する方法です。
今回のアプリはマルチタスク機能を無効にする方法を選択しました。

作業としては、下の画像のように、Requires full screen にチェックを入れるだけです!

強制フルスクリーンでマルチタスク自体が無効になるため、対応しなくて済む!という感じみたいです。
参考にした記事にもありましたが、こちらは手抜きの方法。
ですが、フルスクリーンで問題がないのであれば、この方法を採用してもいいと思います。

マルチタスク機能に対応する方法は、参考サイトに記載されていますので、そちらをご確認ください。

 

以上、iOS アプリを App Store にアップロードする際に発生した「Your app supports Multitasking on iPad, so you must include the UILaunchStoryboardName key in your bundle」エラーの対処法でした。
ご参考になれば幸いです。

  • この記事いいね! (0)
村上 著者:村上

【Xcode】「Unable to copy symbols from this device」エラーの対処法

先日ご紹介した、Xcode でサポートしていないの iOS のバージョンの端末を実行する方法で、それを行った後に、私の環境で遭遇したエラーです。
タイトルにもあるとおり、「Unable to copy symbols from this device」というエラーメッセージでした。

 

で、今回参考にさせていただいた記事がこちら。

Xcodeがunable to copy symbols from this deviceとか抜かしおる:とりっぴーPの日常
http://ysh-urasoe.seesaa.net/article/427401633.html?seesaa_related=category

全く同じエラーだったので、内容を確認したところ…どうやら Mac の空き容量が問題でした!
よくよくエラーメッセージを読んでみたら、後ろの方に「No space left on device(デバイスにスペースが残っていません)」と書いてありました…。
なので、このエラーについては、Mac からいらないファイルを消して、これを実行できるだけの空き容量を確保すれば OK です。
そのため、もういらないプロジェクトとか、ダウンロードしてきたファイルとか、使っていないアプリとか…ここぞとばかりに消しました。

で、再度アプリを実行したところ、実機で問題なく起動しました!
現在使っている Mac は結構長いこと使っているため、容量不足がなかなか深刻です。
いつか時間をとって、しっかりとファイルの整理を行いたいですね。

 

以上、Xcode で「Unable to copy symbols from this device」というエラーが発生した時の対処法でした。
皆様も Mac の空き容量にはご注意ください。

  • この記事いいね! (0)
takahashi 著者:takahashi

次のmacOSの名は “Catalina(カタリナ)” iOSアプリの流用やiPadのサブディスプレイ化が可能に。一方で注意点も。

前回に引き続き、Appleが開催したWWDC 2019の内容を取り上げたいと思います。

今回の発表では、新しいApple製のOSが沢山発表されました。

その中で今回紹介するのは、mac(PC)用OSであるmacOSの最新版、その名もCatalina(カタリナ)です。

macOS Catalina – Apple

macOS Catalinaの特徴として下記の点があります。

・iPadをmacのサブディスプレイとして利用可能
・iOS用アプリのソースを使って、そのままmacOS用のアプリをビルド可能
・iTunesが廃止。複数のアプリに機能が分割
etc…

まず、iPadをサブディスプレイ代わりに使用することができる機能、”Sidecar”が追加されました!

iPadをモバイルサブディスプレイ化させて利用する需要は以前からあり、PCのサブディスプレイとして利用できるようにするアプリは以前から多く存在していました。

Catalinaでは、この機能を公式として実装し、macOS限定のようではありますが、iPadをサブディスプレイとして利用できるようになるようです。

無線で接続するとのことなので、気になるのはやはり遅延の程度ですが、

ペンタブとして使用してApplePencilで描画できるとのことなので、かなり遅延が抑えられているのかもしれません。

また、iOS向けアプリのソースコードをそのままmacOS用アプリとしてビルドできる機能も注目です。
今後、macOS用のアプリが爆発的に増えるかもしれませんね。

ただ、今回のmacOS Catalinaから、予告されていたiTunesの解体が行われ、複数のアプリに分割されるようです。

iTunesは3つのアプリに分割される #WWDC19 – GIZMODO

いままで長らく愛用されてきたiTunesアプリが廃止・分割されるということで、戸惑う方も出てくるかもしれませんね。

そんな今回発表されたmacOS Catalinaですが、もう一点、注意すべき大きな変更点があります。

それは、macOSアプリのうち、32bit版のアプリケーションが完全に動作不能となった点です。

「Cydia Impactor」がv0.9.52へアップデート、macOS Catalinaでの動作に対応 – Tools 4 Hack

これは現行のmacOS Mojaveがリリースされた際に既に予告されていた点です。
Mojaveでは警告が表示されるだけでまだ実行することはできましたが、Catalinaからは完全に実行することができなくなるので注意が必要です。

そんな感じの新しいmacOSであるCatalina。
新機能が盛りだくさんなのでリリースが楽しみですね。

  • この記事いいね! (0)
asaba 著者:asaba

【xcode】error:Redefinition,of ‘option’.の対処法

今回は、mac、xcodeの話題になります。

xcodeで動作確認をしている時にプラグインを試運転したくなり、何回もcordova platforms add iosとcordova platforms rm iosを繰り返し

て入れていたのですがその過程で下のようなエラーに遭遇しました。

 


error:Redefinition,of 'option'.

 

原因は、変数をソース内に二度書き込んでいたためです。自分のソースなら話は分かるのですが、なぜかcordovaのプラグインでこの

現象が起きていました。明らかに同じ変数、同じ関数で。プラットフォームを毎回入れ直すごとにこの修正作業をするのは億劫なので

プラグインのバージョンを低くしてしまおうと思ったのですが性能面で大きく変化するのが怖いのでとりあえずは様子見することに

しました。

ですが消す事には何ら影響はないので見かけたら早急につぶしてしまいましょう。

  • この記事いいね! (0)
takahashi 著者:takahashi

macをルーター代わりにしてネットワークを共有する(逆テザリングする)方法

最近のスマートフォンでは一般的になった、本来ネットワークのクライアントとして動作する機器自身が、Wi-Fiルーターとして動作し、機器経由でインターネットへ接続できるようにする”テザリング”技術ですが、実はWindowsなどのPC用のOSにも搭載されていることをご存知でしょうか。

以前、Windowsで所謂”逆テザリング”をする方法としてブログでご紹介しましたが、macOSでも同様のことができるようになっています。

今回は、macOSでのインターネット接続の共有方法をご紹介します。

今回は自分の所有するMacbook Airを使用しましたが、このMacにはWi-FiしかNICが搭載されていないため、USB接続の有線のNICを使用して試しました。

まず、アップルメニューから”システム環境設定”を選択します。

システム環境設定の中から”共有”を選択します。

すると下記のようなメニューが表示されます。

左側に表示されているサービスから、”インターネット共有”をクリックします。

“共有する接続経路”のプルダウンで、macに搭載あるいは接続されている、インターネットにつながっているNICを選択し、下の”相手のコンピュータでのポート”で、子機と接続するNIC(“共有する接続経路”と被らなければ複数選択可能)を選択します。

最後に、左側の”インターネット共有”のチェックボックスをONにします。

上の画像のようなメッセージが表示されるので、”開始”をクリックします。

これでインターネット共有が有効になりました。

あとは、共有先に指定したLANアダプタを…

このようにインターネット回線を共有したいPCのLANポートに接続すれば、macと接続したPCから、mac経由でインターネットに接続できます。

Windowsのインターネット共有と異なる点は、Windowsでは1つのWi-Fiアダプタでインターネットへの接続とWi-Fiルーターの役割の両方を行うことができますが、macの場合はWi-Fiだけではインターネットの共有ができず、別のNICを用意しないといけないため注意が必要です。

とはいえ、知っておいて損はない機能だと思いますので、気になった方は是非一度試してみてください。

  • この記事いいね! (0)