ネットワークエキスパートが利用する高機能ユーザインターフェイスを個人端末でも使ってみませんか? opensh は、アプリケーションランチャーとして利用できる、MacOS向け高機能シェルです。
MacOSヘビーユーザに向けたメッセージ:
目的のアプリやファイルにできるだけ少ない操作でたどり着きたい。
素早く処理をするために、キーボードのみで操作を完結したい。
finderで探していくのもいいけど、spotlight検索するのも良いけど、
shellでパッパッパとたどり着きたい。キーストロークを減らすために、
2byte文字入力モードなんかに出入りしたくない。
そんな人に試してもらいたいです。
とりあえず試したい人はこちら:
下の方にお試し版バイナリプログラムのダウンロード・リンクがあります。
シェルとは?
シェルとは、コンピュータを操作するためのユーザインターフェイスであり、ユーザからコマンド入力を受け付けるソフトウェアです。本プロジェクトでは、テキスト端末上で動作するテキスト型シェルに注目し、この機能改善と、新しいソフトウェアの提供を目指しています。
高い技術を持つコンピュータ・エンジニアは、テキスト型シェルを操作して自在にコンピュータを操ります。とりわけ、インターネットの中継装置であるルーターを操るエキスパートネットワークエンジニアは、コマンド補完機能を備えた、特殊なシェルを駆使して、複雑なルーター機能を設定します。今回、ルーターに装備された高機能シェルと同等の機能を持つシェルを個人端末でも利用できるように、ソフトウェアを開発しました。マウスを触らず、キーボードのみで色々なアプリケーションを起動したり、ファイルを開いたりすれば、魔法使い(ウィザード)のようなコンピュータの操作ができます。高い技術を持つエキスパートネットワークエンジニアや、それを目指すユーザは、このソフトウェアを使って新しいユーザインターフェイスを楽しむことができます。
また、昨今UTF-8技術の浸透により、日本語フォルダ名、日本語ファイル名を扱うことが広く行われるようになってきましたが、これまでのシェル端末では、日本語を含むファイル名を(入力モードを変更することなしに)自在に指定することができませんでした。この問題に、opensh のファイル選択機能(fselectモード)は新しい可能性を提示します。
チームの紹介
作成者はソフトウェア製のルーターを個人で製作しています。ルーターソフトウェアに部品として必要となるシェルを、他の用途にも役立てられないか、自分の環境でも使えないか、という発想からこのプロジェクトは生まれました。このプロジェクトで支援されたシェルソフトウェアは、今後も開発を継続し、作成者の今後のルーター等開発物に活用される予定です。
注意事項
このプログラムの古いソースコードは、作成者である私の github にて GPLv3 で公開しています。基本的な機能はその古いソースコードでも実現されている可能性が高いため、このプロジェクトにお金を払わなくても、github に公開されているソースコードをコンパイルすることで、基本的な機能を利用することができます。コンパイルせずに最新のプログラムを利用したい場合、最新のソースコードを閲覧し個人利用したい場合や、本プロジェクトを経済的に支援したい場合にのみ、本プロジェクトのバイナリ版やソースコード版をご購入ください。
本プロジェクトのリターンとなる配布物のライセンス(利用許諾)は、バイナリプログラムもソースコードも、再配布不可のプロプラエタリライセンスとする予定です。ソースコードは、参照・改変し個人利用することは許諾されますが、それを再配布することは商用・非商用とも許されません。
本プロジェクトの配布物は、購入者個人の利用を前提としたものです。商用への再利用や、再配布を前提とした購入はお辞めください(ライセンス違反となります)。このソースコードの商用製品への再利用・再配布や、技術的なサポートの継続については、別のライセンス契約を用意する予定です。ご興味があれば、作者に個別にご相談ください。
製品(配布物)の紹介
本格的な通信ネットワーク装置(その代表としてのルーター)には、ネットワーク業界の永年の技術的検証とその改善の蓄積を経て、多くの機能を持つ便利なシェルが備わっています。このネットワーク業界の技術の蓄積による便利なシェルを、個人の生活や仕事(開発)にも役立てられるのではないか、と考えており、今回 MacOS 用のシェルの一選択肢として、opensh を開発しました。
opensh は、ルーターライクなシェルインターフェイスを使って、フォルダ移動や、ファイルやディレクトリを対象とする "open" コマンドを容易に実行するための、ターミナル用シェルです。'?' キーによるコマンドの候補の一覧機能や、TABによるコマンドの補完、ファイル名の補完モード('>')などを備えています。
特に、UTF-8日本語ファイル名を利用した場合に、補完の選択肢の間の決定に、日本語入力を必要としないように、fselect (file-select) モードを実装しました。日本語のディレクトリやファイルがある場合に、cd でそのディレクトリに移動したり、open で日本語ファイル名のファイルを開く場合には、opensh は、fselect モードによるファイル名補完による強力な支援とガイドを実現します。
MacOS で opensh を使うと、日本語(UTF-8)の名前の付いた、ディレクトリや pdf, pptx, xlsx, docx ファイルを、素早く簡単に開くことができます。
本プロジェクトのデモ動画をぜひご参照ください。
機能一覧
・シェルコマンドライン上での emacs 編集操作
・カーソル移動:Ctrl-A, Ctrl-E, Ctrl-F, Ctrl-B
・カット・ペースト機能:Ctrl-K, Ctrl-Y
・コマンドクリア:Ctrl-U
・コマンドワード編集:Ctrl-W, Ctrl-[ + Ctrl-H
・ヒストリ機能:Ctrl-P, Ctrl-N
・コマンド補完候補一覧:'?'
・コマンド補完機能:TAB
・ファイル名・ディレクトリ名補完モード:'>'
・ディレクトリの移動、ファイル一覧:cd, ls, '?'
・ファイルを開く:open・シェル呼び出し:bash/dash/csh/tcsh/zsh
・新しい端末ウィンドウの呼び出し:terminal
お試し版バイナリプログラム
・ダウンロードリンク: https://bit.ly/49aDhs1
・MacOS用 pkg インストーラがダウンロードできます。
・インストールすると、/usr/local/bin/opensh としてインストールされます。
・アンインストールする場合は、このファイルを rm してください。
・お試し版には、連続起動時間: 5分、コマンド実行期限: 2024年3月末まで、などの制限がついています。
・お試し版は、無保証、自己責任での利用をお願いします。
・opensh-1.01h-90defa0.pkg / Developer ID Installer: Yasuhiro Ohara (7FP4CWKTCR)
リターンについて
プログラムの配布は、配布用のサイトを設置し、そのサイトにて2024年6月から2024年12月末の半年間の期限付きで実施します。購入者には、メールアドレスにパスワードを送付しますので、配布用サイトにメールアドレスとパスワードでログインしていただき、購入したバイナリ形式もしくはソースコード形式のプログラムをダウンロードしていただきます。
サポートについて
・動作保証しません。購入価格は、バイナリプログラムについては支援の意味合いが強いものとして、ソースコードについては支援に加えて参考実装ソースコードの販売として、安価に設定されていることをご了承ください。
・どのような状況でも返金の要求は受け付けません。ご了承の上ご購入ください。
・バイナリプログラムの使い方については、配布用サイトに簡単な使い方マニュアルページを用意します。
・バイナリプログラムの動作の問題の報告は、電子メールで受け付けます。バイナリプログラムの問題については、基本的に電子メールの返信はしない予定です。明確な問題を作者が認識した場合には、上記使い方マニュアルページを更新することによって返答します。必要に応じて、プログラムを修正した新しいバージョンを配布し直す可能性があります。
・ソースコードのコンパイルの際の問題や、その解消については、問題が明確で、解決法の有無や解消法が明確である場合に限り、できるだけ電子メールで返答する予定です。
製品情報・仕様
バイナリプログラム版:(ユニバーサルバイナリ)
Intel CPU:macOS 10.5 Leopard 以上
Apple Silicon:macOS 11.0 Big Sur 以上
動作確認済み:macOS Ventura 13.5.1 on Apple M1 Max (MacBook Pro 16-in 2021).
配布形式:distribution形式のpkgを同梱したディスクイメージ (dmg).
バイナリプログラムを利用するためには、macos が動作するコンピュータが必要です。
ソースコード版:C言語 約5,000行
ソースコード版にはコンパイル用 autoconf ファイルなどが付属
配布形式:tar.gz
ソースコードをコンパイルするためには、macos が動作するコンピュータと、
そのコンピュータに Command Line Tools for Xcode と Homebrew の Autotools パッケージの二つの
ソフトウェアがインストールされている必要があります。
資金の使い道について
設備費(サーバホスティング):約30万円
法務相談:約10万円
CAMPFIRE掲載手数料・決済手数料:約9万円
目標金額以上の支援金は、主に開発人件費・開発管理費に使用します。
スケジュールについて
2024年3月末 クラウドファンディング終了
2024年5月 配布サイト準備
2024年6月 配布サイトオープン
2024年6月〜12月末 配布サイトにてダウンロード
2024年6月〜12月末 電子メールによるダウンロードとコンパイル・利用に関するサポート(ベストエフォート)
将来的な開発項目の候補
ご支援いただくと、以下の機能が拡充される可能性があります。
・UTF-8文字列の長さ判定と削除機能
・空白入りファイル名とコマンドワード境界の判定に関する抽象的処理の枠組みの開発
・ソート関数の修正、機能拡張
・キーマップなど個人設定の変更・保存・読み込み機能
・継続的な販売体制の確立
・Windows や Linux でのサポート。OSや必要アプリケーションなど、動作環境の確認の拡大。
・SDK(商用製品での再利用のためのソフトウェア)の販売
FAQ
・バイナリプログラムはどの macos バージョンで動きますか。
Apple Silicon macos Ventura 13.5.1 での動作を確認しています。Intel CPU では macos 10.5 以上、Apple Silicon では macos 11 以上の対応を予定しています。
・ソースコードのコンパイルにはどのような環境が必要ですか。
Xcode + homebrew での autotools + gcc でコンパイルと動作を確認しています。
・Windows では動きますか。
バイナリプログラムは macos のみをサポートします。ソースコードはコンパイルにより動作する可能性がありますが、動作保証しません。
・Linux では動きますか。
バイナリプログラムは macos のみをサポートします。ソースコードはコンパイルにより動作する可能性がありますが、動作保証しません。macos 専用の特別機能は基本的には使っていないので、Linux では、コンパイルにより動作する可能性は高いと思われます。
・バグレポートはどこに送付すれば良いですか。
配布サイトにて公表するサポート用電子メールで受け付ける予定です。
・機能要求はどこに送付すれば良いですか。
配布サイトにて公表するサポート用電子メールで受け付ける予定です。
<募集方式について>本プロジェクトはAll-or-Nothing方式で実施します。目標金額に満たない場合、計画の実行及びリターンのお届けはございません。
最新の活動報告
もっと見るご支援ありがとうございました
2024/04/06 15:14opensh のクラウドファンディングプロジェクトへのご支援、誠にありがとうございました。金額に依らず、皆さんの一つ一つの支援の反応、振る舞いが、大きな精神的な支えになりました。すごくやる気が出ました。本当にありがとうございます。大変残念ですが、目標金額は達成できませんでした。目標金額50万円のところ、26人の方に 22万5500円を支援していただきました。All-or-Nothing方式という、成功しない限り取引発生しない形式でやっておりましたので、支援はキャンセルという形になります。私にとって初めてのクラウドファンディングでしたが、色々経験になりました。動画を撮影して X(旧ツイッター)にアピールするというやり方を覚えましたので、今後も続けていきます。また、その動画アピールを通じて、MacOS/shell/Unix/ネットワーク管理を好む、同じ価値観を持つ人たちの輪を広げていきたいと思っています。今回は時間が足りなくて、同じ価値観の人たちに十分届かなかった、という感想です。今後は、DPDKルータ開発や OSPF講義などを主題として、楽しいテーマを届けていく予定です。今後も X などでご意見ご反応いただけると幸いです。ネガティブなもの、細かいものでも構いません。「こんなものが欲しい」と言っていただければ、作れるかもしれません。リツイートだけでも大変助かりますので、引き続き、ご支援をよろしくお願いいたします。 もっと見る
コメント
もっと見る