Skip to content

Linuxターミナル サーバー

ブラウザ内の完全なUbuntuターミナル — シミュレーションではなく、WebContainerでもなく、WSLでもありません。bash、apt、sudo、ツールチェーン全体(Node、Python、Goなど)と、シェルから直接RoqueOSデスクトップを制御するための roqueos-cli がプリインストールされたUbuntu 22.04を実行する ユーザーごとに分離されたDockerコンテナ です。

htopが動作するターミナル

何が違うか

  • 🐧 本物のUbuntu 22.04 ホストのLinuxカーネル付き(シミュレーションではない)
  • 👤 ユーザーごとに分離 — 各ログインに専用コンテナ、永続ホーム、分離されたプロセス
  • 🔐 パスワードなしのsudo コンテナ内(他のユーザーに影響を与えずに、自分の環境のrootである)
  • 💾 永続ホーム Dockerボリュームで — /data/roqueos/users/<your-id>/ に存在し、セッション間で生き残る
  • 🛠️ プリインストールパッケージ: Node.js 22、Python 3、Go、Rust toolchain、Git、curl、wget、htop、vim、nano、jq、build-essential
  • 🌐 ネットワークアクセス 完全 — HTTPサーバーを実行し、ファイルをダウンロードし、外部DBに接続できる
  • 🤖 roqueos-cli プリインストール — RoqueOSデスクトップを呼び出す(通知、アプリを開く、ファイルを作成)

開き方

Launchpad → Terminal。初回はコンテナのspin upに~5秒かかる(その後は瞬時)。複数インスタンスOK — 必要なだけ開きます。

実際の使用例

迅速なメンテナンススクリプト:

bash
# 古いログから/tmpをクリーンアップ + 終了時に通知
find /tmp -name "*.log" -mtime +7 -delete
roqueos-cli notify "クリーンアップOK" "7日以上のログを削除"

新規プロジェクトのセットアップ:

bash
cd ~/projects
git clone https://github.com/your/project
cd project
yarn install
yarn dev &  # バックグラウンドで実行
roqueos-cli open-url "http://localhost:5173"  # Roque Browserで開く

モニタリングのcron:

bash
crontab -e
# 貼り付け:
0 9 * * * df -h | awk '$5+0 > 80 {system("roqueos-cli notify \"ディスクが満杯\" \"" $6 " " $5 "\"")}'

Ad-hocパイプライン:

bash
# サーバーのログをストリーミング + "ERROR"が表示されたら自動アラート
docker logs -f roqueos-server 2>&1 | \
  grep --line-buffered ERROR | \
  xargs -I{} roqueos-cli notify "RoqueOSエラー" "{}"

roqueos-cli — シェルからデスクトップを制御

RoqueClaw が使用するのと同じCLI。Terminalで roqueos-cli --help を実行して完全なリファレンスを参照 — これが信頼の源です。

6つの正規アクション:

roqueos-cli notify       <title> <message>      # デスクトップへの通知
roqueos-cli open-app     <appId>                # アプリを開く(finder、vscode、browserなど)
roqueos-cli open-url     <url>                  # Roque BrowserでURLを開く
roqueos-cli create-file  <path>                 # stdinから内容を読んでファイルを作成
roqueos-cli run-terminal <command>              # コマンドを実行 + stdoutを返す
roqueos-cli show-dialog  <message> [--type X]   # confirm/alert/infoのモーダル

実践例:

bash
# 通知
roqueos-cli notify "タイトル" "メッセージ"

# RoqueOSアプリを開く
roqueos-cli open-app finder

# Roque BrowserでURLを開く
roqueos-cli open-url "https://github.com"

# Finderにファイルを作成(stdinを読む)
echo "ミーティングノート..." | roqueos-cli create-file "/home/user/notes/reuniao.md"

# コマンドを実行 + 通知として出力を返す
roqueos-cli run-terminal "df -h"

# 確認モーダル(応答を待つ)
roqueos-cli show-dialog "古いログ50GBを削除しますか?" --type confirm

構文は 位置引数 を使用します(--title/--message フラグではありません)。CLIのバージョンが異なる場合は、コンテナ内で apt-get install --reinstall roqueos-cli で更新してください。

完全なドキュメント: RoqueClaw + CLI

共有ファイルシステム

Terminalの /home/user/ のファイルは FinderVS Code に表示されるのと 同じ です。すべてが同期されています:

  • VS Codeでコードを保存 → Terminalの ls に表示
  • Finderでフォルダを作成 → Terminalで cd 機能
  • Terminalで wget ダウンロード → Roque BrowserでFinderに表示

同じファイルシステムを表示するTerminal + Finder並んで

コンテナリソース

リソースデフォルト
メモリRAM2 GB(env CONTAINER_MEMORY_LIMIT で設定可能)
CPU2コア共有
ディスク専用Dockerボリューム
ネットワークBridge roqueos-network(サーバーの他のコンテナにアクセス)
イメージroqueribeiro1988/roqueos-server-ubuntu:latest(Ubuntu 22.04)

xterm.jsショートカット

ショートカットアクション
Ctrl+Shift+C選択をコピー
Ctrl+Shift+V貼り付け
Ctrl+Shift++ / Ctrl+-フォントサイズの拡大/縮小
Ctrl+Shift+Fバッファ内検索
Ctrl+L (bash)ターミナルをクリア
Ctrl+Dログアウト / シェルを閉じる
Ctrl+Rbashの履歴で逆検索

モバイルでのタッチ入力はネイティブでサポート(xterm.jsが検出)。

セッション間の永続性

/home/user/(およびすべてのサブフォルダ)は、アプリの閉鎖、コンテナの再起動、RoqueOS Serverのアップデート(install.sh --update)の間で永続化 されます。Dockerボリューム roqueos-userdata-<uid> を手動で削除するか、サーバーをゼロから再作成する(docker compose down -v)場合にのみ失われます。

追加パッケージのインストール

bash
sudo apt update
sudo apt install -y <package>

パッケージは あなたの ユーザーのコンテナに保持されます — 同じサーバーの他のユーザーには表示されません。良い習慣: /home/user/.bashrc にインストールしたパッケージを記録して、コンテナが再作成された場合に再インストールできるようにします。

xterm直接 / WSLとの違い

側面RoqueOS TerminalWSL / xterm ローカル
セットアップ0秒(既に実行中)Linux + dist + setupをインストール
アクセスログインしたどのブラウザでもあなたのマシンのみ
マルチデバイス✅ 携帯電話が同じホームにアクセス
永続性サーバーのDockerボリュームローカルディスク
分離コンテナ per-user共有
パフォーマンスserver↔browserレイテンシネイティブ

参照