![見出し画像](https://assets.st-note.com/production/uploads/images/77508474/rectangle_large_type_2_f12af49f5743ff7e4be7d42e18076d42.png?width=800)
TeXShopでアクセス権限関連でエラーを吐かれた
私はここ1ヶ月で初めてMacマシンに触ることになり、必要なソフトなどをかき集めてインストールしたりして環境構築を進めていた。
しかしMacTeXでTeXShopを導入した際に設定がうまくできておらずコンパイルがうまくいかず、1週間ずっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっっと悩まされることになった。
他にも苦しんでる人はいねが…とネットをさまようも解決はせず、他の問題を解決した時にその方法を使ったら上手く行った。どこにも無かった情報だったので「せっかくだったら記録に残しておくか!」と思った次第なので、これをネットに漂わせておく。
以下、目次
注意・今回の環境
注意(2022/04/30)
今回使っているMacマシンはとあるところから貸出されているマシンのため環境としては若干古い可能性がある上、セキュリティーの問題で結果的にこの問題が起きたかもしれないので注意したい。
また、TeXShopの初期設定に関してはここには載せることはないのでほかを当たっていただきたい。(私の場合は特にどこかをいじらずとも一応動いた気がする。)
今回の環境
以下に簡単なMacの環境と今回使ったTeXShopのVer.を載せておく。
macOS : Monterey Ver. 12.3.1
MacBook Pro (Retina, 13-inch, Early 2015)
TeXShop(MacTeXインストーラから入手): Ver. 4.72
今回問題になった点
今回MacマシンでTeXShopを利用してコンパイルを行おうとしたところ、以下のエラーを吐き出しPDFファイルを生成することができなかった。(もちろんパス設定やコンパイル設定をいろいろと確認していじっても解決しなかった。)
![](https://assets.st-note.com/img/1651305239407-0mMXXrm1Bz.png?width=800)
エラーを見るに「TeXShopもしくはこれを実行しているターミナルにディレクトリ内のファイルをいじることが許されていない」という内容に見える。
また、これをとある方法で解決したところ、デスクトップに野ざらしの状態で保存したTeXソースファイルをコンパイルすることが可能になったものの、次にはデスクトップ上のフォルダ内に保存したソースファイルをコンパイルすることができなくなった。(これについては最初と同じエラーが出る。)
概するに今回の問題は2つ。
特に初期設定に問題がないように見えるのにも関わらず何故か「TeXShopもしくはターミナルにソースファイルを保存している場所にアクセスする権限がない」という内容でエラーを吐いてしまいコンパイルができない。
上記の諸問題を解決した上でデスクトップ上のソースファイルはコンパイルできるようになったものの、デスクトップに存在するフォルダ内に保存したソースファイルをコンパイルできなくなった。
但し注意しなければならない点について、ターミナルに与えられている権限が正常な場合には、ターミナルから
$ platex (ファイル名)
を実行してdviファイルを生成し、
$ dvipdfmx (ファイル名)
で一応platexを通じたコンパイル・PDFファイルの生成は可能である。
私の場合、この作業が面倒だと感じたので頑張っていたがこれが面倒でないのであればこの方法でも良いはずである。(この作業をまとめてやってくれるのがTeXShop・TeXWorksに代表される統合開発環境なんですけどね)
原因
まず最初にエラーコードの確認をしておく。(再掲)
![](https://assets.st-note.com/img/1651305421152-UW0CYJQjcr.png?width=800)
先述の通り、これは「TeXShopにこのソースファイルのアクセス権限がない」という内容である。
access parent directories: Operation not permitted
とりあえずこのソースファイル自体とその保存先フォルダのアクセス権の確認をしても読み書き両方可になっている。しかしコンパイルできない。
結論から言うと、Macの場合特に設定を行わない場合にはデスクトップフォルダ自体がiCloud上に勝手に同期されることが原因である。TeXShopにはクラウド上のファイルをいじってlogファイルやdviファイルを生成する権限がないのである。
次にデスクトップ上のフォルダにアクセスできない問題である。先述の通り、エラーログはiCloudの同期が原因である場合と全く同一のものが出る。
これはターミナルやTeXShopにフォルダ内の特定のファイルにアクセスする権限が与えられていなかったのが原因である。(エラーログそのままの解釈だけど)iCloudの時と異なるのはあくまでもフォルダ内のデータにはTeXShopが手を付けられないのであって、デスクトップにそのまま保存したデータには触ることができるという点である。
私の場合の解決策
TeXファイルをそもそも読むことができない問題
これに関してはそこまで難しくない。iCloudでファイルを同期している事自体がまずいのでそれを切ってやる必要がある。
システム環境設定を開き、右側にある"AppleID"という項目を開く
左側のリストから"iCloud"を選択、"iCloud Drive"の項目の左側にある「オプション…」という設定を開く
上のタブから「書類」というものを選択すると、iCloudで同期が行われているデータが表示される。(私の環境では「"デスクトップ"フォルダと"書類"フォルダ」, 「プレビュー」, 「メール」, 「ショートカット」, 「天気」が表示された)
「"デスクトップ"フォルダと"書類"フォルダ」のチェックマークを外し、「完了」ボタンを押す
以上である。つまり初期設定ではデスクトップのデータはすべてiCloudに保存される設定になっていたため、ローカルにTeXのソースコードがない状態でコンパイルを行おうとしていたのである。
但しこの操作には注意が必要である。これをするとデスクトップのクラウドとの接続が切れてしまうのでもともとデスクトップにあったファイルやフォルダは表示されなくなる。一応FinderツールからiCloudを開きそこからデータを持ってくることは可能なので頭の隅に置いておいてほしい。
ここまでをやれば原因がiCloudの場合については対処が可能である。
デスクトップ上のフォルダ内にあるTeXソースを読むことができない問題
さて、次にとあるフォルダ内に存在するTeXファイルを読めなくなった問題である。一応上記の操作をすればデスクトップに直接保存したデータは読めるはずなので確認してほしい。(それでもダメならこれを確認)
手順は2つある。但し前提として前者の手順は不要かもしれない。その手順は私がHomebrewのインストールがうまくいかないという問題を同時並行して解決していた時に行った操作である。一応TeXShopもターミナルを使ってコンパイルをしているはず。操作として必要な可能性があるので載せておく。
(1) ターミナルのアクセス権限付与
システム環境設定を開き、「セキュリティーとプライバシー」という項目を開く
上にある多数のタブの中から「プライバシー」を選択、左側のリストから「フルディスクアクセス」を開く
ターミナルにチェックマークを加える
以上。なお手順3の時に関して変更に対してロックがかかっている場合があるのでパスワードで解除する必要がある。(Macユーザーなら十分ご存知だろうが)また、アプリケーション一覧にターミナルがない場合がある。(私はなかった)その時はアプリケーション一覧左下にある「+/-」ボタンからターミナルを追加してほしい。
![](https://assets.st-note.com/img/1651308676224-EqIpTcfhyi.png?width=800)
(2) TeXShopへのフォルダアクセス権限付与
システム環境設定を開き、「セキュリティーとプライバシー」という項目を開く
上にある多数のタブの中から「プライバシー」を選択、左側のリストから「ファイルとフォルダ」を開く
TeXShopの「"デスクトップ"フォルダ」にチェックマークを加え、アクセス権限を与える
以上。もちろんこれも初めからアプリケーションがなければ左側の「+/-」ボタンから追加してほしい。(私は最初からあった)
![](https://assets.st-note.com/img/1651309180951-Cv7bwSzQWE.png?width=800)
ここまでやれば、アクセス権限関連が原因だった場合にはちゃんとコンパイルできるはずである。これで動かなければ他の原因がある…かも。
補足:Homebrewのインストールについて
ちなみに先述の通り、私はHomebrewのインストールにも苦戦した。もちろんこれもターミナルにシステムを編集したりアクセスをする権限が与えられていなかったのが原因である。
具体的にはHomebrewのHPからインストール用のコマンドをコピーし貼り付け、実行してもターミナルからネットに繋げることができないのだろうか、404 not found errorを吐いてしまった。
すでに解決してしまった問題のため、再現とエラーログをここに掲載することはできないが、これは前述の2つあると書いた解決方法のうちの前者の手順を踏むことで解決できたのでそれもここに併記しておく。
参考
お世話になったサイト様方々
ありがとうございました。
少し冗長になってしまいましたが許してください。
なにか問題等あれば私に連絡をください。
良いTeXライフを。
この記事が気に入ったらサポートをしてみませんか?