ブラウザでSSHログインして操作できるShell In A Boxが便利だった(Mac)

Webブラウザ経由でCLI実行できるの助かる。

shellinabox/shellinabox: Official-ish Fork of Shell In A Box

ターミナル横に開けばええやないかいとか思われそうだが、いやブラウザで開けるところに価値がある。特にブラウザとしてVivaldi使っていると、Webパネルという機能でサイドバーにWebアプリを開けるのだけれど、この組み合わせが非常に強力。CLIの簡単さとブラウザの強力なGUIが組み合わさって非常に強い。

開発自体はだいぶ前に止まっている模様。また、日本語の入力が厳しそうな感じだったので、そのうち別アプリも試したい。本格的に開発で使うぞっていうのではなく、いくつかのCLIツールを実行できるだけでハッピーなので、とりあえずヨシ!

目次

環境

  • M2 Pro Mac mini
    • macOS Sonoma 14.8.1
  • ShellInABox 2.20

インストールと使い方

インストール

homebrewで一発だった。

brew install shellinabox

使い方

そして利用はこれだけ。

shellinaboxd -t

-tはhttpsの無効化。LANでしか使わないので。

http://IPアドレス:4200にブラウザアクセスしたら、あとは普通に使える。

LAN内の別PCからもアクセスできる。sshログインするより楽かもしれない。

オプション

以下は使いがち

  • -t: http接続(https無効)
  • -h: ヘルプ表示
  • --no-beap: ブラウザ経由で音を出さない
  • -p ポート番号: 起動するポート番号を変更する
  • --version: バージョン番号の表示

Macで自動起動するplist

こいつを例によって $(HOME)/Library/LaunchAgents/において launchctl loadする。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- ドメインは自分ので調整 -->
    <key>Label</key>
    <string>com.example.shellinabox-m2</string>

    <key>ProgramArguments</key>
    <!-- パスとオプション調整 -->
    <array>
        <string>/opt/homebrew/bin/shellinaboxd</string>
        <string>-t</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>

    <!-- ログも好きな場所に調整 -->
    <key>StandardOutPath</key>
    <string>/tmp/shellinabox-m2.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/shellinabox-m2-error.log</string>
</dict>
</plist>

日本語問題

そのままだと日本語が化けた。

LANGを設定すると表示できる。

export LANG=ja_JP.UTF-8

でも入力はつらそう

これは解決できていない。強いて言えば日本語を使わない

VivaldiのWebパネルとの相性がよい

リアルで使っている人を自分以外見たことがない系マイナーブラウザの中ではメジャーブラウザVivaldiには、Webパネルという機能がある。このWebパネルは便利だ。サイドバーにWebサイトを表示できるのだが、これによってサイドバーにターミナルを出現させることが可能

これは個人的に非常に便利だ。CLIの作業はけっこうブラウザで手順書を見ながらやることが多い。コンテナ作る時とかね。特にインフラ周りの作業だとけっこうあるはず。

また、自作のスクリプトなどはわざわざGUIにするのがめんどくさいなので、コマンドまんまだったりTUIだったりする。僕の場合はサイト管理のためにいくつかのツールを作っているのだが、サイトを閲覧しながらツールを実行できるのは、けっこう快適である。

たとえば以下は、記事を編集しながら、その隣でwp-mkimgなるWordPressサイト向けの自作コマンドを実行しようとしている。これができるのはけっこう嬉しかったりする。LAN内のどのPCからもできるし。

lazydockerとかhtopを使ってブラウザを見ながらリソース管理することも可能だ(やりたいかは知らない)。

所感

ブラウザ経由でよく使うCLIツールを使いたいという第一の欲求は満たせた。とりあえずよかった。日本語問題は今後困りそうなので、別のも試したい。

っていうか、最初はttydを試したのだけれど、動かなかったんだよねぇ。

この記事をいいなと思っていただけた方、よければ高評価・チャンネル登録……はないので、コメント・SNSでシェア・ブックマーク、RSSフィード登録を、よろしくお願い致します。

コメント

コメントする

目次