HN 日本語サマリー

← 一覧へ戻る
プログラミング

Astroterm: ターミナル用のプラネタリウム

Astroterm: A Planetarium for Your Terminal (github.com)

56 pointsby nvmdbljstm3 コメント

要約

Astrotermは、C言語で書かれたターミナルベースの星図アプリケーションです。日付、時刻、場所を設定することで、リアルタイムの星、惑星、星座などの位置をASCIIアートで精密に表示します。Arch Linux、Fedora、Homebrew、Nix、Guixなどの主要なパッケージマネージャーからインストール可能で、ビルド済みの実行ファイルも提供されています。

全文翻訳

🌌 astroterm

[画像: Test Status] [画像: codecov] [画像: Latest release] [画像: License: MIT]

astrotermは、Cで書かれたターミナルベースの星図です。望遠鏡なしで、ターミナル内で星、惑星、星座などのリアルタイムの位置を表示します。日付、時刻、場所で空の表示を設定でき、正確なASCIIレンダリングによる視覚化が可能です。サポートされているすべてのオプションについては、使用法を参照してください!

astrotermは常に改善されており、皆様からのアイデアをお待ちしています!提案がある場合やバグを見つけた場合は、イシューを開いてフィードバックをお寄せください。astrotermのビルド、テスト、貢献に関するガイドラインについては、CONTRIBUTING.mdを参照してください。

[画像: 2025年1月2日のシンガポール上空の夜空]

2025年1月2日のシンガポール上空の夜空
この表示を得る方法については、使用法を参照してください

目次

機能

  • 🔭 高度にカスタマイズ可能: 日付、時刻、場所を選択して、過去、現在、または未来の天体イベントを探索できます
  • 📐 正確なレンダリング: ターミナルグラフィックスで可能な限り精密に、月、星、惑星を表示します
  • 🌘 月の満ち欠け: リアルタイムで正確な月の満ち欠けを表示します
  • 🌌 星座の図: 詳細な星座の形状を表示します
  • ⚡ パフォーマンス最適化: 軽量で高速なASCIIレンダリング

[画像: 2025年1月6日のシドニー上空の星々]

2025年1月6日のオーストラリア、シドニー上空の星々

インストール

プラットフォームに応じて、いくつかのインストール方法が提供されています。これらのいずれもニーズに合わない場合は、いつでもソースからビルドできます。問題の解決に役立つトラブルシューティングを参照してください。

[画像: パッケージの状態]

Arch Linux

pacmanを使用して、extraリポジトリからastrotermをインストールできます。

pacman -S astroterm
Fedora

Fedora 40以降では、Fedoraパッケージリポジトリから直接astrotermをインストールできます。

sudo dnf install astroterm
Homebrew

Homebrewから以下のコマンドでastrotermをインストールできます。

brew install astroterm
Nix

以下のコマンドで一時的な環境でパッケージを試すことができます。

nix-shell -I nixpkgs=channel:nixpkgs-unstable -p astroterm --command astroterm

引数フラグは、コマンドを引用符で囲むことで追加できます。例:

nix-shell -I nixpkgs=channel:nixpkgs-unstable -p astroterm --command "astroterm -u -c"

astrotermを$PATHから利用可能にするには、configuration.nixに追加します。

environment.systemPackages = with pkgs; [
  ...
  astroterm
]
Guix

Guixメインチャネルから直接astrotermをインストールできます(このコミット以降)。

guix time-machine --commit=4b5f0408e66392ab745dc0f7830732217d88f17d -- shell astroterm

またはguix pullの後:

guix shell astroterm -- astroterm --help  # 試す場合
guix package --install astroterm          # 現在のプロファイルに追加
事前ビルド済み実行ファイル
Unix
  1. wgetを使用して最新の実行ファイルをダウンロードします

    wget -O astroterm "https://github.com/da-luce/astroterm/releases/latest/download/astroterm-<os>-<arch>"
    
    • <os>を適切なプラットフォームに置き換えてください:
      • Linux: linux
      • macOS: darwin
    • <arch>を適切なアーキテクチャに置き換えてください:
      • Linux: x86_64 (Ubuntu arm64ランナーが利用可能になった後にarm64サポートが追加される予定です)
      • Apple Silicon (Mシリーズ): aarch64
      • IntelベースのMac: x86_64
    • サポートされているすべての組み合わせを表示するには、リリースページを参照してください。
  2. 実行可能ファイルを実行します

    chmod +x ./astroterm
    ./astroterm
    
Windows
  1. PowerShellのInvoke-WebRequestを使用して最新の.exeファイルをダウンロードします:

    Invoke-WebRequest -Uri "https://github.com/da-luce/astroterm/releases/latest/download/astroterm-win-x86_64.exe" -OutFile "astroterm.exe"
    
  2. .exeを実行します

    .
    

itroterm.exe
```

ソースからのビルド

使用法

オプション

--helpフラグは、サポートされているすべてのオプションを表示します。

Usage: astroterm [OPTION]...

  -a, --latitude=<degrees>  観測者の緯度 [-90°, 90°] (デフォルト: 0.0)
  -o, --longitude=<degrees> 観測者の経度 [-180°, 180°] (デフォルト: 0.0)
  -d, --datetime=<yyyy-mm-ddThh:mm:ss>
                            観測日時 (UTC)
  -t, --threshold=<float>   この等級より明るい星のみをレンダリングします
                            (デフォルト: 5.0)
  -l, --label-thresh=<float>
                            この等級より明るい星にラベルを付けます (デフォルト:
                            0.25)
  -f, --fps=<int>           フレームレート (デフォルト: 24)
  -s, --speed=<float>       アニメーション速度倍率 (デフォルト: 1.0)
  -c, --color               ターミナルカラーを有効にします
  -C, --constellations      星座の線を描画します。注: 図形を構成するすべての星が
                            閾値を超えている場合にのみ星座が描画されます
  -g, --grid                方位グリッドを描画します
  -u, --unicode             Unicode文字を使用します
  -b, --braille             星座の線にブライユ文字を使用します (Unicodeが必要です)
  -q, --quit-on-any         任意のキー入力で終了します (デフォルトは'q'または
                            'ESC'のみで終了)
  -m, --metadata            メタデータを表示します
  -r, --aspect-ratio=<float>
                            計算されたターミナルセルのアスペクト比を上書きします。
                            投影が「正方形」でない場合に使用します。約2.0の値は
                            ほとんどの場合うまく機能します
  -h, --help                このヘルプメッセージを表示します
  -B, --bash-completions    bash補完を表示します
  -i, --city=<city_name>    指定された都市の緯度と経度を使用します。
                            名前に複数の単語が含まれる場合は、名前を単一または二重引用符で囲んでください。利用可能な都市のリストについては、以下を参照してください:
                            https://github.com/da-luce/astroterm/blob/main/data/
                            cities.csv
  -v, --version             バージョン情報を表示して終了します
シェル補完

Bashでタブ補完を有効にするには、~/.bashrcに以下の行を追加します。

source <(astroterm --bash-completions)
例1

README GIFに示されている「回転する地球」効果を得るには、次のフラグを使用します。

astroterm --color --constellations --speed 10000 --fps 64 --city Singapore

または、短く

astroterm -cC -s 10000 -f 64 -i Singapore

実際、赤道付近の都市であればどれでも機能します。極に近い場所では、星の見える動きが空を横切るのではなく天の極を中心に円を描くため、見た目が異なります。

例2

1969年7月16日の朝、アポロ11号打ち上げの朝、フロリダ州ケネディ宇宙センターでの空を午前5時(東部標準時)に見たいとします。次のように実行します。

astroterm --latitude 28.573469 --longitude -80.651070 --datetime 1969-7-16T8:00:00

正確な座標を見つけるのは面倒な場合があるため、最寄りの大都市を使用して同様の結果を得ることもできます。

astroterm --city Orlando --datetime 1969-7-16T8:00:00 -m

まだタイムマシンが発明されるのを待っている間、Stellariumを使用して、これが現実に合致するかどうかを確認することで少しごまかすことができます。

次に星座を表示して色を追加したい場合は、--constellations --colorオプションを追加します。

現在の時刻を表示したいだけであれば、--datetimeオプションを指定しないでください。astrotermはシステム時刻を使用します。現在地を表示するには、--latおよび--longオプションを指定するか、--cityオプションで最寄りの都市を指定する必要があります。

その他のオプションやヘルプについては、astroterm -hまたはastroterm --helpを実行してください。

ヒント

LatLongのようなツールを使用して、緯度と経度を取得してください。

ヒント

星の等級は、見かけの明るさが増すにつれて減少します。つまり、より多くの星を表示するには、閾値を上げてください。

トラブルシューティング

Curl経由でのリリースダウンロードに失敗する

何らかの理由で、curlは最新リリースのリダイレクトを追跡しません。最新リリースをダウンロードするにはwgetを使用するか、curlでリンク内のタグをハードコードしてください。または、リリースページからダウンロードしてください。

LinuxでのUnicodeの破損

ターミナルでUnicode文字が正しく表示されない場合は、システムのロケールをUnicodeをサポートするように設定する必要がある場合があります。

  1. ロケールを一時的に設定します(永続的に強制するには、これを~/.bashrcまたは同等のものに追加します)。
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
  1. ロケールをインストールして設定します(Ubuntu/Debianの例)。
sudo apt update
sudo apt install -y locales
sudo dpkg-reconfigure locales

設定中に、en_US.UTF-8をデフォルトのロケールとして選択します。

引用

このプロジェクトの開発に不可欠であった以下のリソースに多大な感謝を捧げます。

データソース