docs/i18n/ja/TROUBLESHOOTING.md原文を見る ↗
このページの内容

トラブルシューティング

ドキュメント索引(英語) · プロジェクト概要

🇺🇸 English · 🇨🇳 简体中文 · 🇭🇰 繁體中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇧🇷 Português

このページは英語版 TROUBLESHOOTING.md のコミット 68169b9 時点の翻訳です。その後英語版が更新された場合や内容に食い違いがある場合は、英語版が正となります。 macOS のメッセージは英語の原文を併記しています。

Corta がインストールできない、起動しない、または以前のターミナルではしなかったことをする——そんなときの対処法です。 各項目には、目にするもの、その理由、直し方を書いています。そして最後の節には、どれも役に立たなかったときに元のターミナルへ きれいに戻る方法を書いています。「戻りました、理由はこうです」という報告は、提出できるものの中でも特に役に立つからです。

ここの項目が間違っていたり足りなかったりしたら、Installation blocker または Went back to my old terminal の テンプレートで issue を作成してください:https://github.com/noah-qin/Corta/issues/new/choose。


インストール

「Apple は悪質なソフトウェアがないことを確認できないため、Corta を開けません」("Corta can't be opened because Apple cannot check it for malicious software")

公式リリースは Developer ID で署名され、公証済みです。ソースからのビルドはそうでない場合があります。ダウンロードしたリリースなら、 チェックサムと下記のイメージとアプリのチェックを確認してから、バージョンとともに正確なメッセージを報告してください。

「Corta は壊れているため開けません」("Corta is damaged and can't be opened")

ディスクイメージが不完全か、改変されているか、macOS の署名検証で拒否された可能性があります。まず、横に公開されている .sha256 ファイルで確認します。両方のファイルをダウンロードフォルダに置き、x.y.z をダウンロードしたバージョンに置き換えてください:

shasum -a 256 -c Corta-x.y.z.dmg.sha256

一致しなければダウンロードし直してください。すべてのリリースパッケージは公開前にサイドカーファイルと照合されている (corta-release-check)ので、不一致は手を止めてダウンロードし直す理由になります。チェックサムが一致したら、イメージと コピーしたアプリを確認します。すべてのコマンドで x.y.z をダウンロードしたバージョンに置き換え、ダウンロードフォルダで実行してください:

spctl -a -t open --context context:primary-signature -v Corta-x.y.z.dmg
xcrun stapler validate Corta-x.y.z.dmg
spctl --assess --type exec /Applications/Corta.app
xcrun stapler validate /Applications/Corta.app

報告には、リリースのバージョン、macOS のエラー、これらの結果を含めてください。リリースを試すために Gatekeeper を回避しないでください。 1.1.8 までのバージョンは元の ZIP のチェックサムのままです。そのリリースのファイル名を使ってください。

Corta が自分を /Applications に移動しようと提案してくる

Corta が ~/Downloads などのフォルダから起動されています。どこからでも動きますが、Sparkle のアップデートと Spotlight は /Applications にあることを前提にしています。「今はしない」を選べばもう尋ねません——または ~/.config/corta/config に suggest-applications-folder = false を設定します。

ディスクイメージから直接開くと、macOS は Corta を一時的な読み取り専用の場所から実行するので、Corta は自分を移動できません。 代わりに「アプリケーション」へドラッグするよう求めます。そこにすでに新しい Corta がある場合は、古いコピーで置き換えるのではなく、 そちらを開くよう提案します。

Dock に Corta のアイコンが 2 つある

一方は開発版です。Finder では Corta Dev、メニューバーでは CortaDev と表示され、アイコンの背景は青ではなくオレンジで、 バンドル ID は dev.noahqin.Corta.dev です。設定と状態は ~/Library/Application Support/Corta Dev/ に置き、 ~/.config/corta/config や ~/Library/Application Support/Corta/ は決して使いません。また「アップデートを確認…」の メニュー項目がありません——なので、どちらの順で並んでいても、青いアイコンのほうがインストール済みの Corta です。 どちらかを終了または削除しても、もう一方には影響しません。開発版を持っているのは、ソースから Corta をビルドしている人だけです (CONTRIBUTING.md の「Developing Corta in Corta」)。

「このバージョンの Corta には macOS 26.0 以降が必要です」("This version of Corta requires macOS 26.0 or later")

Corta のデプロイメントターゲットは macOS 26.0 で、そのリリースの Metal 4 と Core Text の API を使っています。 それより前のシステム向けのビルドはなく、作る予定もありません(DESIGN.md §6)。

「このタイプの Mac ではサポートされていないため、アプリケーション“Corta”を開けません」("You can't open the application "Corta" because it is not supported on this type of Mac")

1.1.0 以降、Corta は Apple シリコン——M1 以降のチップを搭載した Mac——専用にビルドされています(DECISIONS.md D21)。 Intel Mac では動きません。1.0.1 が Intel Mac 向けの最後のバージョンで、 1.0.1 のリリースページから引き続き入手できます: Corta-1.0.1.zip をダウンロードして検証し、/Applications にあるコピーと置き換えてください。すでに 1.0.x を実行している Intel Mac には アップデートを確認… で 1.1.0 が提示されないので、そのまま使い続けられます。このメッセージは、 新しいアーカイブを手動でダウンロードして開いたときにだけ表示されます。

Mac のチップを確認するには、アップルメニュー ▸ このMacについて を選びます:Apple シリコンなら チップ の行に Apple のチップ (M1、M2、…)が、Intel なら プロセッサ の行に Intel のものが表示されます。


起動

ウインドウが空白のまま開く、または開いてすぐ閉じる

理由を見るために、Terminal.app から起動します:

/Applications/Corta.app/Contents/MacOS/Corta

シェルを起動できないペインは、空白のキャンバスではなく 再試行 ボタンのある失敗画面を表示します。失敗画面のない 空白のキャンバスが見えるなら、それはレンダリングのバグです。コンソール出力をつけて報告する価値があります。

シェルが思っていたものと違う、または PATH がない

Corta は、自分が起動された環境の $SHELL(なければ /bin/zsh)をログインシェル(-l)として起動するので、 ~/.zprofile と ~/.zshrc の両方が実行されます。$SHELL がもう存在しない場合は /bin/zsh、次に /bin/sh にフォールバックし、 どれを使ったかをペインに表示します。Terminal.app では動くコマンドが Corta では「見つからない」なら、GUI アプリ が起動される 環境の SHELL を確認してください(launchctl getenv SHELL):そこに設定された値はすべてのアプリに適用され、設定したセッションが 終わっても残ります。launchctl unsetenv SHELL を実行して再起動してください。

プリセット(シェル ▸ プリセットで新規ペイン)や設定ファイルの preset.<name>.shell で、ペインごとにこれを上書きできます。

Corta が昨日のウインドウを復元したが、望んでいなかった

~/.config/corta/config に restore-windows = false を設定するか、設定 ▸ 一般 でチェックを外します。 アプリをクラッシュさせた復元は再試行されません:保存された配置は破棄され、新しいウインドウが 1 つ開きます。

設定に「設定ファイルを読み込めない」と表示される

~/.config/corta/config は存在しますが、UTF-8 のテキストではない——たいていはエディタが別のエンコーディングで保存したバイト——か、 読み取る権限がありません。Corta は今ある設定を保ち、ファイルへの書き込みを拒否します。書き込むと中身がすべて置き換わってしまうからです。 ファイルを UTF-8 で保存し直してください(または問題の行を削除します)。Corta が次に読み込んだときに反映されます。 シェル統合も、読み込めない rc ファイルに対して同じように振る舞います:報告して、手を付けません。


入力と描画

画面を消去するとカーソルだけが残り、プロンプトが消える

⌘K で待機中のプロンプトが消える場合は Corta をアップデートしてください。シェル統合と準備済みのプロンプト終端マーカーがあれば、 画面を消去は表示中のプロンプトと未実行の入力を、編集カーソルも含めて保持します。Return、Control-L、そのほかの入力は送りません。 プロンプトマーカーのないシェルでは、シェル統合を有効にしてください。標準のローカル zsh セッションは同梱の候補機能と一緒に自動で 読み込みます。シェル側で設定していれば、シェル自身の Control-L による再描画も使えます。代替画面のプログラムや、プロンプトが すでに履歴にある複数行のエディタは、意図的にそのままにします。

/ で終わるフォルダのあとでディレクトリ候補が止まる

候補はサブディレクトリだけなので、ファイルしかないディレクトリには次のディレクトリ候補がありません。子フォルダ名の一部を入力するか、 候補が見えているときにもう一度 Tab を押してください。Tab はパスを補完するだけで実行せず、cd を実行するのは Return です。 隠しフォルダにはドットで始める必要があります。わかっている子フォルダが出ない場合は、そのディレクトリへのアクセス権を確認し、 directory-completion をオフにしてシェルのネイティブな補完と比べてください。それでも違う場合は、正確なパスの形とシェルを報告してください。

コマンド履歴がターミナルから離れた場所に開く

現在の Corta で閉じて開き直してください。呼び出したウインドウの中央に、そのディスプレイの使用可能な範囲内で開き、 画面全体の中央には置きません。Corta について は意図的な例外で、ほかのアプリの情報ウインドウと同じくディスプレイの中央に開きます。 すでに開いているウインドウは、選んだ位置のままです。

Claude Code のスラッシュコマンドメニューで Tab が効かない

1.0.0 で修正済みです(B02)。v0.1.1 にはこのバグがあります。新しいビルドで再発した場合は、Claude Code のバージョンを添えて 報告してください:修正の要は、候補ウインドウからの insertTab(_:) が子プロセスにどう届くかにあり、新しい候補 UI では 別の経路をたどる可能性があります。

⌥ が Meta として働かず、é、ø、– を入力する

それが macOS のデフォルトで、Corta はそれを守っています。option-as-meta = true にすると、⌥ は PC キーボードの Alt のように ESC + キーを送ります。特殊キー(矢印、ファンクションキー)は、どちらの場合も ⌥ を xterm の修飾キーとして伝えます。

ssh 越しだと色や TERM がおかしい

Corta は意図的に TERM=xterm-256color を名乗ります(docs/DECISIONS.md D08)。その TERM の値を共有していることは、 xterm と完全に互換であることを意味しません。printf '%s\n' "$TERM" でリモートの環境を確認し、最小の再現例と比べてください。 Conformance(英語)に、対応しているシーケンスと残っている失敗が記録されています。

ある文字が隣の文字より小さく描かれる

選んだフォントにない文字は、PingFang SC か Apple Color Emoji から描かれます。フォールバックのグリフはターミナルのセルの中に 収まるよう縮小されることがあるので、見た目の大きさが隣のグリフと異なることがあります。設定 ▸ 外観 でフォントサイズを調整し、 プレビューで比べてください。グリフが切れたりずれたりする場合は、その文字、フォント、フォントサイズ、ディスプレイの拡大率を スクリーンショットとともに報告してください。

設定したフォントで描かれない

font-family はフェイスではなくファミリーを指定します(JetBrainsMono-Regular ではなく JetBrains Mono)。 Corta がそれを使うのは、インストールされていて、レギュラー・ボールド・イタリックの各フェイスが印字可能な ASCII 全体で 同じ幅で進む場合だけです。そうでなければシステム等幅で描き、設定 ▸ 外観 に、どのチェックに失敗したかを示す 「フォントの状態」の行が表示されます。Corta の実行中にインストールしたフォントはすぐに一覧に現れます。 「再試行」で設定済みのフォントを確認し直します。

中国語、日本語、韓国語が CJK フォント(font-family-cjk)で選んだものと違うフォントで描かれる場合、そのファミリーは インストールされていないか、CJK 文字を持っていません。メニューの下の行にそう表示され、代わりにシステムの言語のフォントで描かれます。 選んだフォントにない文字も、システムの言語のフォントから描かれます。足りない文字に他のフォントを使用 がオフの間は、 CJK フォントは使われません。

kitten icat の画像が表示されない、または違う場所に表示される

Corta は Kitty グラフィックスプロトコルの直接(インバンド)転送を、RGB、RGBA、PNG で実装しています。ファイルを使う転送 (t=f、t=t、t=s)、アニメーションのフレーム、Unicode プレースホルダによる配置は実装しておらず、ファイルを使う転送は 今後も実装しません:リモートのストリームが読み取るローカルファイルを指定することこそ、脅威モデルが拒否するものだからです (SECURITY.md §1)。kitten icat --transfer-mode=stream picture.png で、直接転送を明示的に要求してみてください。 画像は一辺 8192 ピクセル、合計 1600 万ピクセルの制限内に収まる必要があります。不正な画像や大きすぎる画像は拒否されます。

空の Return で緑や赤のコマンドマークが描かれる

空の Return はコマンドではなく、現在の統合フックは何も記録しません。古い Corta がインストールした起動ファイルのブロックは、 まだそれを報告することがあります:設定 ▸ ターミナル ▸ シェル統合 を開き、更新 を選んでから、新しいシェルを開いてください。 すでに開いているシェルは再起動するまで古い関数のままで、すでに描かれたマークも残ります。更新されるのは、起動ファイル内の 印の付いた Corta のブロックだけです。自動フックを使う標準のローカル zsh セッションは、新しいシェルの起動時に同梱のバージョンを使います。


ほかのターミナルと異なる動作

選択し終えた瞬間にコピーされる

copy-on-select はデフォルトでオンで、ペインの隅のラベルでコピーを知らせます。⌘C だけにするなら false にしてください。

プログラムはクリップボードにコピーしたと言うのに、何もコピーされていない

OSC 52 の 書き込み はデフォルトでオフです:どんなプログラム出力でも、後でペーストさせるためにクリップボードへテキストを置けて しまうからです。allow-clipboard-write = true でオンになり、tmux やリモートの ssh セッションに必要なのはこれです。 読み取り の方向は、どの設定でも存在しません。

ウインドウを閉じるときに本当によいか尋ねられる

そのウインドウの中で、まだフォアグラウンドのジョブが動いています。confirm-close = false で、すべての場所でこの確認をオフにできます。

リモートのペインのバッジが「リモート: ホスト不明」、ローカルの tmux で「リモート?」と表示される

バッジのホスト名は、リモートのシェル自身の OSC 7 の報告、あるいは——接続シートから開いた接続では——そこで入力した接続先から取ります。 プロンプトで入力した ssh のコマンド行から読むことはありません(エイリアス、~/.ssh/config の名前、踏み台ホストの連鎖は どれも間違って読めてしまいます)し、プロンプトの文字から読むこともありません。どちらもなければ、ssh のペインは ホスト不明 と 表示します。それが事実だからです。ホストを表示するには、設定 ▸ ターミナル のシェル統合のブロックをリモートマシンの ~/.zshrc にも 入れてください。バッジが読む OSC 7 を出力します。フォアグラウンドの tmux や screen が リモート? と表示されるのは、 アタッチしているセッション自体が別のマシンにあるかもしれず、ここからは判断できないからです——疑っているのではなく、わからないのです。

リモートファイルをブラウズ… で認証に失敗するが、ペインの ssh は動く

SFTP の接続は、パスワードや鍵のパスフレーズをそのウインドウ上のダイアログで尋ねます。ダイアログを拒否またはキャンセルすると、 このエラーで終わります。フォームのユーザとポートを確認してください——エイリアス自身の User と Port が適用されるのは、 それらの欄が空のときだけです——そして鍵を選んでいるならその鍵も:選んだ鍵だけが提示されます。ダイアログが出なかったなら、 サーバーは ssh が試せるすべての方法を拒否しています。ターミナルで同じユーザ、ポート、鍵を使って ssh -v を実行すると、どれかがわかります。

リモートファイルをブラウズ… でホスト鍵を検証できないと表示される

初めて見るホストは、フィンガープリントを表示するダイアログで鍵を信頼するか尋ねます。このエラーは、信頼した後に鍵が 変わった ことを 意味します——サーバーが再インストールされたか、誰かが間に入っています。ssh は、~/.ssh/known_hosts から古い行を削除する (ssh-keygen -R <host>)まで接続を拒否します。先にサーバーの管理者に確認してください。

コマンド履歴に「(コマンドのテキストはスクロールバックに残っていません)」と表示される

コマンドのテキストは保存されているのではなく、グリッドから復元しています:そのプロンプトの行が scrollback-lines を越えて 流れ去ると、記録は時刻、ステータス、ディレクトリを保ちますが、テキストは失われ、「入力」と「実行」は表示されなくなります。 よく起きるなら scrollback-lines を増やしてください。

長い処理の最初までスクロールして戻れない

scrollback-lines(デフォルト 10,000)はセッションごとの上限で、物理 行で数えます——200 桁の行を 100 桁で折り返すと 2 行です。 上限より古い出力は、新しい出力が来るたびに破棄されます。上部のピルに、表示がどれだけさかのぼっているかが出ます。 上限は引き上げられます(最大 1,000,000。圧縮された古い履歴のメモリ量はテキストと負荷によります)。保存される 1 セルは圧縮前で 16 バイトですが、これは常駐メモリの見積もりではありません。120 桁 100,000 行の負荷を測ったところ、常駐メモリの増加は約 11 MiB でした。 Performance(英語)を参照してください。設定した上限を超えて残したい出力は書き出してください。

セキュリティキーボード入力がオンなのに、マクロツールが動く

タイトルバーの鍵は、それが 有効になっている ときに表示されます。それは Corta のターミナルウインドウがキーウインドウで、 Corta がアクティブなアプリである間だけです。ほかのアプリでは、また設定ウインドウがキーウインドウの間は、キー入力は通常どおり 届けられます——それこそが狙いで、表示が設定ではなく有効な状態に従うのもそのためです。

ネットワークマウント上でディレクトリのプロキシアイコンが表示されない

Corta は報告されたローカルのディレクトリをバックグラウンドで確認します。マウントが遅い場合や、すでに 2 つの確認が待っている場合は、 出力とキーボード操作を止めないために、プロキシアイコンを表示しません。マウントを別途確認してください。回復した後にディレクトリを 移動すると、新しい確認が行われます。

ペインがネットワーク上のディレクトリではなくホームフォルダで開く

新しいペインや起動時に復元されたウインドウは、指定されたディレクトリが短い制限時間内に応答した場合にだけ、そこで始まります。 応答しなくなったネットワークボリュームは存在しないものとして扱われるので、Corta を固まらせる代わりに、ペインはホームフォルダで開きます。 そこにある path:line 参照を ⌘ クリックしたりポインタを重ねたりするときも同じ制限が適用され、リンクとしては扱われません。 ボリュームを再接続してから、そこへ cd するか、そこで新しいペインを開いてください。

アップロードのプロンプトの後で、リモート編集がまた尋ねてくる

元のプロンプトが示したバージョンの後に、ローカルのファイルが変更されています。新しい編集を明示的に承認してください。 リモートの内容のダイジェストを持たない古い管理対象の項目も、一度は競合の判断が必要です。内容の比較によって、ファイルサイズと タイムスタンプが変わっていなくてもリモートの変更を見分けられます。

長く待った後で、リモート編集のアップロードがまた尋ねてくる

接続が止まっています。接続後、リモート編集の各操作には 120 秒の制限があり、それを過ぎると Corta は接続を閉じてアップロードを 改めて提示します。承認すれば新しい接続で再試行します。遅い回線での非常に大きなファイルも制限に達することがあります。その場合は SFTP ブラウザでコピーしてください。


外観とステータスバー

カーソルが点滅しない

点滅はデフォルトでオフです:設定 ▸ 外観 ▸ カーソル で カーソルを点滅 をオンにしてください。ペインが非アクティブ、非表示、 またはスクロールバック表示中のときは止まります。ターミナルのプログラムは DECSCUSR で自分用に形や点滅を変えられます。 ターミナルをリセットすると、設定したスタイルに戻ります。

ステータスバーにネットワーク速度が出ない、または違う値が出る

速度には 2 回のサンプルが必要なので、バーを有効にしてから数秒待ってください。auto は 1 つの主要インターフェイスを測ります。 VPN や複数のアダプタのせいでそれが違うものになる場合は、設定 ▸ ターミナル でインターフェイス名を入力してください。 存在しないインターフェイスを明示すると、速度は表示されません。バーは SSH のペインでも常にローカルの Mac を報告し、 熱状態の段階は温度ではなく macOS の分類です。狭いウインドウではバーが切り詰められることがあります。クリックすると選んだ値がすべて表示されます。

テーマエディタで保存できない

不正な 16 進の色があると、保存が無効になります。エディタを開いている間に設定ファイルのそのカスタムテーマが変更された場合は、 その変更を上書きしないよう、エディタを閉じて開き直してから保存してください。

インターフェイスの言語が違う

Corta は、macOS が Corta 用に選んだ言語に従います(システム設定 ▸ 一般 ▸ 言語と地域 ▸ アプリケーション)。変更したら Corta を 再起動してください。数値の書式は地域に従うので、言語と異なることがあります。


アップデート

アップデートを確認… で何も見つからない

Corta は、main ブランチの appcast.xml と、バージョン文字列ではなく ビルド番号 を比べます。タグが付いて下書きはできているが まだ公開されていないリリースは、フィードに載っていません。公開されると、リリースのパイプラインがフィードに署名して検証し、 プルリクエストを開き、CI を待ってからスカッシュマージするか自動マージを有効にします。フィードのチェックが失敗したり止まったりすると 配信が遅れることがあるので、リリースが GitHub に現れてから少し時間をおいてください。update-auto-check = false が無効にするのは 1 日 1 回のバックグラウンド確認だけで、メニュー項目は常に使えます。


元のターミナルに戻る

ファイルを削除する前に Corta を終了してください。アプリのデータを削除する前に、管理されているリモート編集のコピーに 未保存の作業がないか確認してください:

  1. シェル統合、設定 ▸ ターミナル からインストールした場合:そこで削除するか、シェルの起動ファイルの # >>> Corta shell integration >>> と # <<< Corta shell integration <<< の間のブロックを削除します—— ~/.zshrc、bash では ~/.bashrc と ~/.bash_profile(または ~/.bash_login / ~/.profile)、 あるいは ~/.config/fish/config.fish。そのファイルのほかの部分は Corta のものではありません。
  2. セキュリティキーボード入力 は、Corta が終了すると自分で解除されます。ウインドウがキーウインドウのまま Corta を強制終了し、 ほかの場所で入力がブロックされているように見える場合は、Corta を一度起動して終了してください。終了時にカウンタの帳尻が合います。
  3. 設定と状態:~/.config/corta/(設定ファイル)と ~/Library/Application Support/Corta/(ウインドウの配置、 ディレクトリ履歴、管理されているリモート編集のコピー)。まだ必要なローカルの編集を保存してから削除してください。 レンダラーは ~/Library/Caches/dev.noahqin.Corta/ にも使い捨てのキャッシュファイルを置いています。これらは削除してかまいません。
  4. Corta.app をゴミ箱に入れます。

そして、もしよければ、Went back to my old terminal フォームで issue を作成し、戻ることにした理由を教えてください。再現手順は不要です。足りない機能、描画のバグ、 「なんとなく遅く感じた」——どれもプロジェクトが動くきっかけになる答えです。